forked from PowerDNS-Admin/PowerDNS-Admin
-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
79 lines (73 loc) · 2.07 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
version: "3"
services:
app:
image: powerdns-admin-dc
build:
context: .
dockerfile: docker/Dockerfile
container_name: powerdns_admin
logging:
driver: json-file
options:
max-size: 50m
environment:
- SQLALCHEMY_DATABASE_URI=mysql://${MARIADB_USER}:${MARIADB_PASSWORD}@mysql/${MARIADB_DATABASE}
- GUNICORN_TIMEOUT=60
- GUNICORN_WORKERS=2
- GUNICORN_LOGLEVEL=DEBUG
- OFFLINE_MODE=False # True for offline, False for external resources
- PDNS_API_KEY=${PDNS_API_KEY}
- PDNS_DEFAULT_SOA_NAME=example.com # Replace with your default SOA name
- PDNS_URL=http://pdns:8081
- PDNS_VERSION=4.8.4 # Set your correct PowerDNS version
volumes:
- ../Templates:/app/DomainConnectTemplates # Mount template repository here
depends_on:
mysql:
condition: service_healthy
pdns:
condition: service_healthy
restart: always
mysql:
image: mariadb:lts
container_name: mysql
user: "1002:1002"
command: --transaction-isolation=READ-COMMITTED
volumes:
- ./mysql-data:/var/lib/mysql # Mount your data volume here
environment:
- MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
- MARIADB_DATABASE=${MARIADB_DATABASE}
- MARIADB_USER=${MARIADB_USER}
- MARIADB_PASSWORD=${MARIADB_PASSWORD}
restart: always
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
start_period: 5s
interval: 10s
timeout: 5s
retries: 3
pdns:
image: powerdns/pdns-auth-49
container_name: pdns
ports:
- "53:53/udp"
- "53:53/tcp"
volumes:
- ./pdns-data:/var/lib/powerdns
environment:
- PDNS_AUTH_API_KEY=${PDNS_API_KEY}
- DEBUG_CONFIG=no
restart: always
healthcheck:
test: >
pdnsutil create-zone random.zone.internal && pdnsutil delete-zone random.zone.internal
|| exit 1
start_period: 5s
interval: 60s
networks:
default:
name: nginx-certbot_default
external: true
#volumes:
# mysql-data: