System Requirements

This page describes the supported platforms and dependencies for SmallBlock CMS.

Supported Platforms

  • Linux distributions: CentOS Stream 10, Fedora 40+, Ubuntu 22.04+

  • Python: 3.10 or later

  • Databases: PostgreSQL 13+ or MariaDB 10.5+

  • Web server / reverse proxy: Nginx 1.20+ (recommended)

Hardware (Guidelines)

  • CPU: 2+ vCPUs for production; 1 is sufficient for evaluation

  • RAM: 2 GB minimum (4+ GB recommended for production)

  • Storage: 10 GB minimum free space (logs, media, backups)

  • Network: open ports 80/443 for HTTP/HTTPS

OS Packages

CentOS Stream 10 example:

sudo dnf install -y python3 python3-pip nginx git
# Database (choose one):
sudo dnf install -y postgresql-server  # for PostgreSQL
sudo dnf install -y mariadb-server     # for MariaDB

Users and Permissions

Create a non-root user to manage your app process and files:

sudo useradd --system --home /srv/smallblock --shell /sbin/nologin smallblock
sudo mkdir -p /srv/smallblock/{app,env,run,logs,static,media}
sudo chown -R smallblock:smallblock /srv/smallblock

Security Notes

  • SELinux: keep enforcing; label sockets and app data correctly.

  • Firewall: allow only ports 80/443 from the Internet; DB ports should be local-only.

  • TLS: terminate HTTPS at Nginx; use Let’s Encrypt or a managed cert.