version: '2' services: nginx: image: nginx:alpine container_name: nginx restart: always ports: - 443:443 - 80:80 volumes: - /etc/nginx/conf.d - /etc/nginx/vhost.d - /usr/share/nginx/html - /mnt/data/docker/nginx/htpasswd:/etc/nginx/htpasswd:ro - /mnt/data/docker/nginx/certificates:/etc/nginx/certs:ro networks: - proxy nginx-gen: image: jwilder/docker-gen container_name: nginx-gen restart: always depends_on: - nginx entrypoint: /usr/local/bin/docker-gen -notify-sighup nginx -watch -wait 5s:30s /etc/docker-gen/templates/nginx.tmpl /etc/nginx/conf.d/default.conf volumes: - /var/run/docker.sock:/tmp/docker.sock:ro - /mnt/data/docker/nginx/templates/nginx.tmpl:/etc/docker-gen/templates/nginx.tmpl:ro volumes_from: - nginx networks: - proxy letsencrypt: image: jrcs/letsencrypt-nginx-proxy-companion container_name: letsencrypt restart: always depends_on: - nginx - nginx-gen volumes_from: - nginx volumes: - /var/run/docker.sock:/var/run/docker.sock:ro - /mnt/data/docker/nginx/certificates:/etc/nginx/certs:rw environment: NGINX_DOCKER_GEN_CONTAINER: nginx-gen unifi: image: linuxserver/unifi container_name: unifi restart: always environment: PUID: 0 PGID: 0 volumes: - "/mnt/data/docker/unifi/config:/config" ports: - "9058:8080" - "8081:8081" - "8443:8443" - "8843:8843" - "8880:8880" - "3478:3478/udp" - "10001:10001/udp" plex: image: linuxserver/plex container_name: plex network_mode: host restart: always environment: VERSION: latest PUID: 0 PGID: 0 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: 0 PGID: 0 ports: - "9055:8181" plexrequests: image: linuxserver/plexrequests container_name: plexrequests restart: always volumes: - "/mnt/data/docker/plexrequests/config:/config" - "/etc/localtime:/etc/localtime:ro" environment: PUID: 0 PGID: 0 VIRTUAL_HOST: plex-requests.atomaka.com LETSENCRYPT_HOST: plex-requests.atomaka.com LETSENCRYPT_EMAIL: me@atomaka.com networks: - proxy 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: 0 PGID: 0 ports: - "9052:8080" sonarr: image: linuxserver/sonarr container_name: sonarr restart: always ports: - "9053:8989" environment: PUID: 0 PGID: 0 volumes: - "/mnt/data/docker/sonarr/config:/config" - "/mnt/data/downloads:/data" - "/mnt/data/downloads:/downloads" - "/mnt/media/series/:/media" - "/etc/localtime:/etc/localtime:ro" radarr: image: linuxserver/radarr container_name: radarr restart: always ports: - "9054:7878" environment: PUID: 0 PGID: 0 volumes: - "/mnt/data/docker/radarr/config:/config" - "/mnt/data/downloads:/data" - "/mnt/media/movies/:/media" - "/mnt/media/movies/:/movies" - "/etc/localtime:/etc/localtime:ro" muximux: image: linuxserver/muximux container_name: muximux restart: always ports: - "9050:80" volumes: - "/mnt/data/docker/muximux/config:/config" - "/etc/localtime:/etc/localtime:ro" duckdns: image: linuxserver/duckdns container_name: duckdns restart: always environment: PUID: 0 PGID: 0 env_file: - duckdns.env volumes: - "/etc/localtime:/etc/localtime:ro" haproxy: image: instal/nginx-proxy-pass-dockerize container_name: haproxy restart: always volumes: - /mnt/data/docker/haproxy/nginx.template.conf:/app/nginx.template.conf:ro environment: NGINX_UPSTREAM_SERVER: 192.168.1.20:8123 NGINX_UPSTREAM_KEEPALIVE: 0 NGINX_SERVER_PORT: 80 VIRTUAL_HOST: ha.atomaka.com LETSENCRYPT_HOST: ha.atomaka.com LETSENCRYPT_EMAIL: me@atomaka.com networks: - proxy ha: image: homeassistant/home-assistant:latest depends_on: - mqtt container_name: ha restart: always network_mode: host ports: - "8123:8123" volumes: - "/etc/localtime:/etc/localtime:ro" - "/mnt/data/docker/ha/config:/config" devices: - '/dev/zwave:/dev/zwave:rwm' hadashboardproxy: image: instal/nginx-proxy-pass-dockerize container_name: hadashboardproxy restart: always volumes: - /mnt/data/docker/hadashboardproxy/nginx.template.conf:/app/nginx.template.conf:ro environment: NGINX_UPSTREAM_SERVER: 192.168.1.20:5050 NGINX_UPSTREAM_KEEPALIVE: 0 NGINX_SERVER_PORT: 80 VIRTUAL_HOST: dashboard.atomaka.com LETSENCRYPT_HOST: dashboard.atomaka.com LETSENCRYPT_EMAIL: me@atomaka.com networks: - proxy hadashboard: image: acockburn/appdaemon:latest container_name: hadashboard restart: always depends_on: - ha ports: - 5050:5050 environment: PUID: 0 PGID: 0 volumes: - "/mnt/data/docker/ha/config/dashboards:/conf" portainer: image: portainer/portainer container_name: portainer restart: always ports: - "9057:9000" volumes: - "/var/run/docker.sock:/var/run/docker.sock" - "/mnt/data/docker/portainer:/data" mqtt: image: matteocollina/mosca container_name: mqtt restart: always ports: - 1883:1883 mqttbridge: image: stjohnjohnson/smartthings-mqtt-bridge container_name: mqttbridge restart: always volumes: - "/mnt/data/docker/mqttbridge/config:/config" ports: - 8080:8080 links: - mqtt dasher: image: clemenstyp/dasher-docker:latest container_name: dasher depends_on: - mqtt restart: always environment: PUID: 0 PGID: 0 volumes: - "/mnt/data/docker/dasher/config:/root/dasher/config" network_mode: host networks: proxy: external: name: nginx-proxy