6 Commits

Author SHA1 Message Date
Gitea Actions
cef9634960 Release v1.0.7 2026-06-23 07:58:39 +00:00
smueller
aebd208b07 Compose: license enforce is enforced by backend in production
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 09:56:18 +02:00
smueller
64b32d13ad License: only LICENSE_KEY in .env, enforce settings in compose
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 09:50:32 +02:00
Gitea Actions
f9c7eed90f Release v1.0.6 2026-06-23 07:42:59 +00:00
Gitea Actions
8751914e85 Release v1.0.5 2026-06-23 07:39:44 +00:00
smueller
3ec0b95496 Add .env.example (customer config template)
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-23 09:37:32 +02:00
3 changed files with 54 additions and 10 deletions

46
.env.example Normal file
View File

@@ -0,0 +1,46 @@
# =============================================================================
# Eikona AutoInstall Kunden-Installation (nur Docker Images, kein Quellcode)
# =============================================================================
# Registry-Login (vom Hersteller erhalten):
# echo "$REGISTRY_TOKEN" | docker login git.hexahost.dev -u KUNDE --password-stdin
# Image-Version (vom Hersteller mitgeteilt, z. B. 1.0.0)
IMAGE_TAG=1.0.7
# --- Allgemein ---
APP_ENV=production
# --- PostgreSQL ---
POSTGRES_PASSWORD=CHANGE_ME
DATABASE_URL=postgresql+psycopg://eikona:CHANGE_ME@127.0.0.1:5432/eikona
WORKER_MAX_PARALLEL_DEPLOYMENTS=4
# --- Auth ---
AUTH_JWT_SECRET=CHANGE_ME_GENERATE_LONG_RANDOM_SECRET
AUTH_BOOTSTRAP_ADMIN_USERNAME=admin
AUTH_BOOTSTRAP_ADMIN_PASSWORD=CHANGE_ME
PROXMOX_DEFAULT_ROOT_PASSWORD=CHANGE_ME
# Erreichbare IP/URL des Deployment-Servers (kein localhost!)
DEPLOY_SERVER_URL=http://192.168.1.100:8000
# --- ISO ---
ISO_PVE_VERSION=9.2-1
ISO_PVE_DOWNLOAD_URL=
# --- CORS (UI-URL anpassen) ---
CORS_ORIGINS=["http://192.168.1.100"]
# --- Cleanup ---
CLEANUP_ENABLED=true
CLEANUP_INTERVAL_HOURS=24
CLEANUP_WORK_RETENTION_HOURS=24
CLEANUP_ARTIFACT_RETENTION_DAYS=7
CLEANUP_KEEP_LATEST_ARTIFACTS=2
CLEANUP_REMOVE_SOURCE_CACHE=false
# --- Lizenz (Schlüssel vom Hersteller weitere Einstellungen sind im Image fest verdrahtet) ---
LICENSE_KEY=CHANGE_ME

View File

@@ -1 +1 @@
1.0.4 1.0.7

View File

@@ -35,16 +35,14 @@ services:
CLEANUP_ARTIFACT_RETENTION_DAYS: ${CLEANUP_ARTIFACT_RETENTION_DAYS:-7} CLEANUP_ARTIFACT_RETENTION_DAYS: ${CLEANUP_ARTIFACT_RETENTION_DAYS:-7}
CLEANUP_KEEP_LATEST_ARTIFACTS: ${CLEANUP_KEEP_LATEST_ARTIFACTS:-2} CLEANUP_KEEP_LATEST_ARTIFACTS: ${CLEANUP_KEEP_LATEST_ARTIFACTS:-2}
CLEANUP_REMOVE_SOURCE_CACHE: ${CLEANUP_REMOVE_SOURCE_CACHE:-false} CLEANUP_REMOVE_SOURCE_CACHE: ${CLEANUP_REMOVE_SOURCE_CACHE:-false}
LICENSE_ENFORCE: ${LICENSE_ENFORCE:-true} # Lizenz: APP_ENV=production erzwingt Prüfung im Backend (LICENSE_ENFORCE wird ignoriert)
LICENSE_KEY: ${LICENSE_KEY} LICENSE_KEY: ${LICENSE_KEY}
LICENSEGATE_API_URL: ${LICENSEGATE_API_URL:-https://license-api.hexaho.st} LICENSEGATE_API_URL: https://license-api.hexaho.st
LICENSEGATE_USER_ID: ${LICENSEGATE_USER_ID:-1} LICENSEGATE_USER_ID: "1"
LICENSE_SCOPE: ${LICENSE_SCOPE:-eikona-install} LICENSE_SCOPE: eikona-install
LICENSE_USE_CHALLENGE: ${LICENSE_USE_CHALLENGE:-true} LICENSE_USE_CHALLENGE: "true"
LICENSE_PUBLIC_KEY: ${LICENSE_PUBLIC_KEY:-} LICENSE_CACHE_PATH: /data/license/verification-cache.json
LICENSE_PUBLIC_KEY_PATH: ${LICENSE_PUBLIC_KEY_PATH:-} LICENSE_CACHE_GRACE_HOURS: "72"
LICENSE_CACHE_PATH: ${LICENSE_CACHE_PATH:-/data/license/verification-cache.json}
LICENSE_CACHE_GRACE_HOURS: ${LICENSE_CACHE_GRACE_HOURS:-72}
volumes: volumes:
- /opt/docker/eikona/isos:/data/isos - /opt/docker/eikona/isos:/data/isos
- /opt/docker/eikona/ssh:/data/ssh:ro - /opt/docker/eikona/ssh:/data/ssh:ro