# ------------------------------------------------------------------------------ # 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 # ------------------------------------------------------------------------------ # Internal Docker network name (should be unique per environment) AE_NETWORK_NAME=ae_dev_net # 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