--- services: postgres: image: postgres:${NETBOX_POSTGRESQL_VERISION:-16} container_name: netbox-db restart: unless-stopped environment: POSTGRES_DB: ${POSTGRES_DB:?error} POSTGRES_USER: ${POSTGRES_USER:?error} POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?error} volumes: - netbox-db:/var/lib/postgresql/data networks: - netbox redis: image: redis:${NETBOX_REDIS_VERSION:-7} restart: unless-stopped volumes: - netbox-redis:/data networks: - netbox netbox: image: netboxcommunity/netbox:${NETBOX_VERSION:-v4.2.6} container_name: netbox restart: unless-stopped depends_on: - postgres - redis env_file: .env networks: - netbox - traefik environment: DB_NAME: ${POSTGRES_DB:?error} DB_USER: ${POSTGRES_USER:?error} DB_PASSWORD: ${POSTGRES_PASSWORD:?error} DB_HOST: postgres REDIS_HOST: redis REDIS_DATABASE: 0 REDIS_CACHE_DATABASE: 1 SECRET_KEY: ${SECRET_KEY:?error} ALLOWED_HOSTS: "*" volumes: - netbox-static:/opt/netbox/netbox/static labels: - "traefik.enable=true" - "traefik.http.routers.netbox.entrypoints=http" - "traefik.http.routers.netbox.rule=Host(`${NETBOX_DOMAIN:?error}`)" - "traefik.http.middlewares.netbox-https-redirect.redirectscheme.scheme=https" - "traefik.http.routers.netbox.middlewares=traefik-https-redirect" - "traefik.http.routers.netbox-secure.entrypoints=https" - "traefik.http.routers.netbox-secure.rule=Host(`${NETBOX_DOMAIN:?error}`)" - "traefik.http.routers.netbox-secure.tls=true" - "traefik.http.services.netbox.loadbalancer.server.port=8080" - "traefik.docker.network=traefik" volumes: netbox-db: netbox-redis: netbox-static: networks: netbox: traefik: external: true