Files
docker-ara/docker-compose.yml

78 lines
2.9 KiB
YAML
Raw Normal View History

services:
db:
image: mariadb:11
restart: unless-stopped
environment:
MARIADB_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD:-rootsecret}
MARIADB_DATABASE: ${ARA_DATABASE_NAME:-ara}
MARIADB_USER: ${ARA_DATABASE_USER:-ara}
MARIADB_PASSWORD: ${ARA_DATABASE_PASSWORD:-arasecret}
volumes:
- db_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
ara:
build:
context: .
dockerfile: docker/Dockerfile
image: ara:latest
restart: unless-stopped
depends_on:
db:
condition: service_healthy
ports:
- "${ARA_PORT:-8000}:${ARA_PORT:-8000}"
volumes:
- ara_data:/opt/ara
environment:
# -----------------------------------------------------------------------
# Core
# -----------------------------------------------------------------------
ARA_BASE_DIR: /opt/ara
ARA_SECRET_KEY: ${ARA_SECRET_KEY:-changeme_use_a_long_random_string}
ARA_ALLOWED_HOSTS: ${ARA_ALLOWED_HOSTS:-["*"]}
ARA_TIME_ZONE: ${TZ:-UTC}
ARA_LOG_LEVEL: ${ARA_LOG_LEVEL:-INFO}
# System timezone used by crond — keep in sync with ARA_TIME_ZONE
TZ: ${TZ:-UTC}
# -----------------------------------------------------------------------
# Database — MariaDB
# -----------------------------------------------------------------------
ARA_DATABASE_ENGINE: django.db.backends.mysql
ARA_DATABASE_NAME: ${ARA_DATABASE_NAME:-ara}
ARA_DATABASE_HOST: db
ARA_DATABASE_PORT: ${ARA_DATABASE_PORT:-3306}
ARA_DATABASE_USER: ${ARA_DATABASE_USER:-ara}
ARA_DATABASE_PASSWORD: ${ARA_DATABASE_PASSWORD:-arasecret}
ARA_DATABASE_CONN_MAX_AGE: ${ARA_DATABASE_CONN_MAX_AGE:-60}
# -----------------------------------------------------------------------
# Security / auth
# -----------------------------------------------------------------------
ARA_READ_LOGIN_REQUIRED: ${ARA_READ_LOGIN_REQUIRED:-false}
ARA_WRITE_LOGIN_REQUIRED: ${ARA_WRITE_LOGIN_REQUIRED:-false}
# -----------------------------------------------------------------------
# Server tuning
# -----------------------------------------------------------------------
ARA_PORT: ${ARA_PORT:-8000}
ARA_GUNICORN_WORKERS: ${ARA_GUNICORN_WORKERS:-4}
ARA_PAGE_SIZE: ${ARA_PAGE_SIZE:-100}
# -----------------------------------------------------------------------
# Maintenance — prune playbooks older than ARA_PRUNE_DAYS
# -----------------------------------------------------------------------
ARA_PRUNE_DAYS: ${ARA_PRUNE_DAYS:-30}
ARA_PRUNE_CRON: ${ARA_PRUNE_CRON:-0 2 * * *}
volumes:
db_data:
ara_data: