1
0
Fork 0
home-applications/docker-compose.yml

258 lines
7.5 KiB
YAML

version: '3'
services:
traefik:
image: traefik:v2.3.1
container_name: traefik
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- /mnt/data/docker/traefik/tls:/tls
environment:
PUID: 1000
PGID: 1000
env_file:
- traefik.env
ports:
- 443:443
command:
- --api
- --providers.docker=true
- --providers.docker.exposedbydefault=false
- --entrypoints.https.Address=:443
- --certificatesresolvers.letsencrypt.acme.tlschallenge=true
- --certificatesresolvers.letsencrypt.acme.email=${EMAIL}
- --certificatesresolvers.letsencrypt.acme.storage=/tls/letsencrypt.json
- --certificatesresolvers.ledns.acme.dnschallenge=true
- --certificatesresolvers.ledns.acme.dnschallenge.provider=cloudflare
- --certificatesresolvers.ledns.acme.email=${EMAIL}
- --certificatesresolvers.ledns.acme.storage=/tls/ledns.json
labels:
traefik.enable: "true"
traefik.http.routers.traefik.rule: Host(`traefik.${DOMAIN}`)
traefik.http.routers.traefik.entrypoints: https
traefik.http.routers.traefik.tls.certresolver: ledns
traefik.http.routers.traefik.service: api@internal
traefik.http.routers.traefik.middlewares: traefik-ips,traefik-auth
traefik.http.middlewares.traefik-ips.ipwhitelist.sourcerange: 127.0.0.1/32,172.16.0.0/12,192.168.1.0/24
traefik.http.middlewares.traefik-auth.basicauth.users: ${USERNAME}:${PASSWORD}
ha:
image: homeassistant/home-assistant:latest
depends_on:
- mqtt
container_name: ha
restart: unless-stopped
ports:
- 8123:8123
labels:
- traefik.enable=true
- traefik.backend=ha
- traefik.http.routers.ha.rule=Host(`ha.atomaka.com`)
- traefik.http.services.ha.loadbalancer.server.url=http://${SERVER_IP}:8123
- traefik.http.services.ha.loadbalancer.server.port=8123
- traefik.http.routers.ha.tls.certresolver=letsencrypt
- traefik.port=8123
volumes:
- /etc/localtime:/etc/localtime:ro
- /mnt/data/docker/ha/config:/config
gitea:
container_name: gitea
image: gitea/gitea:1.8.3
volumes:
- /mnt/data/docker/gitea/data:/data
environment:
- USER_UID=1000
- USER_GID=1000
- DISABLE_REGISTRATION=true
ports:
- 3000
- "9062:22"
labels:
- traefik.enable=true
- traefik.backend=git
- traefik.http.routers.git.rule=Host(`git.${DOMAIN}`)
- traefik.http.routers.git.tls.certresolver=letsencrypt
- traefik.http.services.git.loadbalancer.server.port=3000
wiki:
container_name: wikijs
image: linuxserver/wikijs
volumes:
- /mnt/data/docker/wikijs/data:/data
- /mnt/data/docker/wikijs/config:/config
- /etc/localtime:/etc/localtime:ro
environment:
PUID: 1000
PGID: 1000
DB_TYPE: sqlite
DB_FILEPATH: /data/database.db
labels:
- traefik.enable=true
- traefik.backend=wiki
- traefik.http.routers.wiki.rule=Host(`wiki.${DOMAIN}`)
- traefik.http.routers.wiki.tls.certresolver=letsencrypt
sonarr:
image: linuxserver/sonarr
container_name: sonarr
restart: always
ports:
- 8989
environment:
PUID: 1000
PGID: 1000
volumes:
- /mnt/data/docker/sonarr/config:/config
- /mnt/data/downloads:/data
- /mnt/data/downloads:/downloads
- /mnt/media/series/:/media
- /etc/localtime:/etc/localtime:ro
labels:
- traefik.enable=true
- traefik.backend=sonarr
- traefik.http.routers.sonarr.rule=Host(`sonarr.${DOMAIN}`)
- traefik.http.routers.sonarr.tls.certresolver=ledns
- traefik.http.routers.sonarr.middlewares=sonarr@docker
- traefik.http.middlewares.sonarr.ipwhitelist.sourcerange=127.0.0.1/32,172.16.0.0/12,192.168.1.0/24
radarr:
image: linuxserver/radarr
container_name: radarr
restart: always
ports:
- 7878
environment:
PUID: 1000
PGID: 1000
volumes:
- /mnt/data/docker/radarr/config:/config
- /mnt/data/downloads:/data
- /mnt/data/downloads:/downloads
- /mnt/media/movies/:/media
- /mnt/media/movies/:/movies
- /etc/localtime:/etc/localtime:ro
labels:
- traefik.enable=true
- traefik.backend=radarr
- traefik.http.routers.radarr.rule=Host(`radarr.${DOMAIN}`)
- traefik.http.routers.radarr.tls.certresolver=ledns
- traefik.http.routers.radarr.middlewares=radarr@docker
- traefik.http.middlewares.radarr.ipwhitelist.sourcerange=127.0.0.1/32,172.16.0.0/12,192.168.1.0/24
sabnzbd:
image: linuxserver/sabnzbd
container_name: sabnzbd
restart: always
volumes:
- /mnt/data/docker/sabnzbd/config:/config
- /mnt/data/downloads:/data
- /etc/localtime:/etc/localtime:ro
environment:
PUID: 1000
PGID: 1000
ports:
- 9052:8080
labels:
- traefik.enable=true
- traefik.backend=sabnzbd
- traefik.http.routers.sabnzbd.rule=Host(`sabnzbd.${DOMAIN}`)
- traefik.http.routers.sabnzbd.tls.certresolver=ledns
- traefik.http.routers.sabnzbd.middlewares=sabnzbd@docker
- traefik.http.middlewares.sabnzbd.ipwhitelist.sourcerange=127.0.0.1/32,172.16.0.0/12,192.168.1.0/24
organizr:
image: lsiocommunity/organizr
container_name: organizr
restart: always
ports:
- 80
volumes:
- /mnt/data/docker/organizr/config:/config
- /etc/localtime:/etc/localtime:ro
labels:
- traefik.enable=true
- traefik.backend=organizr
- traefik.http.routers.organizr.rule=Host(`organizr.${DOMAIN}`)
- traefik.http.routers.organizr.tls.certresolver=ledns
- traefik.http.routers.organizr.middlewares=organizr@docker
- traefik.http.middlewares.organizr.ipwhitelist.sourcerange=127.0.0.1/32,172.16.0.0/12,192.168.1.0/24
unifi:
image: linuxserver/unifi
container_name: unifi
restart: always
environment:
PUID: 1000
PGID: 1000
volumes:
- "/mnt/data/docker/unifi/config:/config"
ports:
- "8080:8080"
- "8081:8081"
- "8443:8443"
- "8843:8843"
- "8880:8880"
- "6789:6789"
- "3478:3478/udp"
- "10001:10001/udp"
plex:
image: linuxserver/plex
container_name: plex
network_mode: host
restart: always
environment:
VERSION: latest
PUID: 1000
PGID: 1000
volumes:
- "/mnt/data/docker/plex/config:/config"
- "/mnt/media/series:/data/tvshows"
- "/mnt/media/movies:/data/movies"
- "/etc/localtime:/etc/localtime:ro"
plexpy:
image: linuxserver/tautulli
container_name: plexpy
restart: always
volumes:
- "/mnt/data/docker/plexpy/config:/config"
- "/mnt/data/docker/plex/config/Library/Application\ Support/Plex\ Media\ Server/Logs:/logs:ro"
- "/etc/localtime:/etc/localtime:ro"
environment:
PUID: 1000
PGID: 1000
ports:
- "9055:8181"
duckdns:
image: linuxserver/duckdns
container_name: duckdns
restart: always
environment:
PUID: 1000
PGID: 1000
env_file:
- duckdns.env
volumes:
- /etc/localtime:/etc/localtime:ro
mqtt:
image: eclipse-mosquitto
container_name: mqtt
restart: always
ports:
- 1883:1883
command: mosquitto -c /mosquitto-no-auth.conf
zwavejs2mqtt:
container_name: zwavejs2mqtt
image: zwavejs/zwavejs2mqtt:latest
restart: always
tty: true
stop_signal: SIGINT
env_file:
- zwavejs2mqtt.env
environment:
- TZ=America/New_York
devices:
- /dev/zwave:/dev/zwave
volumes:
- /mnt/data/docker/zwavejs2mqtt/store:/usr/src/app/store
ports:
- '9056:8091'
- '9057:3000'