186 lines
7.1 KiB
Plaintext
186 lines
7.1 KiB
Plaintext
# ------------------------------------------------------------------------------
|
|
# AETHER FRAMEWORK - DOCKER ENVIRONMENT CONFIGURATION (TEMPLATE)
|
|
# ------------------------------------------------------------------------------
|
|
# Instructions: Copy this to .env and update the paths and credentials.
|
|
# This file serves as the master reference for all available environment variables.
|
|
# ------------------------------------------------------------------------------
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# SYSTEM SETTINGS
|
|
# ------------------------------------------------------------------------------
|
|
# System timezone for all containers
|
|
TZ=US/Eastern
|
|
|
|
# Environment mode (development, testing, production)
|
|
OSIT_ENV=development
|
|
|
|
# Logging level for the API and background workers (debug, info, warning, error)
|
|
AE_LOG_LVL=warning
|
|
|
|
# Docker Compose Profiles
|
|
# 'database' includes: mariadb, phpmyadmin, ae_ops
|
|
# Comment out or leave empty for "app-only" nodes that connect to a remote DB
|
|
COMPOSE_PROFILES=database
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# CONTAINER NAMES
|
|
# ------------------------------------------------------------------------------
|
|
# Internal Docker container names (should be unique per environment)
|
|
CONTAINER_WEB=ae_web_default
|
|
CONTAINER_AE_API=ae_api_default
|
|
CONTAINER_AE_APP=ae_app_default
|
|
CONTAINER_REDIS=ae_redis_default
|
|
CONTAINER_MARIADB=ae_mariadb_default
|
|
CONTAINER_PMA=ae_pma_default
|
|
CONTAINER_DOZZLE=ae_dozzle_default
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# NETWORK & PROXY SETTINGS
|
|
# ------------------------------------------------------------------------------
|
|
# Local Nginx listener ports on the host system
|
|
OSIT_WEB_HTTP_PORT=8080
|
|
OSIT_WEB_HTTPS_PORT=4443
|
|
|
|
# Gateway ports (External entry points into the container mesh)
|
|
AE_API_GATEWAY_PORT=5060
|
|
AE_APP_GATEWAY_PORT=3001
|
|
AE_DOZZLE_PORT=8881
|
|
|
|
# Maximum allowed file upload size (Global for Nginx)
|
|
OSIT_WEB_MAX_BODY_SIZE=5120M
|
|
|
|
# Gateway Port for External Reverse Proxy
|
|
# Used when a master proxy (e.g. Home Server) forwards traffic to this node
|
|
AE_API_GATEWAY_PORT=5060
|
|
|
|
# DNS Overrides (Injected into containers' /etc/hosts)
|
|
# Format: DOMAIN:IP_ADDRESS
|
|
# Useful for container-to-container routing when using real domain names
|
|
DOCKER_AE_SERVER_EXTRA_HOST=example.oneskyit.com:127.0.0.1
|
|
DOCKER_AE_APP_SERVER_EXTRA_HOST=example-app.oneskyit.com:127.0.0.1
|
|
DOCKER_AE_API_SERVER_EXTRA_HOST=example-api.oneskyit.com:127.0.0.1
|
|
DOCKER_AE_API_BAK_SERVER_EXTRA_HOST=example-bak-api.oneskyit.com:127.0.0.1
|
|
DOCKER_AE_DB_SERVER_EXTRA_HOST=db.oneskyit.com:127.0.0.1
|
|
|
|
# Nginx Server Names (Used in vhost configuration templates)
|
|
DOCKER_AE_API_SERVER_NAME=example-api.oneskyit.com
|
|
DOCKER_AE_APP_SERVER_NAME=example-app.oneskyit.com
|
|
DOCKER_PHPMYADMIN_SERVER_NAME=example-phpmyadmin.oneskyit.com
|
|
DOCKER_OSIT_SERVER_NAME=example-docker.oneskyit.com
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# DATABASE SETTINGS (MariaDB)
|
|
# ------------------------------------------------------------------------------
|
|
# To use an EXTERNAL database:
|
|
# 1. Set COMPOSE_PROFILES= (empty) above to disable local DB containers.
|
|
# 2. Set AE_DB_SERVER to the external IP or Hostname.
|
|
# 3. Ensure the external DB allows connections from this host's IP.
|
|
|
|
# DB Hostname (use 'mariadb' for the local container, or a remote IP/FQDN)
|
|
AE_DB_SERVER=mariadb
|
|
AE_DB_PORT=3306
|
|
|
|
# Port to expose on the host system if running a local MariaDB container
|
|
AE_DB_EXTERNAL_PORT=3306
|
|
|
|
# Database credentials
|
|
AE_DB_NAME=aether_dev
|
|
AE_DB_USERNAME=osit_aether
|
|
AE_DB_PASSWORD="your-secure-password-here"
|
|
AE_DB_ROOT_PASSWORD="your-mariadb-root-password-here"
|
|
|
|
# Connection Tuning
|
|
AE_DB_CONNECTION_TIMEOUT=15
|
|
AE_DB_POOL_RECYCLE=1800
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# REDIS SETTINGS
|
|
# ------------------------------------------------------------------------------
|
|
# Redis is used for caching, ID resolution, and messaging
|
|
AE_REDIS_SERVER=redis
|
|
AE_REDIS_PORT=6379
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# API SETTINGS (FastAPI)
|
|
# ------------------------------------------------------------------------------
|
|
AE_API_ENV=development
|
|
|
|
# Number of API container instances to run (Docker Compose Scaling)
|
|
AE_API_REPLICAS=2
|
|
|
|
# Gunicorn / Uvicorn Tuning
|
|
AE_API_GUNICORN_PORT=5065
|
|
AE_API_GUNICORN_TIMEOUT=2100
|
|
AE_API_GUNICORN_WORKERS=2
|
|
AE_API_GUNICORN_THREADS=2
|
|
|
|
# Security & CORS
|
|
# JWT_KEY should be a 22+ character secret string
|
|
AE_API_JWT_KEY="your-22-char-secret-key"
|
|
|
|
# Regex for allowed CORS origins
|
|
AE_API_ORIGINS_REGEX="(https://.*\.oneskyit\.com)|(https://.*\.oneskyit\.com:4443)"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# APP SETTINGS (SvelteKit)
|
|
# ------------------------------------------------------------------------------
|
|
AE_APP_ENV=development
|
|
AE_APP_BUILD_MODE=staging
|
|
AE_APP_REPLICAS=1
|
|
AE_APP_NODE_PORT=3001
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# SMTP SETTINGS (Email)
|
|
# ------------------------------------------------------------------------------
|
|
# Core SMTP configuration for system notifications and user emails
|
|
AE_SMTP_SERVER=smtp.example.com
|
|
AE_SMTP_PORT=465
|
|
AE_SMTP_USERNAME=send_mail
|
|
AE_SMTP_PASSWORD="your-smtp-password-here"
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# LEGACY APP SETTINGS (Flask)
|
|
# ------------------------------------------------------------------------------
|
|
AE_FLASK_APP_ENV=development
|
|
AE_FLASK_APP_GUNICORN_PORT=5055
|
|
AE_FLASK_APP_CACHE_SECRET_KEY="your-secret-key"
|
|
AE_FLASK_APP_SESSION_LIFETIME=86400
|
|
AE_FLASK_APP_CACHE_TIMEOUT=5
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# SOURCE PATHS (Absolute paths on Host Machine)
|
|
# ------------------------------------------------------------------------------
|
|
# IMPORTANT: These paths must exist on the machine running Docker
|
|
# They are mounted into containers as volumes for real-time development
|
|
|
|
# Project Source Code
|
|
AE_API_SRC=/path/to/aether_api_fastapi
|
|
AE_APP_SRC=/path/to/aether_app_sveltekit
|
|
AE_FLASK_APP_SRC=/path/to/aether_app_flask
|
|
|
|
# Physical File Storage (Images, Documents, etc.)
|
|
# NOTE: Shared between environments to ensure binary availability
|
|
HOSTED_FILES_SRC=/path/to/hosted_files
|
|
HOSTED_TMP_SRC=/path/to/hosted_tmp
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# SERVICE TUNING & PERFORMANCE
|
|
# ------------------------------------------------------------------------------
|
|
# phpMyAdmin Host Port
|
|
AE_PMA_PORT=8081
|
|
|
|
# MariaDB Performance (Injected via Docker Compose command flags)
|
|
MARIADB_MAX_CONNECTIONS=500
|
|
MARIADB_INNODB_BUFFER_POOL_SIZE=512M
|
|
MARIADB_QUERY_CACHE_SIZE=32M
|
|
MARIADB_TMP_TABLE_SIZE=384M
|
|
MARIADB_TABLE_OPEN_CACHE=4000
|
|
|
|
# ------------------------------------------------------------------------------
|
|
# AETHER SHARED CONFIG (DB Driven)
|
|
# ------------------------------------------------------------------------------
|
|
# Specifies which record from the 'cfg' table to use for shared settings
|
|
# (SMTP, API routes, and external service keys)
|
|
# common options: 1=Default, 5=Home Dev, 7=Live Test
|
|
AE_CFG_ID=1
|