Home
Overview

Containers

Docker installation Docker Compose Docker Swarm

Ingress

Cloudflare Tunnel Cloudflare Access Nginx Proxy Manager

Serving & storage

Nginx and Gunicorn Storage and buckets

Automation

Self-hosted runner Provisioning a host
Server

Tools

Directory Every page, filtered by category and tag Tags Narrow the library by combining tags Graph How pages link to one another Todo What's next, in progress, and shipped Review Page notes and site findings Bookmarks Pages saved on this device Settings Values filled into code blocks
Ctrl K

    1. Home
    2. Server

    Server

    Self-hosted infrastructure

    10 pages

    Containers

    • Docker installation Installing Docker Engine from the official repository, plus production hardening.
    • Docker Compose Everyday Compose commands for the Django stacks, plus cleanup.
    • Docker Swarm Single-node swarm running the zaideih and myordbok stacks.

    Ingress

    • Cloudflare Tunnel Outbound-only ingress with cloudflared — no open ports.
    • Cloudflare Access SSH through Access - interactive, CI, and short-lived certificates.
    • Nginx Proxy Manager One proxy in front of every stack, on a shared external network.

    Serving & storage

    • Nginx and Gunicorn Serving Django directly from systemd, without containers.
    • Storage and buckets virtiofs shares into a VM, and R2 over rclone.

    Automation

    • Self-hosted runner Running the GitHub Actions runner on the VM, with Docker access.
    • Provisioning a host First-boot setup script, hosts entries, and bridge checks.
    Lethil · built with © 2026