Lycanis OS
Web Hosting Control Panel / Go / Ubuntu Server
About
Lycanis OS is my own web hosting control panel, in the spirit of Plesk, cPanel and HestiaCP. It is a single Go binary that drives the standard Linux server stack: nginx, PHP-FPM, Node.js, MariaDB, PostgreSQL, BIND, Pure-FTPd, ModSecurity, fail2ban, restic and Docker.
From one browser tab you can create websites, add domains with DNS and SSL, manage databases, deploy from Git, schedule tasks, take backups and keep an eye on the server's health. It installs on a fresh Ubuntu 26.04 LTS server.
Challenge
To manage a hosting server without paying for a commercial panel licence, and without a heavy panel that uses up the memory a small VPS needs for its websites. It also had to be secure enough to let other people host their sites on the same server.
Solution
I built the panel from scratch in Go, with server-rendered pages and Bootstrap 5. The panel itself uses about 30-50 MB of RAM, and services such as PostgreSQL, Docker and BIND stay switched off until they are first needed. Every user gets their own system account, so their sites, deploys and file changes run as them, never as root.
Features
Websites
Static, PHP, Node.js or reverse proxy sites, each with any number of domains, free Let's Encrypt certificates, HTTP/2, redirects and per-site PHP settings.
Deploy by Upload, FTP or Git
Upload a zip in the file manager, use an FTP account locked to the site, or connect a repository. Push webhooks from GitHub, GitLab, Gitea and Forgejo deploy automatically.
Domains & DNS
Domains and subdomains with an optional DNS zone on the server, a record editor, one-switch DNSSEC, and a DNS check that compares what the world sees with what it should be.
Databases
MariaDB and PostgreSQL databases with extra full or read-only users, plus a database browser (AdminNeo) themed to match the panel.
Security
Required two-factor authentication, an activity log, a web application firewall per site, fail2ban, a ufw firewall managed in the panel and automatic Ubuntu security updates.
Backups
Scheduled, incremental restic backups of home folders and databases, with retention rules and support for local, SFTP, S3 and B2 storage.
Health Monitor & Alerts
CPU, memory, disk and network history, service status, and alerts to Discord, Slack or ntfy when something goes wrong or an update is waiting.
Vulnerability Checks
Each website's Composer and npm packages are checked against the OSV.dev database every morning, alongside checks for PHP, Node.js and Docker image updates.
Docker
Run, stop and inspect containers on the local engine or remote hosts, and pair a container with a reverse proxy website to give it a domain and SSL.
Gallery
Results
Lycanis OS covers everything I used a commercial panel for, and it costs nothing to run beyond the server itself.
Building it taught me how much a hosting panel does behind the scenes. Most of the work was not the interface but the details: running every site as its own user, stopping symlinks and redirects from reaching places they shouldn't, and making sure updates, certificates and backups never fail silently.
12,000+
Lines of Go
11
Services Managed
30-50 MB
Panel RAM Use
Figures from the project's source code as of October 2026.