2024-12-21 05:17:04 +00:00
|
|
|
# Docker compose file for truenas apps
|
|
|
|
|
|
|
|
name: "apps"
|
|
|
|
|
|
|
|
# Network
|
|
|
|
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
attachable: true
|
|
|
|
driver: macvlan
|
|
|
|
driver_opts:
|
|
|
|
macvlan_mode: bridge
|
|
|
|
parent: eno1
|
|
|
|
enable_ipv6: false
|
|
|
|
external: false
|
|
|
|
internal: false
|
|
|
|
ipam:
|
|
|
|
config:
|
|
|
|
- subnet: "10.96.10.0/24"
|
|
|
|
ip_range: "10.96.10.224/28"
|
|
|
|
gateway: "10.96.10.254"
|
|
|
|
name: apps
|
|
|
|
|
|
|
|
services:
|
2024-12-25 06:04:30 +00:00
|
|
|
|
2024-12-21 05:17:04 +00:00
|
|
|
adguard:
|
|
|
|
container_name: adguard
|
|
|
|
image: adguard/adguardhome
|
2024-12-30 06:18:40 +00:00
|
|
|
pull_policy: always
|
2024-12-21 05:17:04 +00:00
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
ipv4_address: 10.96.10.53
|
|
|
|
link_local_ips: []
|
|
|
|
volumes:
|
|
|
|
- /mnt/hdd/apps/adguard/work:/opt/adguardhome/work
|
|
|
|
- /mnt/hdd/apps/adguard/conf:/opt/adguardhome/conf
|
|
|
|
- /mnt/hdd/apps/certbot/etc:/etc/letsencrypt
|
|
|
|
- /mnt/hdd/apps/certbot/var:/var/lib/letsencrypt
|
2024-12-25 06:04:30 +00:00
|
|
|
|
2024-12-21 05:17:04 +00:00
|
|
|
certbot:
|
|
|
|
container_name: certbot
|
|
|
|
image: certbot/dns-cloudflare
|
2024-12-30 06:18:40 +00:00
|
|
|
pull_policy: always
|
2024-12-21 05:17:04 +00:00
|
|
|
restart: "no"
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
ipv4_address: 10.96.10.11
|
|
|
|
link_local_ips: []
|
|
|
|
command: >-
|
|
|
|
certonly --dns-cloudflare
|
|
|
|
--dns-cloudflare-credentials /etc/letsencrypt/credentials.ini
|
|
|
|
--dns-cloudflare-propagation-seconds 20
|
|
|
|
--email certbot-apps@balsillie.email
|
|
|
|
--non-interactive
|
|
|
|
--expand
|
|
|
|
--no-eff-email
|
|
|
|
--agree-tos
|
|
|
|
-d adguard.balsillie.house
|
|
|
|
-d unifi.balsillie.house
|
|
|
|
-d s3.balsillie.house
|
|
|
|
-d registry.balsillie.house
|
2024-12-30 06:18:40 +00:00
|
|
|
-d sync-admin.balsillie.house
|
|
|
|
-d jellyfin.balsillie.house
|
|
|
|
-d torrent.balsillie.house
|
|
|
|
-d tv.balsillie.house
|
|
|
|
-d movies.balsillie.house
|
|
|
|
-d music.balsillie.house
|
|
|
|
-d books.balsillie.house
|
|
|
|
-d subs.balsillie.house
|
2024-12-21 05:17:04 +00:00
|
|
|
volumes:
|
|
|
|
- /mnt/hdd/apps/certbot/etc:/etc/letsencrypt
|
|
|
|
- /mnt/hdd/apps/certbot/var:/var/lib/letsencrypt
|
|
|
|
|
2024-12-25 06:04:30 +00:00
|
|
|
minio:
|
|
|
|
container_name: minio
|
|
|
|
image: minio/minio
|
2024-12-30 06:18:40 +00:00
|
|
|
pull_policy: always
|
2024-12-25 06:04:30 +00:00
|
|
|
hostname: s3.balsillie.house
|
|
|
|
restart: unless-stopped
|
|
|
|
command:
|
|
|
|
- "server"
|
|
|
|
- "--address"
|
|
|
|
- "s3.balsillie.house:9000"
|
|
|
|
- "--console-address"
|
|
|
|
- "s3.balsillie.house:443"
|
|
|
|
- "--certs-dir"
|
|
|
|
- "/etc/letsencrypt/live/adguard.balsillie.house"
|
|
|
|
- "/data"
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
ipv4_address: 10.96.10.12
|
|
|
|
link_local_ips: []
|
|
|
|
volumes:
|
|
|
|
- /mnt/hdd/s3:/data
|
|
|
|
- /mnt/hdd/apps/certbot/etc:/etc/letsencrypt
|
2024-12-30 06:18:40 +00:00
|
|
|
- /mnt/hdd/apps/certbot/var:/var/lib/letsencrypt
|
|
|
|
|
|
|
|
registry:
|
|
|
|
container_name: registry
|
|
|
|
image: distribution/distribution:edge
|
|
|
|
pull_policy: always
|
|
|
|
hostname: registry.balsillie.house
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
|
|
REGISTRY_HTTP_SECRET: VfOVfkMqoeZGpfTJqe82rz4clqrR6Wid
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
ipv4_address: 10.96.10.13
|
|
|
|
link_local_ips: []
|
|
|
|
volumes:
|
|
|
|
- /mnt/hdd/apps/registry:/etc/distribution
|
|
|
|
- /mnt/hdd/registry:/var/lib/registry
|
|
|
|
- /mnt/hdd/apps/certbot/etc:/etc/letsencrypt
|
|
|
|
- /mnt/hdd/apps/certbot/var:/var/lib/letsencrypt
|
|
|
|
|
|
|
|
sort:
|
|
|
|
container_name: sort
|
|
|
|
image: code.balsillie.net/michael/containers/upload-sorter:latest
|
|
|
|
pull_policy: always
|
|
|
|
restart: unless-stopped
|
|
|
|
environment:
|
|
|
|
WATCH_DIRS: '/sort/michael:/sort/bridie'
|
|
|
|
PHOTOS_DIRECTORY: '/photos'
|
|
|
|
RECORDINGS_DIRECTORY: '/recordings'
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
ipv4_address: 10.96.10.14
|
|
|
|
link_local_ips: []
|
|
|
|
volumes:
|
|
|
|
- /mnt/hdd/sync:/sort
|
|
|
|
- /mnt/hdd/photos:/photos
|
|
|
|
- /mnt/hdd/recordings:/recordings
|
|
|
|
|
|
|
|
sync:
|
|
|
|
container_name: sync
|
|
|
|
image: syncthing/syncthing:1
|
|
|
|
pull_policy: always
|
|
|
|
entrypoint: ["/bin/syncthing", "serve", "--config=/config", ]
|
|
|
|
command: []
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
ipv4_address: 10.96.10.15
|
|
|
|
link_local_ips: []
|
|
|
|
volumes:
|
|
|
|
- /mnt/hdd/apps/syncthing:/config
|
|
|
|
- /mnt/hdd/sync:/sync
|
|
|
|
- /mnt/hdd/apps/certbot/etc:/etc/letsencrypt
|
|
|
|
- /mnt/hdd/apps/certbot/var:/var/lib/letsencrypt
|
|
|
|
|
|
|
|
nginx:
|
|
|
|
container_name: nginx
|
|
|
|
image: nginx
|
|
|
|
pull_policy: always
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
ipv4_address: 10.96.10.16
|
|
|
|
link_local_ips: []
|
|
|
|
volumes:
|
|
|
|
- /mnt/hdd/apps/nginx/default.conf:/etc/nginx/conf.d/default.conf
|
|
|
|
- /mnt/hdd/apps/certbot/etc:/etc/letsencrypt
|
|
|
|
- /mnt/hdd/apps/certbot/var:/var/lib/letsencrypt
|
|
|
|
|
|
|
|
unifi:
|
|
|
|
container_name: unifi
|
|
|
|
image: goofball222/unifi:8.6.9
|
|
|
|
pull_policy: always
|
|
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
|
|
apps:
|
|
|
|
ipv4_address: 10.96.10.17
|
|
|
|
link_local_ips: []
|
|
|
|
volumes:
|
|
|
|
- /mnt/hdd/apps/unifi:/usr/lib/unifi/data
|
|
|
|
|