Commit Graph

180 Commits

Author SHA1 Message Date
qwen.ai[bot]
79dd95c6d4 Initialize default admin user on startup to resolve missing credentials issue
- Updated `backend/app/main.py`: Added automatic execution of `/app/init_admin.py` during application startup to create default admin account
- Modified `.gitignore`: Removed `.env` from ignored files to ensure environment configuration is available during deployment
- Enhanced `lifespan` context manager: Integrated admin initialization with proper error handling and logging
- Improved startup reliability: Ensures default credentials are provisioned regardless of deployment environment

The fix ensures that new deployments automatically set up the default admin user, resolving widespread issues with missing login credentials. The change is robust, idempotent, and logs all initialization steps for debugging.
2026-03-02 14:38:01 +00:00
Dilshod Rasulov
b65be53f28 Clean up CHANGELOG by removing old versions
Removed outdated version information and features for versions v2.1.4 to v1.0.0 from CHANGELOG.md.
2025-12-29 12:35:04 +05:00
Dilshod Rasulov
5731a09064 Change version file to 1.0 2025-12-29 11:29:10 +05:00
19c726aca2 Security: improve password generation in deploy script
- Modified create_default_env() to accept password as parameter
- Modified create_default_backend_env() to accept password and secret key as parameters
- Updated quick_deploy_standalone() to pass generated passwords directly
- Updated quick_deploy_nginx() to pass generated passwords directly
- Ensures no hardcoded passwords are ever written to .env files
- All passwords are now randomly generated with openssl (25 chars for DB, 64 chars for JWT)
2025-12-16 20:30:21 +05:00
4afffe9953 Fix server availability check - use is_admin instead of role relationship 2025-12-16 20:19:12 +05:00
f0e53e2939 Bump version to 1.1.0
New features:
- In-app notifications for new panel version availability
- Git repository selection for updates (configurable via UI)
- Password reset instructions in troubleshooting guide
2025-12-16 20:06:22 +05:00
8a29e3a087 Update WIKI with git repository selection instructions 2025-12-16 20:05:54 +05:00
8dced5479d Add git repository selection for panel updates
- Add repository URL setting to panel_settings table
- Support for multiple git hosting providers (GitHub, Gitea, GitLab, etc.)
- UI selector for predefined repositories (git.tzim.uz and github.com) or custom URL
- Update service now uses repository from database settings
- API endpoints: GET/PUT /api/updates/repository
- Migration for default repository setting
- Translations for repository selection UI
2025-12-16 20:04:57 +05:00
2541360f51 Fix password reset commands - remove emoji to avoid encoding issues 2025-12-16 19:51:25 +05:00
1fda6a595b Add password reset instructions to troubleshooting guide 2025-12-16 19:49:13 +05:00
aa8c06116d Add in-app notifications for new panel version availability
- Add notify_update_available() method to NotificationService
- Add translations for update notifications (ru/en)
- Add 'update' type to default notification types
- Add check_for_panel_updates() background task (runs every 6 hours)
- Notifications include link to settings page for easy update access
- Prevent duplicate notifications for same version
2025-12-16 19:38:04 +05:00
3113aa5905 Docs consolidation: merge API and Deployment guides into WIKI; remove duplicates; set version to v1.0; align init.sql header 2025-12-15 22:30:53 +05:00
df7725e3f0 Deduplicate env examples: unify TZ usage, move update-check vars to root, align DISABLE_UPDATE_CHECK default with compose 2025-12-15 22:21:21 +05:00
51c9a61582 Auto-release IPAM allocations when VMs are deleted externally
- Added IPAM release in sync_vm_cache when VM is no longer found on Proxmox
- Works when VMs deleted through Proxmox UI (not through panel)
- Logs released IPs count in sync summary
- Also includes server availability monitoring with notifications
2025-12-15 21:42:12 +05:00
2444d9246c Simplify node deduplication - use only global node name check
- Removed complex cluster detection logic
- Simple global deduplication by node name is sufficient
- Works correctly even when nodes temporarily disconnect/reconnect
- Each node name appears only once regardless of cluster state
2025-12-15 21:26:13 +05:00
da201d3711 Fix cluster node deduplication using node names instead of IP
- Changed cluster detection to use sorted node names as cluster key
- Global deduplication by node name prevents duplicates
- Works correctly when cluster servers have different IPs
2025-12-15 21:20:01 +05:00
dae3315e36 Fix dashboard node charts for clusters showing all nodes correctly
- Changed logic to process ALL nodes from cluster, not just the first one
- Added processedClusterIPs set to avoid duplicate processing of cluster servers
- Now clusters show all nodes (pve1, pve2, pve3) instead of duplicating first node
- Fixed issue where node names were incorrect after node reconnection
2025-12-15 21:05:31 +05:00
ceba95b1ef Fix IP address text color in IPAM maintenance and logs
- Added color: var(--text-primary) to unlinked allocations IP in ipam_dashboard.html
- Added color: var(--text-primary) to IP address column in logs.html
- Prevents black text on dark theme
2025-12-15 20:56:37 +05:00
83626d94bc Fix duplicate key error when creating VM with previously deleted VMID
- Modified save_vm_instance to check for soft-deleted records before insert
- If a soft-deleted record exists with same server_id+vmid, restore and update it
- Prevents 'duplicate key value violates unique constraint' errors
2025-12-15 20:53:15 +05:00
b0450438da Fix Font Awesome icons rendering in modal dialogs
- Changed textContent to innerHTML for proper HTML icon rendering
- Fixed VNC modal titles in instance_detail.html, proxmox_vms.html, proxmox_server_detail.html
- Fixed command execution output icons in instance_detail.html
- Fixed settings and reinstall modal titles in proxmox_server_detail.html
- Added color styles to IPv4/IPv6 network interface icons
2025-12-15 20:37:34 +05:00
cf456faa16 fix: Apply IPAM IP address to VM cloud-init configuration
- Fix field names in frontend: ipam_ip -> ip_address, ipam_gateway -> gateway
- Pass ipam_network_id to deploy API for proper network mask lookup
- Extract network mask from IPAM network CIDR (e.g., /24 from 10.10.10.0/24)
- Auto-fetch gateway from IPAM network if not provided
- Add detailed logging for VM IP configuration
- Remove hardcoded /24 mask, use actual network mask from IPAM

This fixes the issue where VMs were getting DHCP instead of the
static IP allocated from IPAM.
2025-12-15 20:30:17 +05:00
379afd0353 feat: Add SSH public key storage for users
- Add ssh_public_key column to User model for storing SSH keys
- Add database migration for ssh_public_key column
- Add SSH key section in user profile settings with validation
- Auto-inject user's SSH key when deploying VMs from templates
- Auto-inject user's SSH key when creating LXC containers
- Support for both regular and smart LXC creation endpoints
- Add i18n translations for SSH key UI (ru/en)
- Validate SSH key format (ssh-rsa, ssh-ed25519, ecdsa-sha2, ssh-dss)

Users can now save their SSH public key in Settings -> Account,
and it will be automatically added to any VM or LXC container
they create, enabling passwordless SSH access.
2025-12-15 20:22:42 +05:00
2b78d93710 Add password validation with i18n support and GitHub button improvements
- Add password field to UserUpdate schema for password change on edit
- Implement password validation in update_user endpoint
- Add i18n translations for password validation errors (ru/en)
- Update SecurityService.validate_password to support language parameter
- Add GitHub icon and repository name 'pvemanager' to header button
- Fix internal server error when updating user password
- Clean up hardcoded translations in frontend
2025-12-15 20:10:17 +05:00
Dilshod Rasulov
52ec402c03 TZ update 2025-12-15 16:29:04 +05:00
35efcba41d Fix update service: use GitHub API instead of git fetch for checking updates 2025-12-15 13:38:34 +05:00
46fd3333dc Update README.md 2025-12-15 13:09:05 +05:00
5153a668d6 Release v1.0 - Update version across all files 2025-12-15 13:07:24 +05:00
f5a3903f5d Add complete project structure and all files 2025-12-15 13:03:29 +05:00
dc4c2521c7 Update README.md 2025-12-15 12:49:20 +05:00
Dilshod Rasulov
3ca2089a72 Initial commit 2025-12-15 12:36:10 +05:00