BlueOnyx 5212R - Full-featured web hosting control panel for AlmaLinux 10
Note: BlueOnyx requires systemd and privileged mode to run properly.
- Web Hosting - Apache with mod_php and virtual host management
- Email Server - Postfix (satellite mode support) + Dovecot (IMAP/POP3)
- DNS Server - BIND with zone management
- FTP Server - ProFTPD with virtual users
- Database - MariaDB 10.11 with phpMyAdmin
- Key-Value Store - Valkey (Redis-compatible) for caching
- SSL/TLS - Let's Encrypt support via Certbot with auto-renewal
- User Management - Multi-user and reseller support
- 2FA Authentication - Two-factor authentication support
- CalDAV/CardDAV - Calendar and contact synchronization
- Web GUI - Full-featured control panel on ports 444 (HTTPS) / 81 (HTTP)
- 40+ ENV Variables - Extensive configuration via environment variables
- Platform: linux/amd64 only (BlueOnyx RPM packages)
- Docker: Version 20.10+ with privileged mode support
- CPU: x86_64 architecture
- Memory: At least 2GB RAM recommended
- Storage: Minimum 5GB for container + data
- Persistent Volumes: Required for /data and /config
docker run -d \
--name blueonyx \
--hostname blueonyx.local \
--privileged \
--cgroupns=host \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
-v blueonyx-data:/data \
-v blueonyx-config:/config \
-p 444:444 \
-p 81:81 \
-e BLUEONYX_HOSTNAME=blueonyx \
-e BLUEONYX_DOMAIN=local \
casjaysdevdocker/blueonyx:latestversion: "3.8"
services:
blueonyx:
image: casjaysdevdocker/blueonyx:latest
container_name: blueonyx
hostname: blueonyx.local
privileged: true
cgroup: host
environment:
- BLUEONYX_HOSTNAME=blueonyx
- BLUEONYX_DOMAIN=local
- TZ=America/New_York
volumes:
- /sys/fs/cgroup:/sys/fs/cgroup:rw
- blueonyx-data:/data
- blueonyx-config:/config
ports:
- "444:444" # HTTPS Admin Interface
- "81:81" # HTTP Admin Interface
- "80:80" # HTTP Web Hosting (optional)
- "443:443" # HTTPS Web Hosting (optional)
- "21:21" # FTP (optional)
- "25:25" # SMTP (optional)
- "110:110" # POP3 (optional)
- "143:143" # IMAP (optional)
restart: unless-stopped
volumes:
blueonyx-data:
blueonyx-config:- Wait 2-3 minutes for BlueOnyx to fully initialize
- Access the admin panel: https://YOUR_IP:444/ or http://YOUR_IP:81/
- Default credentials:
- Username:
admin - Password: Check
/data/ADMIN_PASSWORD.txt(auto-generated) or set viaBLUEONYX_ADMIN_PASSWORDENV var
- Username:
- Change the admin password immediately after first login
Note: If you set BLUEONYX_ADMIN_PASSWORD, use that password. Otherwise, the container generates a random password and saves it to /data/ADMIN_PASSWORD.txt.
BlueOnyx supports extensive configuration through environment variables:
| Variable | Default | Description |
|---|---|---|
BLUEONYX_HOSTNAME |
blueonyx |
Server hostname |
BLUEONYX_DOMAIN |
local |
Server domain name |
BLUEONYX_IPV4 |
auto-detected | IPv4 address |
BLUEONYX_IPV6 |
none | IPv6 address |
BLUEONYX_GATEWAY |
auto-detected | Network gateway |
BLUEONYX_NAMESERVER |
8.8.8.8 |
DNS nameserver |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_ADMIN_USER |
admin |
Admin username |
BLUEONYX_ADMIN_PASS |
auto-generated | Admin password (saved to /data/ADMIN_PASSWORD.txt) |
BLUEONYX_ADMIN_EMAIL |
admin@{domain} |
Admin email address |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_POSTFIX_MODE |
satellite |
Postfix mode (satellite, internet, local) |
BLUEONYX_POSTFIX_RELAY |
docker gateway | SMTP relay host |
BLUEONYX_POSTFIX_RELAY_PORT |
25 |
SMTP relay port |
BLUEONYX_POSTFIX_RELAY_USER |
none | SMTP relay username (optional) |
BLUEONYX_POSTFIX_RELAY_PASS |
none | SMTP relay password (optional) |
BLUEONYX_ENABLE_DOVECOT |
yes |
Enable Dovecot IMAP/POP3 |
BLUEONYX_ENABLE_SPAM_FILTER |
yes |
Enable SpamAssassin |
BLUEONYX_ENABLE_ANTIVIRUS |
yes |
Enable ClamAV |
BLUEONYX_ENABLE_DKIM |
yes |
Enable DKIM signing |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_DB_TYPE |
mariadb |
Database type |
BLUEONYX_DB_ROOT_PASS |
auto-generated | MySQL root password (saved to /data/MYSQL_ROOT_PASSWORD.txt) |
BLUEONYX_ENABLE_POSTGRES |
no |
Enable PostgreSQL |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_VALKEY_ENABLED |
yes |
Enable Valkey (Redis-compatible) |
BLUEONYX_VALKEY_PORT |
6379 |
Valkey port |
BLUEONYX_VALKEY_MAXMEMORY |
256mb |
Maximum memory for Valkey |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_WEB_PROXY |
nginx |
Web proxy (nginx, apache) |
BLUEONYX_HTTP2_ENABLED |
yes |
Enable HTTP/2 |
BLUEONYX_TLS_VERSION |
1.3 |
Minimum TLS version |
BLUEONYX_ENABLE_SSL |
yes |
Enable SSL/TLS |
BLUEONYX_SSL_TYPE |
selfsigned |
SSL certificate type |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_CERTBOT_ENABLED |
no |
Enable Certbot for Let's Encrypt |
BLUEONYX_CERTBOT_EMAIL |
admin email | Email for Let's Encrypt notifications |
BLUEONYX_CERTBOT_DOMAINS |
none | Comma-separated list of domains for certificates |
BLUEONYX_CERTBOT_WEBROOT |
/var/www/html |
Webroot path for ACME challenge |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_ENABLE_DNS |
yes |
Enable BIND DNS server |
BLUEONYX_DNS_FORWARDERS |
8.8.8.8 8.8.4.4 |
DNS forwarders |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_ENABLE_FTP |
yes |
Enable ProFTPD |
BLUEONYX_FTP_PASSIVE_PORTS |
30000-30100 |
Passive port range |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_VHOSTS |
none | Comma-separated list of virtual hosts to create (e.g., example.com,test.com) |
| Variable | Default | Description |
|---|---|---|
BLUEONYX_ENABLE_CALDAV |
yes |
Enable CalDAV |
BLUEONYX_ENABLE_DOCKER |
yes |
Enable Docker GUI |
BLUEONYX_ENABLE_WEBALIZER |
yes |
Enable Webalizer stats |
TZ |
America/New_York |
Timezone |
docker run -d --name blueonyx --privileged --cgroupns=host \
-v /sys/fs/cgroup:/sys/fs/cgroup:rw \
-v blueonyx-data:/data \
-v blueonyx-config:/config \
-v blueonyx-logs:/logs \
-p 444:444 -p 81:81 -p 80:80 -p 443:443 -p 25:25 \
-e BLUEONYX_HOSTNAME=mail \
-e BLUEONYX_DOMAIN=example.com \
-e BLUEONYX_ADMIN_EMAIL=admin@example.com \
-e BLUEONYX_POSTFIX_MODE=satellite \
-e BLUEONYX_POSTFIX_RELAY=smtp.sendgrid.net \
-e BLUEONYX_POSTFIX_RELAY_PORT=587 \
-e BLUEONYX_POSTFIX_RELAY_USER=apikey \
-e BLUEONYX_POSTFIX_RELAY_PASS=SG.xxxxx \
-e BLUEONYX_VHOSTS=site1.example.com,site2.example.com,api.example.com \
-e BLUEONYX_VALKEY_ENABLED=yes \
-e BLUEONYX_VALKEY_MAXMEMORY=512mb \
-e BLUEONYX_CERTBOT_ENABLED=yes \
-e BLUEONYX_CERTBOT_EMAIL=ssl@example.com \
-e BLUEONYX_CERTBOT_DOMAINS=example.com,www.example.com \
casjaysdevdocker/blueonyx:latestThe container uses volumes for persistent storage following the schema:
/data/db/mariadb- MariaDB/MySQL database files/data/db/valkey- Valkey (Redis) data files/data/home- User home directories/data/www- Web hosting files/data/mail- Mail storage (Dovecot)/data/dns- DNS zone files (BIND)
/config/blueonyx- BlueOnyx main configuration/config/mariadb- MariaDB/MySQL configuration/config/apache- Apache web server configuration/config/nginx- Nginx proxy configuration/config/postfix- Postfix mail server configuration/config/dovecot- Dovecot IMAP/POP3 configuration/config/bind- BIND DNS server configuration/config/proftpd- ProFTPD FTP server configuration/config/ssl- SSL/TLS certificates/config/ssl/certs/- Certificate files/config/ssl/private/- Private keys/config/ssl/letsencrypt/- Let's Encrypt certificates
/logs- All service logs/logs/letsencrypt/- Certbot logs
docker run -d \
-v blueonyx-data:/data \
-v blueonyx-config:/config \
-v blueonyx-logs:/logs \
casjaysdevdocker/blueonyx| Port | Service | Protocol |
|---|---|---|
| 444 | Admin HTTPS | TCP |
| 81 | Admin HTTP | TCP |
| 80 | Web HTTP | TCP |
| 443 | Web HTTPS | TCP |
| 21 | FTP | TCP |
| 25 | SMTP | TCP |
| 110 | POP3 | TCP |
| 143 | IMAP | TCP |
| 53 | DNS | TCP/UDP |
| 6379 | Valkey/Redis | TCP |
This container includes a fully functional BlueOnyx 5212R installation with:
- BlueOnyx Core (~1200 RPM packages)
- Apache with mod_php and mod_authnz_external
- MariaDB 10.11 database server
- Postfix mail server with satellite mode support
- Dovecot IMAP/POP3 server with auto-generated SSL certificates
- BIND DNS server with zone management
- ProFTPD FTP server
- Valkey Redis-compatible key-value store
- Certbot for Let's Encrypt SSL certificate automation
- PHP with multiple versions support
- All required dependencies pre-installed and configured
Version 2.0 (2026-02):
- ✅ Added Valkey (Redis-compatible) support
- ✅ Integrated Certbot with automatic SSL renewal
- ✅ Implemented 40+ environment variables for configuration
- ✅ Added virtual host auto-creation via
BLUEONYX_VHOSTS - ✅ Postfix satellite mode with Docker gateway auto-detection
- ✅ Password auto-generation with secure storage
- ✅ Fixed Apache mod_authnz_external module loading
- ✅ Fixed Dovecot SSL certificate generation
- ✅ Improved startup service reliability
- ✅ Platform-restricted to linux/amd64 for stability
BlueOnyx manages multiple system services (Apache, MySQL, DNS, mail) and requires:
--privilegedflag- Access to
/sys/fs/cgroup - systemd as PID 1
This is by design - BlueOnyx is a full control panel, not a single-service app.
Unlike bare-metal installation, the container version handles all initialization automatically. No container restart is required after first boot.
SELinux is automatically disabled in the container (required by BlueOnyx).
docker exec blueonyx systemctl status cced.init admserv httpd mariadb postfix named dovecot valkeydocker exec blueonyx systemctl status cced.init
docker exec blueonyx systemctl status httpd
docker exec blueonyx systemctl status mariadb
docker exec blueonyx systemctl status postfix
docker exec blueonyx systemctl status dovecot# Container logs
docker logs blueonyx
# Service-specific logs
docker exec blueonyx journalctl -u cced.init -f
docker exec blueonyx journalctl -u httpd -f
docker exec blueonyx journalctl -u blueonyx-startup -fdocker exec -it blueonyx /bin/bashdocker exec blueonyx cat /data/ADMIN_PASSWORD.txt
docker exec blueonyx cat /data/MYSQL_ROOT_PASSWORD.txtdocker exec blueonyx valkey-cli ping
docker exec blueonyx valkey-cli INFOdocker exec blueonyx ls -la /etc/httpd/conf.d/vhost_*.confServices not starting: Wait 2-3 minutes after container start. BlueOnyx initializes multiple services sequentially.
Port conflicts: Ensure ports 444, 81, 80, 443 are not in use by other containers/services.
Permission errors: Container must run with --privileged flag and cgroupfs access.
Dovecot fails: SSL certificates are auto-generated. Check /etc/pki/dovecot/ for certificates.
httpd fails: Ensure Apache modules are loaded. Check logs with journalctl -u httpd.
git clone "https://github.com/casjaysdevdocker/blueonyx" "$HOME/Projects/github/casjaysdevdocker/blueonyx"
cd "$HOME/Projects/github/casjaysdevdocker/blueonyx"cd "$HOME/Projects/github/casjaysdevdocker/blueonyx"
docker build -t blueonyx:local .- BlueOnyx Official Site: https://www.blueonyx.it/
- Documentation: https://www.blueonyx.it/index.php?page=features
- Mailing List: https://www.blueonyx.it/index.php?page=mailing-list