I am not liable for any broken screens as a result of waiting...

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.

Status

In Active Development
Top