Quick Setup Step 4

Run the Development Server

With Python, dependencies, and your database ready, this step starts SmallBlock CMS for the first time.

Note

The development server is for local use only. For production deployments, refer to Deployment.

Initialize a New Project

Run the SmallBlock initializer to create a project directory.

smallblock init mysite
cd mysite

This creates a minimal layout:

mysite/
├── settings.yaml
├── manage.py
├── templates/
└── content/

Apply Database Migrations

Prepare the schema:

smallblock migrate

Expected output:

✔ Applied 12 migrations
✔ Database schema is up to date

Run the Development Server

Start the built-in web server on port 8000.

Debian / Ubuntu

smallblock runserver 0.0.0.0:8000

RHEL / CentOS / AlmaLinux / Rocky / Stream 9–10

smallblock runserver 0.0.0.0:8000

Fedora

smallblock runserver 0.0.0.0:8000

openSUSE Leap / Tumbleweed

smallblock runserver 0.0.0.0:8000

Arch Linux

smallblock runserver 0.0.0.0:8000

(All distributions use the same command; differences are only in service management.)

Verify the Server

Visit the URL shown in the terminal—usually:

http://127.0.0.1:8000/

You should see the SmallBlock CMS welcome page.

Stop the server with Ctrl +C.

Optional: Custom Port or Host

You can bind to a custom host or port:

smallblock runserver 8080
smallblock runserver 192.168.1.10:9000

Logs and Hot Reloading

  • Logs appear in the terminal by default.

  • When debug: true in settings.yaml, changes to templates auto-reload.

  • To disable reload:

    smallblock runserver --no-reload
    

Common Issues

Port already in use

Another process (e.g., Nginx) is listening on :8000.

sudo lsof -i :8000
sudo kill <PID>

Missing database tables

Re-run migrations:

smallblock migrate --force

Next Step

You now have a working local instance. For production deployment, see Production Deployment Guide.