Installation
Install Chinaski
One command on Debian or Ubuntu. An offline bundle for air-gapped and non-Debian systems. No repository to add, no toolchain to assemble.
Download install.shTwo install paths
Online — Debian / Ubuntu
Uses apt to install pre-compiled Perl packages. No C compiler, no CPAN wait. The installer runs in about 30 seconds on a typical VPS.
curl -fsSL https://www.chinaski.net/install.sh \
| sudo bash -s -- 1Downloads ~4 MB. Requires internet access during the install.
Offline — any Linux
Downloads a self-contained bundle with all Perl modules as vendored source tarballs. Compiles them on your machine. Works air-gapped once the bundle is on disk.
curl -fsSL https://www.chinaski.net/install.sh \
| sudo bash -s -- --offline \
--prefix /srv/chinaskiDownloads ~50 MB. Requires gcc, make, and image dev libraries (libjpeg, libpng, libgif).
Online install — Debian / Ubuntu
Prerequisites
A Debian or Ubuntu host with sudo or root access. The installer handles everything else — Perl, SQLite, all nine production dependencies — via apt. Supported on Debian 11+ and Ubuntu 20.04+.
Run the installer
Pick an instance name — a short alphanumeric label used in the service name and install path. 1 is fine for a single install:
curl -fsSL https://www.chinaski.net/install.sh | sudo bash -s -- 1 To install to a custom directory or port:
curl -fsSL https://www.chinaski.net/install.sh \
| sudo bash -s -- prod --dir /srv/chinaski --port 3001 The installer prints each step as it runs. On success it prints the install path, service name, and listen address.
What gets installed
- Code — extracted to
/var/www/chinaski1/(or your--dir) - Database — SQLite at
/var/www/chinaski1/chinaski.db, initialised fromschema.sql - Env file —
/etc/chinaski1/envwith a generated secret and listen URL - Service —
chinaski@1.serviceenabled and started via systemd - Backup timer —
chinaski-backup@1.timerruns daily at 03:17 - Output dir —
/var/www/chinaski1/output/where the built static site lands
Verify the service
systemctl status chinaski@1
journalctl -u chinaski@1 -n 20 The daemon binds to 127.0.0.1:3001 by default — loopback only by design. Put a reverse proxy in front of it.
Configure your web server
Ready-to-use config examples ship in deploy/:
deploy/chinaski.nginx.conf.example— nginx vhosts with/forms/proxy for form blocksdeploy/chinaski.Caddyfile.example— Caddy equivalent
The admin domain proxies all requests to the daemon. Public language vhosts serve static files from output/{lang}/ and only proxy /forms/.
Log in and run the first build
Open your admin domain in a browser and log in. Go to Build → Run build. Chinaski renders all published pages and posts to /var/www/chinaski1/output/. Point your public vhost at output/en/ (or output/ for single-language sites) and your site is live.
Offline install — any Linux
When to use this
Use the offline path when your target machine is air-gapped or has no reliable internet during setup, you're on a non-Debian Linux (Alpine, Arch, RHEL, etc.), or you want to pre-download everything on a fast machine and transfer it to slower hardware.
Prerequisites
The bundle compiles XS modules on the target machine. You need: gcc or clang, make, perl 5.26+, sqlite3, openssl, and image library headers.
# Debian / Ubuntu
apt-get install -y make gcc sqlite3 openssl libjpeg-dev libpng-dev libgif-dev
# Alpine
apk add make gcc sqlite openssl libjpeg-turbo-dev libpng-dev giflib-dev One-liner
curl -fsSL https://www.chinaski.net/install.sh \
| sudo bash -s -- --offline --prefix /srv/chinaski Download, verify, and run manually
# Download the bundle and its checksum
curl -O https://www.chinaski.net/dist/chinaski-latest.tar.gz
curl -O https://www.chinaski.net/dist/chinaski-latest.tar.gz.sha256
# Verify before running
sha256sum -c chinaski-latest.tar.gz.sha256
# Extract and install
tar -xzf chinaski-latest.tar.gz
cd chinaski-latest
sudo bash install.sh --prefix /srv/chinaski Seed the site URL during install
sudo bash install.sh \
--prefix /srv/chinaski \
--site-url https://example.com This writes the value into the SQLite settings table. It can also be changed later from Admin → Settings.
Verify your download
SHA-256 checksums are published alongside each artifact. Download the .sha256 file and verify before running on sensitive systems.
chinaski-latest-src.tar.gz.sha256Ready to build your first site?
The Get Started guide walks through writing pages, creating blocks, running your first build, and deploying flat HTML to any host.
Get Started →