#### NETWORKS networks: traefik_front_network: external: true back_network_librenms: driver: bridge attachable: true #### SERVICES services: ### hello_world hello_world: container_name: gitea-app hostname: gitea-app image: hello-world environment: restart: always volumes: labels: - "traefik.enable=true" - "traefik.docker.network=traefik_front_network" # HTTP - "traefik.http.routers.hello-world-http.rule=Host(`hello-world.tips-of-mine.com`)" - "traefik.http.routers.hello-world-http.entrypoints=http" - "traefik.http.routers.hello-world-http.priority=49" # HTTPS - "traefik.http.routers.hello-world-https.rule=Host(`hello-world.tips-of-mine.com`)" - "traefik.http.routers.hello-world-https.entrypoints=https" - "traefik.http.routers.hello-world-https.tls=true" - "traefik.http.routers.hello-world-https.priority=50" - "traefik.http.routers.gitea.service=gitea-https-service" # Middleware # Service # - "traefik.http.services.gitea-https-service.loadbalancer.server.port=3000" # - "traefik.http.services.gitea-https-service.loadbalancer.server.scheme=https" # - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.hostname=gitea.traefik.me" # - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.method=foobar" # - "traefik.http.services.gitea-https-service.loadbalancer.healthcheck.timeout=10" 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 redis: container_name: librenms-redis hostname: librenms-redis image: redis:7.2-alpine networks: - back_network_librenms environment: - "TZ=${TZ}" restart: always 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 librenms: container_name: librenms-app hostname: librenms-app image: librenms/librenms:latest depends_on: - db - redis - msmtpd volumes: - "./librenms:/data" labels: - "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 dispatcher: container_name: librenms-dispatcher hostname: librenms-dispatcher image: librenms/librenms:latest depends_on: - 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 syslogng: container_name: librenms-syslog hostname: librenms-syslog image: librenms/librenms:latest depends_on: - 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 snmptrapd: container_name: librenms-snmptrapd hostname: librenms-snmptrapd image: librenms/librenms:latest depends_on: - 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