PHPackages                             rumd3x/dns-updater - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. rumd3x/dns-updater

ActiveProject

rumd3x/dns-updater
==================

Updates your DNS records on your DNS provider when it changes.

0.1.2(7y ago)021MITPHPPHP &gt;=7.2

Since Mar 24Pushed 7y agoCompare

[ Source](https://github.com/rumd3x/dns-updater)[ Packagist](https://packagist.org/packages/rumd3x/dns-updater)[ RSS](/packages/rumd3x-dns-updater/feed)WikiDiscussions master Synced 2d ago

READMEChangelog (3)Dependencies (8)Versions (4)Used By (0)

dns-updater
===========

[](#dns-updater)

Updates your DNS records on your DNS provider when it changes.

About
-----

[](#about)

This project is a PHP utility used to update DNS Records on multiple DNS providers. It is basically used to keep an DNS "A" Record in sync with your public IP automatically, on any provider.

Currently available providers are:

- Cloudflare
- DigitalOcean

Usage
-----

[](#usage)

### Running Locally

[](#running-locally)

This tool does not ensure that your configurations are correct. Configure your DNS settings correctly on your provider first, and use this tool only to keep the record updated.

1. Download the project locally

```
git clone https://github.com/rumd3x/dns-updater.git
# or
composer create-project rumd3x/dns-updater
```

Make sure to install the dependencies with `composer install` when using git clone.

2. Copy the `.env.example` file to `.env` and fill in the necessary parameters.

- `PROVIDER` should be either `digitalocean` or `cloudflare`.
- `KEY` Your API key of the provider. If your provider is cloudflare it should be `email@email.com;your-api-key`.
- `DOMAIN` The domain that your record belongs to, like `mysite.com`.
- `RECORD` The record that will be updated E.g. `'ddns'` for updating the record at `ddns.mysite.com`.

3. Now run the `app/bootstrap.php` file and watch your DNS records get updated.
4. Put the command to call the project on a schedule (Like a cron running it every 5 minutes or so) to make sure it is always up to date.

### Running the docker way

[](#running-the-docker-way)

You can also run this project using docker. It will run the project on a schedule (every 5 mins) by default. Just run the following command and you are good to go (refer for the environment variables definitions in the section above).

```
docker run --name dns-updater-mysite-ddns \
--env PROVIDER=cloudflare \
--env KEY=email@email.com;my-api-key-here \
--env DOMAIN=mysite.com \
--env RECORD=ddns \
--restart unless-stopped \
edmur/dns-updater
```

To check what's going on inside the container just run:

```
docker logs dns-updater-mysite-ddns
```

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity3

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

3

Last Release

2606d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/3a9bb5384975b87cebcef2b7642e2b5b3b79d0a3be614fdcbbe008f5b6ca3c08?d=identicon)[edmur](/maintainers/edmur)

---

Top Contributors

[![rumd3x](https://avatars.githubusercontent.com/u/12579932?v=4)](https://github.com/rumd3x "rumd3x (27 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/rumd3x-dns-updater/health.svg)

```
[![Health](https://phpackages.com/badges/rumd3x-dns-updater/health.svg)](https://phpackages.com/packages/rumd3x-dns-updater)
```

###  Alternatives

[laravel/framework

The Laravel Framework.

34.6k509.9M17.0k](/packages/laravel-framework)[craftcms/cms

Craft CMS

3.6k3.6M2.6k](/packages/craftcms-cms)[tempest/framework

The PHP framework that gets out of your way.

2.1k23.1k9](/packages/tempest-framework)[googleads/googleads-php-lib

Google Ad Manager SOAP API Client Library for PHP

67410.3M25](/packages/googleads-googleads-php-lib)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[pressbooks/pressbooks

Pressbooks is an open source book publishing tool built on a WordPress multisite platform. Pressbooks outputs books in multiple formats, including PDF, EPUB, web, and a variety of XML flavours, using a theming/templating system, driven by CSS.

44643.1k1](/packages/pressbooks-pressbooks)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
