diff --git a/.gitignore b/.gitignore index e936689..b015bb1 100644 --- a/.gitignore +++ b/.gitignore @@ -2,9 +2,6 @@ node_modules/ # Env files -.env -ospabhost/frontend/.env -ospabhost/backend/.env # Build /dist diff --git a/ospabhost/.env b/ospabhost/.env new file mode 100644 index 0000000..a43d6bb --- /dev/null +++ b/ospabhost/.env @@ -0,0 +1 @@ +PORT=3001 \ No newline at end of file diff --git a/ospabhost/.gitignore b/ospabhost/.gitignore index 29241a5..c311aa0 100644 --- a/ospabhost/.gitignore +++ b/ospabhost/.gitignore @@ -2,9 +2,7 @@ node_modules/ # Env files -.env -frontend/.env -backend/.env + # Build /dist diff --git a/ospabhost/backend/.env b/ospabhost/backend/.env new file mode 100644 index 0000000..1043b7c --- /dev/null +++ b/ospabhost/backend/.env @@ -0,0 +1,69 @@ +DATABASE_URL=mysql://ospab:35%2Ad556D5%25%40%2A1lK3h4jJNa81v3%23%40%2A%21%247@localhost:3306/ospabhost +JWT_SECRET=oH5N&*$S0%Z5*68@9TCn^2V@*&$6^tW2 +PORT=5000 + +PROXMOX_API_URL=https://sv1.ospab.host:8006/api2/json +PROXMOX_WEB_URL=https://212.109.195.117:8006 +PROXMOX_TOKEN_ID=api-user@pve!sv1-api-user +PROXMOX_TOKEN_SECRET=dc63ec63-43ac-4e2d-bdc8-1c95e8cc3bc6 +PROXMOX_NODE=sv1 +PROXMOX_IP=212.109.195.117 +PROXMOX_DISK_TEMPLATE=local + +PROXMOX_VM_STORAGE=vm-storage +PROXMOX_BACKUP_STORAGE=vm-storage +PROXMOX_ISO_STORAGE=vm-storage + +PROXMOX_NETWORK_BRIDGE=vmbr1 + +# SMTP (email) server settings +SMTP_HOST=mail.ospab.host +SMTP_PORT=587 +SMTP_USER=noreply@ospab.host +SMTP_PASS="wVa@7&#j$B$90G%N1wS^6wvs4K29x7I5^6&Acqp2Gd3MpRs@l*&J$yXzn*#I**eY" + +# SSH connection settings +SSH_HOST=sv1.ospab.host +SSH_PORT=2222 +SSH_USER=root +SSH_PASSWORD="9L3DDF$kX4$aC*WIY%%nLC3O!n8%x&2f1RrlzOs9d5L@l75!5v0O7De60*3D0*t&" +SSH_PRIVATE_KEY_PATH= + +TURNSTILE_SECRET_KEY=0x4AAAAAAB730_sJejZHMcWwoI84pZOUdCs + +# Web Push Notifications (VAPID keys) +VAPID_PUBLIC_KEY=BPtLNi3TY1ifUWTkgZrhxoEH6ihDgknFcgzc3xzFQg07PeuJ1TsJDQZqA32VqlxUo03g_mG0yKCKqADb4r5fnsM +VAPID_PRIVATE_KEY=5uEJBxEzCLhcMBPyGEw_GDx9JDneb6poZiX8f3b0zNE +VAPID_SUBJECT=mailto:support@ospab.host + +# OAuth Providers +GOOGLE_CLIENT_ID=939787513850-megg7tvp0sgv1at3krk9jnqvuf9o42p7.apps.googleusercontent.com +GOOGLE_CLIENT_SECRET=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 + +GITHUB_CLIENT_ID=Ov23li49tgEwGCLRs9Wg +GITHUB_CLIENT_SECRET=623db1b4285637d328689857f3fc8ae19d84b7f1 + +YANDEX_CLIENT_ID=d8a889ea467f4d699d1854ac7a4f9b48 +YANDEX_CLIENT_SECRET=e599f43f50274344b3bd9a007692c36b + +# OAuth Callback URL +OAUTH_CALLBACK_URL=https://ospab.host:5000/api/auth + +# Session Secret +SESSION_SECRET="yf2F&Y0qf&ZUxXTWIzu2tw@#6VvBa2ujDiXuv5QoxjkN%&mNqo2PRO*I*d8PlDdKb$!$n3FcXzjjgHz4Zk!W%S2Zowe6uEkuO9lO!O@axYk^TwC7$$s2r$fq#Cg^!OuE" + +# Frontend URL +FRONTEND_URL=https://ospab.host + +NODE_ENV=production + +# === MinIO S3 storage configuration === +MINIO_ENDPOINT=s3.ospab.host +MINIO_PORT=443 +MINIO_USE_SSL=true +MINIO_ACCESS_KEY=admin +MINIO_SECRET_KEY="d%&!M^v7&9v4^W9!$x7k1s9#so!0BWOt89vg4AQ^p2%!$79pP$v@96y!8Oni4EhF" +MINIO_BUCKET_PREFIX=ospab +MINIO_REGION_DEFAULT=ru-central-1 + +MINIO_MC_ALIAS=minio diff --git a/ospabhost/backend/.env.example b/ospabhost/backend/.env.example new file mode 100644 index 0000000..cf69f64 --- /dev/null +++ b/ospabhost/backend/.env.example @@ -0,0 +1,70 @@ +# Database +DATABASE_URL=mysql://user:password@localhost:3306/ospabhost +JWT_SECRET=your-jwt-secret-key-here +PORT=5000 + +# Proxmox Configuration +PROXMOX_API_URL=https://your-proxmox-host:8006/api2/json +PROXMOX_WEB_URL=https://your-proxmox-ip:8006 +PROXMOX_TOKEN_ID=api-user@pve!token-name +PROXMOX_TOKEN_SECRET=your-token-secret-here +PROXMOX_NODE=pve +PROXMOX_IP=your-proxmox-ip +PROXMOX_DISK_TEMPLATE=local + +# Storage pools for VMs disks +# ℹ️ Используем 'local' как стандартный storage для LXC контейнеров на Proxmox +# Возможные значения: local, local-lvm, nfs-storage и т.д. (зависит от конфигурации Proxmox) +PROXMOX_VM_STORAGE=local # Storage для корневой FS контейнеров +PROXMOX_BACKUP_STORAGE=local # Storage для бэкапов/снэпшотов +PROXMOX_ISO_STORAGE=local # Storage для ISO образов + +# Network configuration +# ℹ️ Сетевой мост для подключения контейнеров/VM к сети +# Возможные значения: vmbr0, vmbr1, vmbr2 и т.д. (зависит от конфигурации сети в Proxmox) +# Проверить доступные мосты: Datacenter → Node → Network +PROXMOX_NETWORK_BRIDGE=vmbr0 # Сетевой интерфейс для eth0 контейнеров + +# SMTP (email) server settings +SMTP_HOST=your-smtp-host +SMTP_PORT=587 +SMTP_USER=noreply@yourdomain.com +SMTP_PASS=your-smtp-password + +# SSH connection settings +SSH_HOST=your-proxmox-host +SSH_PORT=22 +SSH_USER=root +SSH_PASSWORD=your-ssh-password +SSH_PRIVATE_KEY_PATH= + +# Turnstile (Cloudflare Captcha) +TURNSTILE_SECRET_KEY=your-turnstile-secret + +# OAuth Providers (optional) +GOOGLE_CLIENT_ID=your-google-client-id +GOOGLE_CLIENT_SECRET=your-google-client-secret + +GITHUB_CLIENT_ID=your-github-client-id +GITHUB_CLIENT_SECRET=your-github-client-secret + +YANDEX_CLIENT_ID=your-yandex-client-id +YANDEX_CLIENT_SECRET=your-yandex-client-secret + +# OAuth Callback URL +OAUTH_CALLBACK_URL=https://yourdomain.com/api/auth + +# Session Secret +SESSION_SECRET=your-session-secret-key + +# Frontend URL +FRONTEND_URL=https://yourdomain.com + +# Panel API Integration (optional) +PANEL_URL=https://panel.yourdomain.com +SSO_SECRET_KEY=your-sso-secret-key +OSPAB_PANEL_URL=https://panel.yourdomain.com +VPS_SYNC_API_KEY=your-vps-sync-api-key +PANEL_API_KEY=your-panel-api-key + +NODE_ENV=development diff --git a/ospabhost/backend/.gitignore b/ospabhost/backend/.gitignore index 1ab9ae2..2f19ebc 100644 --- a/ospabhost/backend/.gitignore +++ b/ospabhost/backend/.gitignore @@ -1,7 +1,5 @@ node_modules/ # Keep environment variables out of version control -.env -.env.* dist/ build/ diff --git a/ospabhost/frontend/.env b/ospabhost/frontend/.env new file mode 100644 index 0000000..652454d --- /dev/null +++ b/ospabhost/frontend/.env @@ -0,0 +1,8 @@ +VITE_SBP_QR_URL="https://www.tinkoff.ru/rm/r_EuYdiibJtU.jfgPfrHOCE/hTZjH20709" +VITE_CARD_NUMBER="2204 2402 3323 3354" + +VITE_TURNSTILE_SITE_KEY=0x4AAAAAAB7306voAK0Pjx8O + +# API URLs (с портом 5000) +VITE_API_URL=https://ospab.host:5000 +VITE_SOCKET_URL=wss://ospab.host:5000 \ No newline at end of file diff --git a/ospabhost/frontend/.env.example b/ospabhost/frontend/.env.example new file mode 100644 index 0000000..52258d7 --- /dev/null +++ b/ospabhost/frontend/.env.example @@ -0,0 +1,9 @@ +# API Configuration +# URL backend API (всегда HTTPS) +VITE_API_URL=https://ospab.host:5000 + +# WebSocket URL (всегда WSS для HTTPS) +VITE_SOCKET_URL=wss://ospab.host:5000 + +# Cloudflare Turnstile Site Key +VITE_TURNSTILE_SITE_KEY=your_turnstile_site_key diff --git a/ospabhost/frontend/.gitignore b/ospabhost/frontend/.gitignore index ccede5e..d600b6c 100644 --- a/ospabhost/frontend/.gitignore +++ b/ospabhost/frontend/.gitignore @@ -23,5 +23,3 @@ dist-ssr *.sln *.sw? -.env -.env.*