#### NETWORKS networks: traefik_front_network: external: true back_network_librenms: driver: bridge attachable: true #### SERVICES services: librenms-db: container_name: librenms-db hostname: librenms-db image: mariadb:10 command: - "mysqld" - "--innodb-file-per-table=1" - "--lower-case-table-names=0" - "--character-set-server=utf8mb4" - "--collation-server=utf8mb4_unicode_ci" volumes: - "./db:/var/lib/mysql" networks: - back_network_librenms - traefik_front_network environment: - "TZ=${TZ}" - "MARIADB_RANDOM_ROOT_PASSWORD=yes" - "MYSQL_DATABASE=${MYSQL_DATABASE}" - "MYSQL_USER=${MYSQL_USER}" - "MYSQL_PASSWORD=${MYSQL_PASSWORD}" restart: always labels: - "com.centurylinklabs.watchtower.enable=true" librenms-redis: container_name: librenms-redis hostname: librenms-redis image: redis:7.2-alpine networks: - back_network_librenms environment: - "TZ=${TZ}" restart: always labels: - "com.centurylinklabs.watchtower.enable=true" librenms-msmtpd: container_name: librenms-msmtpd hostname: librenms-msmtpd image: crazymax/msmtpd:latest networks: - back_network_librenms - traefik_front_network # env_file: # - "./msmtpd.env" restart: always labels: - "com.centurylinklabs.watchtower.enable=true" librenms-app: container_name: librenms-app hostname: librenms-app image: librenms/librenms:latest depends_on: - librenms-db - librenms-redis - librenms-msmtpd volumes: - "./librenms:/data" labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" - "traefik.docker.network=traefik_front_network" # HTTP - "traefik.http.routers.librenms-http.rule=Host(`librenms.tips-of-mine.com`)" - "traefik.http.routers.librenms-http.entrypoints=http" - "traefik.http.routers.librenms-http.priority=49" # HTTPS - "traefik.http.routers.librenms-https.rule=Host(`librenms.tips-of-mine.com`)" - "traefik.http.routers.librenms-https.entrypoints=https" - "traefik.http.routers.librenms-https.tls=true" - "traefik.http.routers.librenms-https.priority=50" - "traefik.http.routers.librenms.service=librenms-https-service" # Middleware # Service - "traefik.http.services.librenms-https-service.loadbalancer.server.port=8000" networks: - back_network_librenms - traefik_front_network environment: - "TZ=${TZ}" - "PUID=${PUID}" - "PGID=${PGID}" - "DB_HOST=db" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" - "DB_TIMEOUT=60" restart: always librenms-dispatcher: container_name: librenms-dispatcher hostname: librenms-dispatcher image: librenms/librenms:latest depends_on: - librenms-app - librenms-redis volumes: - "./librenms:/data" networks: - back_network_librenms - traefik_front_network environment: - "TZ=${TZ}" - "PUID=${PUID}" - "PGID=${PGID}" - "DB_HOST=db" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" - "DB_TIMEOUT=60" - "DISPATCHER_NODE_ID=dispatcher1" - "SIDECAR_DISPATCHER=1" restart: always labels: - "com.centurylinklabs.watchtower.enable=true" librenms-syslogng: container_name: librenms-syslog hostname: librenms-syslog image: librenms/librenms:latest depends_on: - librenms-app - librenms-redis ports: - target: 514 published: 514 protocol: tcp - target: 514 published: 514 protocol: udp volumes: - "./librenms:/data" environment: - "TZ=${TZ}" - "PUID=${PUID}" - "PGID=${PGID}" - "DB_HOST=db" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" - "DB_TIMEOUT=60" - "SIDECAR_SYSLOGNG=1" restart: always labels: - "com.centurylinklabs.watchtower.enable=true" librenms-snmptrapd: container_name: librenms-snmptrapd hostname: librenms-snmptrapd image: librenms/librenms:latest depends_on: - librenms-app - librenms-redis ports: - target: 162 published: 162 protocol: tcp - target: 162 published: 162 protocol: udp volumes: - "./librenms:/data" networks: - back_network_librenms - traefik_front_network environment: - "TZ=${TZ}" - "PUID=${PUID}" - "PGID=${PGID}" - "DB_HOST=db" - "DB_NAME=${MYSQL_DATABASE}" - "DB_USER=${MYSQL_USER}" - "DB_PASSWORD=${MYSQL_PASSWORD}" - "DB_TIMEOUT=60" - "SIDECAR_SNMPTRAPD=1" restart: always labels: - "com.centurylinklabs.watchtower.enable=true"