Files
netbox-deployment/docker-compose.yml

114 lines
3.2 KiB
YAML

services:
tailscale:
image: tailscale/tailscale:latest
container_name: netbox-tailscale
hostname: netbox
environment:
- TS_AUTHKEY=${TS_AUTHKEY}
- TS_STATE_DIR=/var/lib/tailscale
- TS_SERVE_CONFIG=/config/serve-config.json
volumes:
- tailscale-state:/var/lib/tailscale
- /opt/netbox/tailscale/serve-config.json:/config/serve-config.json:ro
cap_add:
- NET_ADMIN
- SYS_MODULE
restart: unless-stopped
redis:
image: redis:7-alpine
container_name: netbox-redis
command: redis-server --appendonly yes
volumes:
- redis-data:/data
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 3
netbox:
image: gitea.arnodo.fr/damien/netbox:v4.4
container_name: netbox
network_mode: service:tailscale
depends_on:
tailscale:
condition: service_started
redis:
condition: service_healthy
environment:
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_NAME=${DB_NAME}
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_CACHE_HOST=redis
- REDIS_CACHE_PORT=6379
- SECRET_KEY=${SECRET_KEY}
- SUPERUSER_NAME=${SUPERUSER_NAME}
- SUPERUSER_EMAIL=${SUPERUSER_EMAIL}
- SUPERUSER_PASSWORD=${SUPERUSER_PASSWORD}
- SKIP_SUPERUSER=${SKIP_SUPERUSER}
volumes:
- netbox-media:/opt/netbox/netbox/media
- netbox-reports:/opt/netbox/netbox/reports
- netbox-scripts:/opt/netbox/netbox/scripts
- /opt/netbox/app/plugins.py:/etc/netbox/config/plugins.py:ro
restart: unless-stopped
netbox-worker:
image: gitea.arnodo.fr/damien/netbox:v4.4
container_name: netbox-worker
depends_on:
- netbox
- redis
command: /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py rqworker high default low
environment:
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_NAME=${DB_NAME}
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_CACHE_HOST=redis
- REDIS_CACHE_PORT=6379
- SECRET_KEY=${SECRET_KEY}
volumes:
- netbox-media:/opt/netbox/netbox/media
- netbox-reports:/opt/netbox/netbox/reports
- netbox-scripts:/opt/netbox/netbox/scripts
- /opt/netbox/app/plugins.py:/etc/netbox/config/plugins.py:ro
restart: unless-stopped
netbox-housekeeping:
image: gitea.arnodo.fr/damien/netbox:v4.4
container_name: netbox-housekeeping
depends_on:
- netbox
command: /opt/netbox/venv/bin/python /opt/netbox/netbox/manage.py housekeeping
environment:
- DB_HOST=${DB_HOST}
- DB_PORT=${DB_PORT}
- DB_NAME=${DB_NAME}
- DB_USER=${DB_USER}
- DB_PASSWORD=${DB_PASSWORD}
- REDIS_HOST=redis
- REDIS_PORT=6379
- REDIS_CACHE_HOST=redis
- REDIS_CACHE_PORT=6379
- SECRET_KEY=${SECRET_KEY}
volumes:
- /opt/netbox/app/plugins.py:/etc/netbox/config/plugins.py:ro
restart: unless-stopped
volumes:
tailscale-state:
redis-data:
netbox-media:
netbox-reports:
netbox-scripts: