-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
88 lines (72 loc) · 2.3 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
80
81
82
83
84
85
86
87
88
name: self-hosted
# TODO: use nginx too
services:
# Homer
homer:
image: b4bz/homer
container_name: homer
volumes:
- /home/justinhoang/self-hosted/homer:/www/assets
ports:
- 80:8080
user: 1000:1000 # default
environment:
- INIT_ASSETS=1 # default
restart: always
# Portainer
portainer:
image: portainer/portainer-ee:latest
container_name: portainer
ports:
- 8000:8000
- 9443:9443
volumes:
- portainer_data:/data
- /var/run/docker.sock:/var/run/docker.sock
restart: always
# TODO: add the unifi thingy
# # Unifi
# unifi:
# Adguard
adguardhome: # Define the service named 'adguardhome'
image: adguard/adguardhome # Use the 'adguard/adguardhome' Docker image
container_name: adguardhome # Set the container name to 'adguardhome'
restart: unless-stopped # Restart the container automatically unless stopped manually
ports: # Map container ports to host ports
# Expose port 53 on TCP and UDP for DNS queries
- "53:53/tcp"
- "53:53/udp"
# Expose port 67 on UDP for DHCP server
- "67:67/udp"
# Expose port 68 on UDP for DHCP client
# - "68:68/udp"
# Expose port 80 on TCP for HTTP web interface
- "8080:80/tcp"
# Expose port 443 on TCP and UDP for HTTPS web interface
- "443:443/tcp"
- "443:443/udp"
# Expose port 3000 on TCP for AdGuard Home's API
- "3000:3000/tcp"
# Expose port 853 on TCP for DNS-over-TLS (DoT)
- "853:853/tcp"
# Expose port 784 on UDP for DNS-over-QUIC (DoQ)
- "784:784/udp"
# Expose port 853 on UDP for DNS-over-DTLS (DoT)
- "853:853/udp"
# Expose port 8853 on UDP for DNS-over-TLS (DoT)
- "8853:8853/udp"
# Expose port 5443 on TCP and UDP for DNSCrypt
- "5443:5443/tcp"
- "5443:5443/udp"
# TODO: save blocklist somewhere
volumes: # Mount host directories as volumes inside the container
- adguard_config:/opt/adguardhome/conf # Mount '/my/own/confdir' to '/opt/adguardhome/conf'
- adguard_work:/opt/adguardhome/work # Mount '/my/own/workdir' to '/opt/adguardhome/work'
# TODO: can we stick this somewhere else?
volumes:
portainer_data:
driver: local
adguard_config:
driver: local
adguard_work:
driver: local