# 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: adguard: container_name: adguard image: adguard/adguardhome pull_policy: always 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 certbot: container_name: certbot image: certbot/dns-cloudflare pull_policy: always 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 -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 -d index.balsillie.house volumes: - /mnt/hdd/apps/certbot/etc:/etc/letsencrypt - /mnt/hdd/apps/certbot/var:/var/lib/letsencrypt minio: container_name: minio image: minio/minio pull_policy: always 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-0002" - "/data" networks: apps: ipv4_address: 10.96.10.12 link_local_ips: [] volumes: - /mnt/hdd/s3:/data - /mnt/hdd/apps/certbot/etc:/etc/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 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: code.balsillie.net/michael/containers/syncthing:latest pull_policy: always restart: unless-stopped command: - serve - --home=/config - --gui-address=http://10.96.10.15:8080 networks: apps: ipv4_address: 10.96.10.15 link_local_ips: [] volumes: - /mnt/hdd/apps/syncthing:/config - /mnt/hdd/sync:/sync 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 unifi: container_name: unifi image: goofball222/unifi:8.6.9 pull_policy: always environment: READENV: 'true' DB_MONGO_LOCAL: 'false' TZ: America/New_York RUN_CHOWN: 'false' DEBIAN_FRONTEND: noninteractive DB_MONGO_URI: mongodb://10.96.10.18:27017/unifi STATDB_MONGO_URI: mongodb://10.96.10.18:27017/unifi_stat UNIFI_DB_NAME: unifi restart: unless-stopped networks: apps: ipv4_address: 10.96.10.17 link_local_ips: [] volumes: - /mnt/hdd/apps/unifi:/usr/lib/unifi/data mongodb: image: mongo:5.0 container_name: mongodb restart: unless-stopped networks: apps: ipv4_address: 10.96.10.18 link_local_ips: [] volumes: - /mnt/hdd/apps/mongodb:/data/db