version: '3.4' services: netbox: image: ${IMAGE-netboxcommunity/netbox:latest} depends_on: postgres: condition: service_healthy redis: condition: service_started redis-cache: condition: service_started env_file: env/netbox.env user: 'unit:root' volumes: - ./configuration:/etc/netbox/config:z,ro - ./test-configuration/logging.py:/etc/netbox/config/logging.py:z,ro - ./reports:/etc/netbox/reports:z,ro - ./scripts:/etc/netbox/scripts:z,ro - netbox-media-files:/opt/netbox/netbox/media:z postgres: image: postgres:15-alpine env_file: env/postgres.env healthcheck: test: ["CMD-SHELL", "pg_isready"] interval: 10s timeout: 5s retries: 5 redis: image: redis:7-alpine command: - sh - -c # this is to evaluate the $REDIS_PASSWORD from the env - redis-server --appendonly yes --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose env_file: env/redis.env redis-cache: image: redis:7-alpine command: - sh - -c # this is to evaluate the $REDIS_PASSWORD from the env - redis-server --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose env_file: env/redis-cache.env volumes: netbox-media-files: driver: local