Optimize docker files
This commit is contained in:
26
docker/Dockerfile
Executable file
26
docker/Dockerfile
Executable file
@ -0,0 +1,26 @@
|
||||
FROM alpine:latest
|
||||
|
||||
ENV TZ "UTC"
|
||||
ENV SCHEDULE "* * * * *"
|
||||
|
||||
## Configure runtime variables for nsupdate
|
||||
ENV NSUPDATE_CONFD_DIR="/config"
|
||||
ENV NSUPDATE_LOG_DIR="/log"
|
||||
|
||||
## Install requirements
|
||||
RUN apk update
|
||||
RUN apk add --no-cache git curl libxml2-utils tzdata
|
||||
|
||||
# Read timezone from server, so in docker-compose you can change TZ
|
||||
RUN ln -sf "/usr/share/zoneinfo/${TZ}" /etc/localtime && \
|
||||
echo "${TZ}" > /etc/timezone && date
|
||||
|
||||
COPY ../nsupdate.sh /usr/local/bin/nsupdate.sh
|
||||
RUN chmod +x /usr/local/bin/nsupdate.sh
|
||||
|
||||
COPY docker/entrypoint.sh /
|
||||
RUN chmod +x /entrypoint.sh
|
||||
ENTRYPOINT ["/entrypoint.sh"]
|
||||
|
||||
VOLUME /config
|
||||
VOLUME /log
|
18
docker/docker-compose.yml
Executable file
18
docker/docker-compose.yml
Executable file
@ -0,0 +1,18 @@
|
||||
version: '3'
|
||||
|
||||
services:
|
||||
nsupdate:
|
||||
image: nsupdate
|
||||
container_name: nsupdate
|
||||
build:
|
||||
context: https://github.com/chrisb86/nsupdate.git
|
||||
dockerfile: docker/Dockerfile
|
||||
environment:
|
||||
- SCHEDULE="*\2 * * * *"
|
||||
- TZ=Europe/Berlin
|
||||
- NSUPDATE_INWX_USER=YOUR_INWX_USERNAME
|
||||
- NSUPDATE_INWX_PASSWORD=YOUR_INWX_PASSWORD
|
||||
volumes:
|
||||
- ./data:/config
|
||||
- ./log:/log
|
||||
restart: unless-stopped
|
4
docker/entrypoint.sh
Normal file
4
docker/entrypoint.sh
Normal file
@ -0,0 +1,4 @@
|
||||
#! /bin/sh
|
||||
|
||||
echo "${SCHEDULE} sh nsupdate.sh" >> /etc/crontabs/root
|
||||
crond -l 2 -f > /dev/stdout 2> /dev/stderr &
|
Reference in New Issue
Block a user