v_11
This commit is contained in:
@@ -0,0 +1,144 @@
|
||||
services:
|
||||
netbox: &netbox
|
||||
image: docker.io/netboxcommunity/netbox:${VERSION:-v4.6-5.0.2}
|
||||
depends_on:
|
||||
postgres:
|
||||
condition: service_healthy
|
||||
redis:
|
||||
condition: service_healthy
|
||||
redis-cache:
|
||||
condition: service_healthy
|
||||
user: "netbox:root"
|
||||
ports:
|
||||
- "${NETBOX_PORT:-8000}:8080"
|
||||
environment:
|
||||
# Core
|
||||
SECRET_KEY: ${SECRET_KEY}
|
||||
API_TOKEN_PEPPER_1: ${API_TOKEN_PEPPER_1}
|
||||
ALLOWED_HOSTS: ${ALLOWED_HOSTS:-*}
|
||||
# Database
|
||||
DB_HOST: postgres
|
||||
DB_NAME: ${DB_NAME:-netbox}
|
||||
DB_USER: ${DB_USER:-netbox}
|
||||
DB_PASSWORD: ${DB_PASSWORD}
|
||||
# Redis — task queue
|
||||
REDIS_HOST: redis
|
||||
REDIS_DATABASE: "0"
|
||||
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
||||
REDIS_SSL: "false"
|
||||
REDIS_INSECURE_SKIP_TLS_VERIFY: "false"
|
||||
# Redis — cache
|
||||
REDIS_CACHE_HOST: redis-cache
|
||||
REDIS_CACHE_DATABASE: "1"
|
||||
REDIS_CACHE_PASSWORD: ${REDIS_CACHE_PASSWORD}
|
||||
REDIS_CACHE_SSL: "false"
|
||||
REDIS_CACHE_INSECURE_SKIP_TLS_VERIFY: "false"
|
||||
# Email / SMTP (PurelyMail)
|
||||
EMAIL_SERVER: ${EMAIL_SERVER:-smtp.purelymail.com}
|
||||
EMAIL_PORT: ${EMAIL_PORT:-465}
|
||||
EMAIL_USE_SSL: ${EMAIL_USE_SSL:-true}
|
||||
EMAIL_USE_TLS: ${EMAIL_USE_TLS:-false}
|
||||
EMAIL_USERNAME: ${EMAIL_USERNAME}
|
||||
EMAIL_PASSWORD: ${EMAIL_PASSWORD}
|
||||
EMAIL_FROM: ${EMAIL_FROM}
|
||||
EMAIL_TIMEOUT: ${EMAIL_TIMEOUT:-10}
|
||||
EMAIL_SSL_CERTFILE: ""
|
||||
EMAIL_SSL_KEYFILE: ""
|
||||
# Initial superuser
|
||||
SKIP_SUPERUSER: ${SKIP_SUPERUSER:-true}
|
||||
SUPERUSER_NAME: ${SUPERUSER_NAME:-admin}
|
||||
SUPERUSER_EMAIL: ${SUPERUSER_EMAIL:-admin@example.com}
|
||||
SUPERUSER_PASSWORD: ${SUPERUSER_PASSWORD:-admin}
|
||||
SUPERUSER_API_TOKEN: ${SUPERUSER_API_TOKEN:-}
|
||||
# Misc
|
||||
GRAPHQL_ENABLED: "true"
|
||||
WEBHOOKS_ENABLED: "true"
|
||||
METRICS_ENABLED: "false"
|
||||
MEDIA_ROOT: /opt/netbox/netbox/media
|
||||
RELEASE_CHECK_URL: https://api.github.com/repos/netbox-community/netbox/releases
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:8080/login/ || exit 1
|
||||
start_period: 90s
|
||||
timeout: 3s
|
||||
interval: 15s
|
||||
volumes:
|
||||
- netbox-media-files:/opt/netbox/netbox/media:rw
|
||||
- netbox-reports-files:/opt/netbox/netbox/reports:rw
|
||||
- netbox-scripts-files:/opt/netbox/netbox/scripts:rw
|
||||
|
||||
netbox-worker:
|
||||
<<: *netbox
|
||||
ports: []
|
||||
depends_on:
|
||||
netbox:
|
||||
condition: service_healthy
|
||||
command:
|
||||
- /opt/netbox/venv/bin/python
|
||||
- /opt/netbox/netbox/manage.py
|
||||
- rqworker
|
||||
healthcheck:
|
||||
test: ps -aux | grep -v grep | grep -q rqworker || exit 1
|
||||
start_period: 20s
|
||||
timeout: 3s
|
||||
interval: 15s
|
||||
|
||||
# postgres
|
||||
postgres:
|
||||
image: docker.io/postgres:18-alpine
|
||||
environment:
|
||||
POSTGRES_DB: ${DB_NAME:-netbox}
|
||||
POSTGRES_USER: ${DB_USER:-netbox}
|
||||
POSTGRES_PASSWORD: ${DB_PASSWORD}
|
||||
healthcheck:
|
||||
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER
|
||||
start_period: 20s
|
||||
timeout: 30s
|
||||
interval: 10s
|
||||
retries: 5
|
||||
volumes:
|
||||
- netbox-postgres:/var/lib/postgresql
|
||||
|
||||
# redis — task queue (persistent)
|
||||
redis:
|
||||
image: docker.io/valkey/valkey:9.1-alpine
|
||||
command:
|
||||
- sh
|
||||
- -c # this is to evaluate the $REDIS_PASSWORD from the env
|
||||
- valkey-server --appendonly yes --requirepass $$REDIS_PASSWORD
|
||||
environment:
|
||||
REDIS_PASSWORD: ${REDIS_PASSWORD}
|
||||
healthcheck: &redis-healthcheck
|
||||
test: '[ $$(valkey-cli --pass "$${REDIS_PASSWORD}" ping) = ''PONG'' ]'
|
||||
start_period: 5s
|
||||
timeout: 3s
|
||||
interval: 1s
|
||||
retries: 5
|
||||
volumes:
|
||||
- netbox-redis-data:/data
|
||||
|
||||
# redis-cache — transient cache
|
||||
redis-cache:
|
||||
image: docker.io/valkey/valkey:9.1-alpine
|
||||
command:
|
||||
- sh
|
||||
- -c # this is to evaluate the $REDIS_PASSWORD from the env
|
||||
- valkey-server --requirepass $$REDIS_PASSWORD
|
||||
environment:
|
||||
REDIS_PASSWORD: ${REDIS_CACHE_PASSWORD}
|
||||
healthcheck: *redis-healthcheck
|
||||
volumes:
|
||||
- netbox-redis-cache-data:/data
|
||||
|
||||
volumes:
|
||||
netbox-media-files:
|
||||
driver: local
|
||||
netbox-postgres:
|
||||
driver: local
|
||||
netbox-redis-cache-data:
|
||||
driver: local
|
||||
netbox-redis-data:
|
||||
driver: local
|
||||
netbox-reports-files:
|
||||
driver: local
|
||||
netbox-scripts-files:
|
||||
driver: local
|
||||
Reference in New Issue
Block a user