initial commit

This commit is contained in:
TheOnlyMace
2026-05-17 13:26:14 +02:00
commit 75299b723d
176 changed files with 20327 additions and 0 deletions

138
.env.example Normal file
View File

@@ -0,0 +1,138 @@
APP_NAME="HexaHost Panel"
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_URL=https://panel.hexahost.de
APP_LOCALE=de
APP_FALLBACK_LOCALE=de
APP_FAKER_LOCALE=de_DE
APP_MAINTENANCE_DRIVER=file
BCRYPT_ROUNDS=12
LOG_CHANNEL=stack
LOG_STACK=single
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug
# --- Datenbank (Produktion: mariadb/mysql auf Plesk) ---
DB_CONNECTION=sqlite
# DB_CONNECTION=mariadb
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=hexahost_panel
# DB_USERNAME=panel_user
# DB_PASSWORD=
SESSION_DRIVER=database
SESSION_LIFETIME=120
SESSION_ENCRYPT=false
SESSION_PATH=/
SESSION_DOMAIN=null
BROADCAST_CONNECTION=log
FILESYSTEM_DISK=local
QUEUE_CONNECTION=database
CACHE_STORE=database
REDIS_CLIENT=phpredis
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_MAILER=log
MAIL_HOST=127.0.0.1
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_FROM_ADDRESS="panel@hexahost.de"
MAIL_FROM_NAME="${APP_NAME}"
VITE_APP_NAME="${APP_NAME}"
# --- Proxmox VE ---
PROXMOX_URL=https://hyperion.rz-wob.hexahost.de:8006
PROXMOX_CONSOLE_WS_URL=https://hyperion.rz-wob.hexahost.de:8006
PROXMOX_TOKEN=user@pam!tokenid=secret
PROXMOX_NODE=hyperion
PROXMOX_STORAGE=vmdata
PROXMOX_BRIDGE=vmbr0
PROXMOX_PUBLIC_BRIDGE=vmbr1
PROXMOX_ISO_STORAGE=ISO
PROXMOX_ISO_DEVICE=ide2
PROXMOX_BACKUP_STORAGE=inett-PBS
PROXMOX_TEMPLATE_VMID=
PROXMOX_TIMEOUT=120
PROXMOX_VERIFY_SSL=true
# --- Privates VM-Netz 10.32.0.0/24 ---
HOSTING_GATEWAY=10.32.0.1
HOSTING_NETWORK_CIDR=24
HOSTING_IP_POOL_START=10.32.0.10
HOSTING_IP_POOL_END=10.32.0.254
# --- Öffentliche IPs (ohne Traefik) ---
HOSTING_PUBLIC_POOL_START=185.45.149.246
HOSTING_PUBLIC_POOL_END=185.45.149.252
HOSTING_PUBLIC_GATEWAY=185.45.149.241
HOSTING_PUBLIC_CIDR=28
# --- VMID-Pool ---
VMID_RANGE_START=2000
VMID_RANGE_END=2999
VMID_RELEASE_AFTER_HOURS=48
# --- Snapshots / Backups / ISO ---
SNAPSHOT_RETENTION_HOURS=48
SNAPSHOT_AUTO_BEFORE_DESTRUCTIVE=true
MAX_BACKUPS_PER_CUSTOMER=4
BACKUPS_ENABLED=false
ISO_UPLOAD_ENABLED=true
ISO_UPLOAD_MAX_PER_CUSTOMER=1
ISO_UPLOAD_MAX_SIZE_MB=10240
ISO_UPLOAD_RETENTION_HOURS=48
# --- WHMCS API ---
WHMCS_ENABLED=true
WHMCS_API_SECRET=
WHMCS_ALLOWED_IPS=
WHMCS_REPLAY_WINDOW=300
# --- Plesk DNS ---
PLESK_URL=https://plesk.example.com:8443
PLESK_USER=admin
PLESK_PASS=
PLESK_BASE_DOMAIN=hexahost.de
PLESK_TIMEOUT=30
PLESK_VERIFY_SSL=true
PLESK_MAIL_ENABLED=true
# --- Traefik (File Provider) ---
TRAEFIK_DYNAMIC_CONFIG_PATH=/etc/traefik/dynamic/customers.yaml
TRAEFIK_ENTRYPOINT=websecure
TRAEFIK_CERT_RESOLVER=letsencrypt
TRAEFIK_BACKEND_PORT=80
TRAEFIK_PUBLIC_IP=185.45.149.98
TRAEFIK_RELOAD_COMMAND="docker exec traefik kill -HUP 1"
# --- Sicherheit / Konsole ---
ADMIN_2FA_REQUIRED=true
LOGIN_MAX_ATTEMPTS=5
VM_POWER_RATE_LIMIT=20
CONSOLE_PROXY_ENABLED=false
CONSOLE_PROXY_WS_URL=wss://panel.hexahost.de/ws/vm
CONSOLE_PROXY_SECRET=
CONSOLE_PROXY_VALIDATE_URL=https://panel.hexahost.de/api/console/validate
# --- Benachrichtigungen ---
HOSTING_WEBHOOK_URL=
# --- Standard-Ressourcen neuer VMs ---
HOSTING_DEFAULT_CPU=2
HOSTING_DEFAULT_RAM=2048
HOSTING_DEFAULT_DISK=32