Some checks failed
Tests / Backend Tests (Python) (3.10) (push) Has been cancelled
Tests / Backend Tests (Python) (3.11) (push) Has been cancelled
Tests / Backend Tests (Python) (3.12) (push) Has been cancelled
Tests / Frontend Tests (JS) (push) Has been cancelled
Tests / Integration Tests (push) Has been cancelled
Tests / All Tests Passed (push) Has been cancelled
72 lines
2.0 KiB
Plaintext
72 lines
2.0 KiB
Plaintext
# ======================================================
|
|
# Homelab Automation Dashboard — Environment Variables
|
|
# ======================================================
|
|
# Copy this file to .env and fill in the values.
|
|
# DO NOT commit the .env file with real credentials!
|
|
|
|
# --- General ---
|
|
TZ="America/Montreal"
|
|
DEBUG_MODE=NO
|
|
|
|
# --- API Authentication ---
|
|
# REQUIRED: Set a strong, unique API key
|
|
# Generate a random API key using: python -c "import secrets; print(secrets.token_hex(32))"
|
|
API_KEY=CHANGE_ME_TO_A_STRONG_API_KEY
|
|
|
|
# --- JWT Authentication ---
|
|
# REQUIRED: Set a strong secret key (min 32 chars)
|
|
# Generate a random JWT secret key using: python -c "import secrets; print(secrets.token_hex(32))"
|
|
JWT_SECRET_KEY=CHANGE_ME_TO_A_STRONG_SECRET_KEY_MIN_32_CHARS
|
|
JWT_EXPIRE_MINUTES=60
|
|
|
|
# --- Database ---
|
|
DATABASE_URL=sqlite+aiosqlite:///./data/homelab.db
|
|
DB_PATH=./data/homelab.db
|
|
# DB_ENGINE=mysql
|
|
# MYSQL_HOST=mysql
|
|
# MYSQL_USER=homelab
|
|
# MYSQL_PASSWORD=CHANGE_ME
|
|
# DB_AUTO_MIGRATE=true
|
|
|
|
# --- Logging ---
|
|
LOGS_DIR=./logs/Server_log
|
|
DIR_LOGS_TASKS=./logs/tasks_logs
|
|
|
|
# --- Ansible ---
|
|
ANSIBLE_INVENTORY=./ansible/inventory
|
|
ANSIBLE_PLAYBOOKS=./ansible/playbooks
|
|
ANSIBLE_GROUP_VARS=./ansible/inventory/group_vars
|
|
# ANSIBLE_CONFIG=/path/to/ansible.cfg
|
|
|
|
# --- SSH ---
|
|
SSH_USER=automation
|
|
SSH_REMOTE_USER=automation
|
|
SSH_KEY_DIR=~/.ssh
|
|
SSH_KEY_PATH=~/.ssh/id_automation_ansible
|
|
|
|
# --- CORS ---
|
|
# Comma-separated list of allowed origins (no wildcard in production!)
|
|
CORS_ORIGINS=http://localhost:3000,http://localhost:8008
|
|
|
|
# --- Notifications (ntfy) ---
|
|
NTFY_BASE_URL=https://ntfy.sh
|
|
NTFY_DEFAULT_TOPIC=homelab-events
|
|
NTFY_ENABLED=true
|
|
NTFY_MSG_TYPE=ERR
|
|
NTFY_TIMEOUT=5
|
|
# NTFY_USERNAME=
|
|
# NTFY_PASSWORD=CHANGE_ME
|
|
# NTFY_TOKEN=CHANGE_ME
|
|
|
|
# --- Terminal SSH Web ---
|
|
TERMINAL_SESSION_TTL_MINUTES=30
|
|
TERMINAL_TTYD_INTERFACE=eth0
|
|
TERMINAL_MAX_SESSIONS_PER_USER=3
|
|
TERMINAL_SESSION_IDLE_TIMEOUT_SECONDS=120
|
|
TERMINAL_HEARTBEAT_INTERVAL_SECONDS=15
|
|
TERMINAL_GC_INTERVAL_SECONDS=30
|
|
TERMINAL_PORT_RANGE_START=7682
|
|
TERMINAL_PORT_RANGE_END=7699
|
|
TERMINAL_SSH_USER=automation
|
|
TERMINAL_COMMAND_RETENTION_DAYS=30
|