Files
Sven Luthi 6125d57e38 modified: .env
modified:   compose.yml
modified:   configuration.py
WIP. Not working
2026-07-20 14:35:03 +02:00

130 lines
3.8 KiB
YAML

name: netbox
services:
# __ PostgreSQL ______________________________________________
postgres:
image: git.luethi.co/sven/netbox-stack/postgres:16-alpine
restart: unless-stopped
network_mode: host
environment:
POSTGRES_DB: ${DB_NAME:-netbox}
POSTGRES_USER: ${DB_USER:-netbox}
POSTGRES_PASSWORD: ${DB_PASS:-netbox}
volumes:
- postgres_data:/var/lib/postgresql/data:U
healthcheck:
test: ["CMD-SHELL", "pg_isready -U netbox"]
interval: 10s
timeout: 5s
retries: 5
# __ Redis ___________________________________________________
redis:
image: git.luethi.co/sven/netbox-stack/redis:7-alpine
restart: unless-stopped
network_mode: host
command: redis-server --save 60 1
volumes:
- redis_data:/data:U
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 5
# __ NetBox web (Gunicorn) ___________________________________
netbox:
image: git.luethi.co/sven/netbox-stack/netbox:${NETBOX_VERSION}
build:
context: .
dockerfile: Containerfile
network: host
args:
NETBOX_VERSION: ${NETBOX_VERSION}
PYTHON_VERSION: ${PYTHON_VERSION}
HTTP_PROXY: ${HTTP_PROXY}
HTTPS_PROXY: ${HTTPS_PROXY}
NO_PROXY: ${NO_PROXY}
restart: unless-stopped
network_mode: host
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_healthy
volumes:
- ./configuration.py:/opt/netbox/netbox/netbox/configuration.py:ro
- netbox_custom_scripts:/opt/netbox/netbox/scripts:ro
- netbox_media:/opt/netbox/netbox/media:U
- netbox_static:/opt/netbox/netbox/static:U
environment:
#NETBOX_DOMAIN: "${NETBOX_DOMAIN}"
GUNICORN_BIND: "localhost:8085"
GUNICORN_WORKERS: 4
GUNICORN_THREADS: 3
GUNICORN_TIMEOUT: 120
GUNICORN_MAX_REQUESTS: 5000
GUNICORN_MAX_REQUESTS_JITTER: 500
command: gunicorn
healthcheck:
test: ["CMD", "python", "/opt/netbox/netbox/manage.py", "check"]
interval: 60s
timeout: 30s
retries: 5
# __ NetBox RQ worker ________________________________________
netbox-worker:
image: git.luethi.co/sven/netbox-stack/netbox:${NETBOX_VERSION}
restart: unless-stopped
network_mode: host
depends_on:
- netbox
volumes:
- ./configuration.py:/opt/netbox/netbox/netbox/configuration.py:ro
- netbox_custom_scripts:/opt/netbox/netbox/scripts:ro
- netbox_media:/opt/netbox/netbox/media:U
- netbox_static:/opt/netbox/netbox/static:U
command: worker
# __ NetBox DNS transfer endpoint ____________________________
netbox-dns-transfer-endpoint:
image: git.luethi.co/sven/netbox-stack/netbox:${NETBOX_VERSION}
restart: unless-stopped
network_mode: host
depends_on:
- netbox
volumes:
- ./configuration.py:/opt/netbox/netbox/netbox/configuration.py:ro
command: dns-transfer-endpoint
# __ NGINX reverse proxy _____________________________________
nginx:
image: git.luethi.co/sven/netbox-stack/nginx:alpine
restart: unless-stopped
network_mode: host
depends_on:
- netbox
volumes:
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
- netbox_static:/static:ro
# __ BIND9 ___________________________________________________
bind9:
image: git.luethi.co/sven/netbox-stack/bind9:9.20
restart: unless-stopped
depends_on:
- netbox-dns-transfer-endpoint
network_mode: host
volumes:
- ./named.conf:/etc/bind/named.conf:ro
- ./rndc.key:/etc/bind/rndc.key:ro
volumes:
postgres_data:
redis_data:
netbox_media:
netbox_static:
netbox_custom_scripts: