mirror of
https://github.com/netbox-community/netbox-docker.git
synced 2025-12-10 05:42:36 +00:00
Because the development of Nginx Unit has been stopped, switch the server to Granian which still allows to serve the Python application and the static files from one server.
62 lines
1.7 KiB
YAML
62 lines
1.7 KiB
YAML
services:
|
|
netbox: &netbox
|
|
image: ${IMAGE-docker.io/netboxcommunity/netbox:latest}
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
redis-cache:
|
|
condition: service_healthy
|
|
env_file: env/netbox.env
|
|
user: "netbox:root"
|
|
volumes:
|
|
- ./test-configuration/test_config.py:/etc/netbox/config/test_config.py:z,ro
|
|
healthcheck:
|
|
test: curl -f http://localhost:8080/login/ || exit 1
|
|
start_period: ${NETBOX_START_PERIOD-120s}
|
|
timeout: 3s
|
|
interval: 15s
|
|
netbox-worker:
|
|
<<: *netbox
|
|
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: 40s
|
|
timeout: 3s
|
|
interval: 15s
|
|
|
|
postgres:
|
|
image: docker.io/postgres:18-alpine
|
|
env_file: env/postgres.env
|
|
healthcheck:
|
|
test: pg_isready -q -t 2 -d $$POSTGRES_DB -U $$POSTGRES_USER ## $$ because of docker-compose
|
|
start_period: 20s
|
|
interval: 1s
|
|
timeout: 5s
|
|
retries: 5
|
|
|
|
redis: &redis
|
|
image: docker.io/valkey/valkey:9.0-alpine
|
|
command:
|
|
- sh
|
|
- -c # this is to evaluate the $REDIS_PASSWORD from the env
|
|
- valkey-server --save "" --appendonly no --requirepass $$REDIS_PASSWORD ## $$ because of docker-compose
|
|
env_file: env/redis.env
|
|
healthcheck:
|
|
test: '[ $$(valkey-cli --pass "$${REDIS_PASSWORD}" ping) = ''PONG'' ]'
|
|
start_period: 5s
|
|
timeout: 3s
|
|
interval: 1s
|
|
retries: 5
|
|
redis-cache:
|
|
<<: *redis
|
|
env_file: env/redis-cache.env
|
|
|
|
volumes:
|
|
netbox-media-files:
|
|
driver: local
|