services: devcontainer: image: netboxcommunity/netbox:${NETBOX_VERSION:-latest} volumes: - ../..:/workspaces:cached - netbox_media:/opt/netbox/netbox/media - netbox_static:/opt/netbox/netbox/static - gh_config:/root/.config/gh command: sleep infinity environment: NETBOX_VERSION: ${NETBOX_VERSION:-latest} DEBUG: ${DEBUG:-True} DEVELOPER: ${DEVELOPER:-True} DB_HOST: ${DB_HOST:-postgres} DB_NAME: ${DB_NAME:-netbox} DB_USER: ${DB_USER:-netbox} DB_PASSWORD: ${DB_PASSWORD:-netbox} REDIS_HOST: ${REDIS_HOST:-redis} REDIS_PASSWORD: ${REDIS_PASSWORD:-} SECRET_KEY: ${SECRET_KEY:-dummydummydummydummydummydummydummydummydummydummydummydummy} SUPERUSER_NAME: ${SUPERUSER_NAME:-admin} SUPERUSER_EMAIL: ${SUPERUSER_EMAIL:-admin@example.com} SUPERUSER_PASSWORD: ${SUPERUSER_PASSWORD:-admin} SKIP_SUPERUSER: ${SKIP_SUPERUSER:-false} # Proxy settings (optional) HTTP_PROXY: ${HTTP_PROXY:-} HTTPS_PROXY: ${HTTPS_PROXY:-} http_proxy: ${HTTP_PROXY:-} https_proxy: ${HTTPS_PROXY:-} NO_PROXY: ${NO_PROXY:-} no_proxy: ${NO_PROXY:-} REQUESTS_CA_BUNDLE: ${REQUESTS_CA_BUNDLE:-} SSL_CERT_FILE: ${SSL_CERT_FILE:-} CURL_CA_BUNDLE: ${CURL_CA_BUNDLE:-} ALLOW_GIT_SSL_DISABLE: ${ALLOW_GIT_SSL_DISABLE:-false} depends_on: postgres: condition: service_healthy redis: condition: service_healthy ports: - "8000:8000" postgres: image: postgres:15 environment: POSTGRES_DB: ${DB_NAME:-netbox} POSTGRES_USER: ${DB_USER:-netbox} POSTGRES_PASSWORD: ${DB_PASSWORD:-netbox} volumes: - postgres_data:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U ${DB_USER:-netbox}"] interval: 30s timeout: 10s retries: 5 redis: image: redis:7-alpine command: redis-server --appendonly yes volumes: - redis_data:/data healthcheck: test: ["CMD", "redis-cli", "ping"] interval: 30s timeout: 10s retries: 5 volumes: postgres_data: redis_data: netbox_media: netbox_static: gh_config: