--- services: postgresql: image: postgres:16-alpine restart: unless-stopped volumes: - postgres_data:/var/lib/postgresql/data environment: POSTGRES_DB: ivatar POSTGRES_USER: ivatar POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-ivatar_secure_password} networks: - ivatar-network healthcheck: test: - CMD-SHELL - pg_isready -U ivatar -d ivatar interval: 10s timeout: 5s retries: 5 start_period: 30s ivatar: image: gitea.purpleraft.com/ryan/ivatar-docker:latest restart: unless-stopped depends_on: postgresql: condition: service_healthy ports: - '8080:8080' volumes: - ivatar_data:/ivatar/media environment: SITE_NAME: ${SITE_NAME:-My Ivatar Instance} BASE_URL: ${BASE_URL:-http://localhost:8080/avatar/} SECURE_BASE_URL: ${SECURE_BASE_URL:-https://your-domain.com/avatar/} POSTGRESQL_DATABASE: ivatar POSTGRESQL_USER: ivatar POSTGRESQL_PASSWORD: ${POSTGRES_PASSWORD:-ivatar_secure_password} EMAIL_BACKEND: ${EMAIL_BACKEND:-django.core.mail.backends.console.EmailBackend} SERVER_EMAIL: ${SERVER_EMAIL:-ivatar@your-domain.com} DEFAULT_FROM_EMAIL: ${DEFAULT_FROM_EMAIL:-ivatar@your-domain.com} networks: - ivatar-network volumes: postgres_data: null ivatar_data: null networks: ivatar-network: driver: bridge