Web panel for provisioning and managing Docker-based game/app servers.
- Repo: https://github.com/mihai209/CPanel
- License: MIT
- Node.js + Express
- EJS templates
- Sequelize (SQLite by default, MySQL/PostgreSQL supported)
- WebSocket bridge for connector communication
- Node.js 20+
- npm 10+
- Docker host with at least one
connector-gonode
cd /home/mihai/Desktop/cpanel/panel
cp .env.example .env
npm ci
npm run upgrade-db
npm run devDefault URL: http://localhost:3000
cd /home/mihai/Desktop/cpanel/panel
cp .env.mysql-docker.example .env
docker compose -f docker-compose.mysql.yml up -d
npm run upgrade-db
npm run create-user
npm run devUse docker compose -f docker-compose.mysql.yml ps to check DB health.
Default Docker DB credentials are defined in docker-compose.mysql.yml.
Change all passwords before production use.
npm run dev- start with nodemonnpm start- start in normal modenpm run upgrade-db- apply schema/data upgradesnpm run create-user- create initial user/adminnpm run lang:sync- syncespanol.jsonandromana.jsonfromenglish.json(auto-translate only missing/unchanged keys)
Language sync options:
npm run lang:sync -- --force- re-translate all keysnpm run lang:sync -- --only=es- sync only Spanishnpm run lang:sync -- --only=ro- sync only Romaniannpm run lang:sync -- --limit=50- translate only first 50 pending keys (test mode)
- Multi-connector and multi-location orchestration
- Power/console/files management
- SFTP integration (toggleable from admin settings)
- Schedules, smart alerts, scaling, inventory/store/redeem/deals
- Admin API keys + audit
- Migration flows from Pterodactyl
- Extensions system (announcer, incidents, maintenance, security tools)
Check .env.example. Common keys:
APP_PORTAPP_URLAPP_SECRETCONNECTOR_SECRETDEBUGTIMEZONE
GET/WS /ws/connectorGET/WS /ws/server/:containerIdPOST /api/connector/sftp-auth
Connector repo: https://github.com/mihai209/Connector
- Use
panel/conf/nginx.conforpanel/conf/apache2.conf, or standalone mode. - Run panel and connector processes with
systemdorpm2. - Keep secrets private and rotate tokens/keys on compromise.
Panel web pentru provisionare si administrare de servere game/app bazate pe Docker.
- Repo: https://github.com/mihai209/CPanel
- Licenta: MIT
- Node.js + Express
- Template-uri EJS
- Sequelize (implicit SQLite, suport si pentru MySQL/PostgreSQL)
- Bridge WebSocket pentru comunicarea cu connector-ele
- Node.js 20+
- npm 10+
- Host Docker cu cel putin un nod
connector-go
cd /home/mihai/Desktop/cpanel/panel
cp .env.example .env
npm ci
npm run upgrade-db
npm run devURL implicit: http://localhost:3000
npm run dev- pornire cu nodemonnpm start- pornire normalanpm run upgrade-db- aplica upgrade-uri de schema/datenpm run create-user- creeaza utilizator initial/adminnpm run lang:sync- sincronizeazaespanol.jsonsiromana.jsondinenglish.json(traduce doar cheile lipsa/nesincronizate)
Optiuni pentru sincronizare limbi:
npm run lang:sync -- --force- retraduce toate cheilenpm run lang:sync -- --only=es- sincronizeaza doar spaniolanpm run lang:sync -- --only=ro- sincronizeaza doar romananpm run lang:sync -- --limit=50- traduce doar primele 50 chei pendinte (test)
- Orchestrare multi-connector si multi-location
- Management power/consola/fisiere
- Integrare SFTP (toggle din admin settings)
- Schedules, smart alerts, scaling, inventory/store/redeem/deals
- Chei API de admin + audit
- Fluxuri de migrare din Pterodactyl
- Sistem de extensii (announcer, incidents, maintenance, security tools)
Verifica .env.example. Chei uzuale:
APP_PORTAPP_URLAPP_SECRETCONNECTOR_SECRETDEBUGTIMEZONE
GET/WS /ws/connectorGET/WS /ws/server/:containerIdPOST /api/connector/sftp-auth
Repo connector: https://github.com/mihai209/Connector
- Foloseste
panel/conf/nginx.confsaupanel/conf/apache2.conf, ori modul standalone. - Ruleaza panelul si connector-ele cu
systemdsaupm2. - Pastreaza secretele private si roteste token-urile/cheile compromise.