Skip to content

Commit

Permalink
Docker + CRON
Browse files Browse the repository at this point in the history
  • Loading branch information
iam-medvedev committed May 27, 2024
1 parent 2135bfb commit 828d468
Showing 1 changed file with 43 additions and 0 deletions.
43 changes: 43 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,3 +27,46 @@ Updating IP: x.x.x.x
Record for SUBDOMAIN already exists (id: rec_xxxxxxxxxxxxxxxxxxxxxxxx). Updating...
🎉 Done!
```

## Docker

There is a dockerized version of `vercel-ddns` with `CRON`.

Create 3 files in your directory:

1. `Dockerfile`.
2. `start.sh` - docker entry point
3. `dns.config` - configuration for `vercel-ddns`.

`Dockerfile`:

```dockerfile
FROM alpine:latest

WORKDIR /root

# Installing dependencies
RUN apk --no-cache add dcron curl jq bash
SHELL ["/bin/bash", "-c"]

# Cloning config and start file
COPY dns.config /root/dns.config
COPY start.sh /root/start.sh

# Cloning app
RUN curl -o /root/dns-sync.sh https://raw.githubusercontent.com/iam-medvedev/vercel-ddns/master/dns-sync.sh
RUN chmod +x /root/dns-sync.sh

# Setting up cron
RUN echo "*/30 * * * * /root/dns-sync.sh >> /var/log/dns-sync.log 2>&1" >> /etc/crontabs/root

# Starting
CMD ["bash", "/root/start.sh"]
```

`start.sh`:

```sh
# Performs the first sync and starts CRON
bash /root/dns-sync.sh && crond -f
```

0 comments on commit 828d468

Please sign in to comment.