Add docker

This commit is contained in:
Andros Fenollosa 2024-10-27 16:29:07 +01:00
parent a592716528
commit 19ede6d147
3 changed files with 57 additions and 0 deletions

35
docker/Dockerfile Normal file
View File

@ -0,0 +1,35 @@
# Dockerfile
FROM debian:slim
# Set environment variables
ENV URL_DNS_LIST_CUSTOM=""
ENV MAZA_DIR="/etc/maza"
ENV MAZA_SCRIPT="/usr/local/bin/maza"
# Install dependencies
RUN apt-get update && apt-get install -y \
dnsmasq \
curl \
bash \
cron \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
# Add the maza script
COPY maza $MAZA_SCRIPT
RUN chmod +x $MAZA_SCRIPT
# Configure dnsmasq
RUN mkdir -p "$MAZA_DIR" \
&& echo "conf-file=$MAZA_DIR/dnsmasq.conf" >> /etc/dnsmasq.conf
# Configure cron to update the maza list daily
RUN echo "@daily $MAZA_SCRIPT update" >> /etc/cron.d/maza-cron \
&& chmod 0644 /etc/cron.d/maza-cron \
&& crontab /etc/cron.d/maza-cron
# Expose necessary ports
EXPOSE 53/udp 53/tcp 67/udp
# Start dnsmasq and cron
CMD service cron start && dnsmasq -k

9
docker/README.md Normal file
View File

@ -0,0 +1,9 @@
# EXPERIMENTAL!
## This is a new feature and still under development. Use at your own risk.
Download `compose.yaml` and `Dockerfile` to your project directory.
```sh
docker compose up -d --build
```

13
docker/compose.yaml Normal file
View File

@ -0,0 +1,13 @@
services:
maza_dns:
build: .
container_name: maza_dns
environment:
#- URL_DNS_LIST_CUSTOM="https://raw.githubusercontent.com/StevenBlack/hosts/master/hosts"
ports:
- "53:53/udp"
- "53:53/tcp"
- "67:67/udp"
volumes:
- maza_data:/etc/maza
restart: unless-stopped