# One Sky IT's Aether Framework and System CONTAINER_WEB=ae_web_default CONTAINER_AE_API=ae_api_default CONTAINER_AE_APP=ae_app_default CONTAINER_PHP7=ae_php7_default CONTAINER_REDIS=ae_redis_default OSIT_ENV=development # OSIT_ENV=production # OSIT_ENV=testing AE_LOG_LVL=warning # Python loglevel: warning, info, debug, etc OSIT_WEB_HTTP_PORT=8080 OSIT_WEB_HTTPS_PORT=4443 # Max body size is for nginx gunicorn apps (AE app and AE API) OSIT_WEB_MAX_BODY_SIZE=5120M # For now this extra host variable is important for the AE Flask app to connect to the AE FastAPI API. DOCKER_AE_SERVER_EXTRA_HOST=example.oneskyit.com:192.168.32.20 DOCKER_AE_APP_SERVER_EXTRA_HOST=example-app.oneskyit.com:192.168.32.20 DOCKER_AE_API_SERVER_EXTRA_HOST=example-api.oneskyit.com:192.168.32.20 DOCKER_AE_API_BAK_SERVER_EXTRA_HOST=example-bak-api.oneskyit.com:192.168.32.20 DOCKER_AE_API_V5_SERVER_EXTRA_HOST=example-api-v5.oneskyit.com:192.168.32.20 DOCKER_AE_APP_EXTRA_HOST=example-api.oneskyit.com:192.168.32.20 # This should be a static(ish) IP. It may need to be externally routable? prod-api.oneskyit.com:104.237.143.4 DOCKER_AE_APP_EXTRA_HOST_V5=example-api-v5.oneskyit.com:192.168.32.20 # This is the server name for nginx for each of these sites. # Only one server name per server_name in nginx with envsubst!!! A bug??? DOCKER_AE_API_SERVER_NAME=example-api.oneskyit.com DOCKER_AE_API_V5_SERVER_NAME=example-api-v5.oneskyit.com DOCKER_AE_APP_SERVER_NAME=example-app.oneskyit.com DOCKER_PHPMYADMIN_SERVER_NAME=example-phpmyadmin.oneskyit.com DOCKER_OSIT_SERVER_NAME=example.oneskyit.com # This needs to be updated for each client's subdomain. # This is *not* currently working with the nginx Docker Compose. It uses envsubst with a template conf file. OSIT_NGINX_SERVER_NAMES=flask_gunicorn.localhost,demo.localhost,example.localhost,example.oneskyit.com,example-app.oneskyit.com,example-connect.oneskyit.com,*.example-connect.oneskyit.com,example-demo.oneskyit.com,*.example-demo.oneskyit.com # Aether general shared config options # For general shared config options like API access and use, database access and use, Redis, and SMTP # home development, live testing, live production, onsite development, onsite testing, onsite production??? AE_CFG_ID=0 AE_SERVER=example.oneskyit.com ## Aether API access and use AE_API_PROTOCOL=https AE_API_SERVER=example-api.oneskyit.com AE_API_SERVER_INTERNAL=example-api.oneskyit.com AE_API_PORT=443 AE_API_PATH= AE_API_SECRET_KEY=the-secret-api-key ## Aether DB access and use AE_DB_SERVER=linode.oneskyit.com AE_DB_PORT=3306 AE_DB_NAME=aether_dev AE_DB_USERNAME=osit_aether AE_DB_PASSWORD="the password with $$ escape" # wait_timeout (MariaDB) is how long to keep an idle DB connection AE_DB_WAIT_TIMEOUT=1800 # Not yet used! # connection_timeout (MariaDB) is how long to try and create a new DB connection; bad handshake AE_DB_CONNECTION_TIMEOUT=15 # pool_recycle (SQLAlchemy) is how long to keep using a particular connection that has passed a certain age AE_DB_POOL_RECYCLE=1800 AE_DB_V5_SERVER=linode.oneskyit.com AE_DB_V5_PORT=3306 AE_DB_V5_NAME=aether_v5_dev AE_DB_V5_USERNAME=ae_v5 AE_DB_V5_PASSWORD="" ## Aether Redis access and use AE_REDIS_SERVER=redis AE_REDIS_PORT=6379 ## Aether SMTP access and use AE_SMTP_SERVER=linode.oneskyit.com AE_SMTP_PORT=465 AE_SMTP_USERNAME=send_mail # AE_SMTP_PASSWORD="not currently used" # Gunicorn workers and threads: # https://docs.gunicorn.org/en/stable/design.html#how-many-workers # Aether API specific config options (FastAPI) # AE_API_CFG_ID=0 # NOT CURRENTLY NEED OR USED AE_API_ENV=development AE_API_DIR=/srv/aether_api AE_API_LOG_PATH="/logs/aether_api.log" AE_API_V5_LOG_PATH="/logs/aether_api_v5.log" AE_API_GUNICORN_PORT=5065 AE_API_GUNICORN_TIMEOUT=2100 # (default=30; should be much higher) AE_API_GUNICORN_GRACEFUL_TIMEOUT=30 # (default=30) AE_API_GUNICORN_KEEPALIVE=30 # (default=2) AE_API_GUNICORN_WORKERS=2 # (default=2) AE_API_GUNICORN_THREADS=2 # (default=2) AE_API_RELOAD=False AE_API_JWT_KEY="ABC123 22 CHARS" # 22 characters; super secret Aether JWT signing key AE_API_ORIGINS_REGEX="(https://.*\.oneskyit\.com)|(https://.*\.oneskyit\.com:4443)|(https://.*\.oneskyit\.com:8443)" # default allows for some sane domains related to https://.*\.oneskyit\.com with some common extra ports # Aether app specific config (Flask with Svelte) AE_APP_CFG_ID=0 AE_APP_ENV=development AE_APP_UX_MODE=default # AE_APP_UX_MODE=onsite # AE_APP_UX_MODE=native AE_APP_DIR=/srv/aether_app AE_APP_LOG_PATH="/logs/aether_app.log" AE_APP_GUNICORN_PORT=5055 AE_APP_GUNICORN_TIMEOUT=1200 # (default=30; should be higher) AE_APP_GUNICORN_GRACEFUL_TIMEOUT=20 # (default=30) AE_APP_GUNICORN_KEEPALIVE=30 # (default=2) AE_APP_GUNICORN_WORKERS=2 # (default=2) AE_APP_GUNICORN_THREADS=1 # (default=1) AE_APP_RELOAD=True # Generate a new key with: # python -c 'import os; print(os.urandom(16))' AE_APP_CACHE_SECRET_KEY="$\x93\x12\xb4R\x80R\xb5\xe50\xa0k\xc8#RN" AE_APP_SESSION_LIFETIME=86400 # How long the browser cookies last in seconds (default=86400) AE_APP_CACHE_TIMEOUT=5 # How long the Flask app caching last in seconds (default=5)