I USE ARCH BTW!
Hardcoder track: run panel + connector-go on Arch Linux with systemd and Docker engine.
1. Install base packages
sudo pacman -Syu --noconfirm
sudo pacman -S --noconfirm git curl base-devel nodejs npm go docker docker-compose
2. Enable Docker service
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker
docker --version
docker run --rm hello-world
3. Clone project
cd ~
git clone https://github.com/mihai209/cpanel-rocky.git
cd cpanel-rocky
4. Run panel
cd ~/cpanel-rocky/panel
npm install
npm run upgrade-db
npm run create-user
npm run dev
5. Run 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: systemd services (native Arch style)
/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. Enable services
sudo systemctl daemon-reload
sudo systemctl enable --now cpanel-panel@$USER
sudo systemctl enable --now cpanel-connector@$USER
If you use nftables/ufw/firewalld on Arch, open panel and game allocation ports explicitly, otherwise external connections will fail even when Docker is bound.
