RockyCPanel Rocky

I USE ARCH BTW!

Track pentru hardcoders: rulezi panel + connector-go pe Arch Linux, cu systemd si Docker engine.

1. Instaleaza pachetele de baza

sudo pacman -Syu --noconfirm
sudo pacman -S --noconfirm git curl base-devel nodejs npm go docker docker-compose

2. Activeaza serviciul Docker

sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker

docker --version
docker run --rm hello-world

3. Cloneaza proiectul

cd ~
git clone https://github.com/mihai209/cpanel-rocky.git
cd cpanel-rocky

4. Ruleaza panelul

cd ~/cpanel-rocky/panel
npm install
npm run upgrade-db
npm run create-user
npm run dev

5. Ruleaza connector-go

cd ~/cpanel-rocky/connector-go
go mod tidy
go build -o connector-go ./
CONNECTOR_CONFIG=./config.json VOLUMES_PATH=/var/lib/cpanel/volumes ./connector-go

6. Optional: servicii systemd (stil Arch nativ)

/etc/systemd/system/cpanel-panel.service

[Unit]
Description=CPanel Rocky Panel
After=network.target docker.service

[Service]
Type=simple
User=%i
WorkingDirectory=/home/%i/cpanel-rocky/panel
ExecStart=/usr/bin/node server.js
Restart=always
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

/etc/systemd/system/cpanel-connector.service

[Unit]
Description=CPanel Rocky Connector-Go
After=network.target docker.service

[Service]
Type=simple
User=%i
WorkingDirectory=/home/%i/cpanel-rocky/connector-go
ExecStart=/home/%i/cpanel-rocky/connector-go/connector-go
Environment=CONNECTOR_CONFIG=/home/%i/cpanel-rocky/connector-go/config.json
Environment=VOLUMES_PATH=/var/lib/cpanel/volumes
Restart=always

[Install]
WantedBy=multi-user.target

7. Activeaza serviciile

sudo systemctl daemon-reload
sudo systemctl enable --now cpanel-panel@$USER
sudo systemctl enable --now cpanel-connector@$USER
Daca folosesti nftables/ufw/firewalld pe Arch, deschide explicit porturile panelului si porturile de allocatii, altfel conexiunile externe vor pica chiar daca Docker are bind activ.