Install
Ways to install
QuillSail runs in three ways. They use the same software and the same data format, so you can start on the desktop and move to a server later.
| Desktop app | Docker Compose | Python package | |
|---|---|---|---|
| Best for | Trying QuillSail, preparing a publication, local use | A public publication on one server | A public publication on a server you manage closely |
| Who can reach it | Only your computer | Anyone, through your HTTPS proxy | Anyone, through your HTTPS proxy |
| What you need | macOS, Windows or Linux with a desktop | A Linux server with Docker | Python 3.11 or newer |
| Background worker | Built in | Its own container | A separate service, such as systemd |
| Database | SQLite | SQLite, PostgreSQL or MySQL/MariaDB | SQLite, PostgreSQL or MySQL/MariaDB |
| Updates | The Check for updates button | sudo quillsail update |
sudo quillsail update |
| Guide | Desktop app | Server installation | Server installation |
The desktop app#
The desktop app includes Python and everything else QuillSail needs. Install it with one command:
curl -fsSL https://quillsail.blog/install.sh | bash
irm https://quillsail.blog/install.ps1 | iex
Or download it from quillsail.blog/download:
| Your computer | Download |
|---|---|
| Mac with Apple silicon (M1 and later) | QuillSail-VERSION-macos-arm64.zip |
| Mac with an Intel processor | QuillSail-VERSION-macos-x86_64.zip |
| 64-bit Windows | QuillSail-VERSION-windows-x86_64.zip |
| 64-bit Linux with a desktop (Ubuntu 22.04 or newer) | QuillSail-VERSION-linux-x86_64.tar.gz |
Every version, with its checksums, is also on GitHub Releases. The terminal installer and the desktop app guide cover both routes in detail.
A server#
A public publication needs an always-on server with a domain name and HTTPS, plus a mail server or a Gmail or Outlook account to send from. The server installation guide covers Docker Compose and the Python package, the reverse proxy, and the first-run setup code.
After installation, register the server once for one-command updates, and set up backups.
Requirements at a glance#
- Python: 3.11, 3.12, 3.13 or 3.14 for the Python package. The desktop app and container include their own.
- Databases: SQLite (the default), PostgreSQL, or MySQL/MariaDB. Install the
postgresormysqlextra for those drivers. - Email: any SMTP server, or a Gmail or Outlook account after a one-time app registration. See email and delivery.
- Desktop builds: macOS on Apple silicon or Intel, 64-bit Windows, and 64-bit Linux with a desktop environment. There’s no ARM Linux or 32-bit Windows build. Windows on ARM runs the 64-bit build through emulation.
Moving between installations#
quillsail export saves every table as JSON, and quillsail import loads that file into an empty database. Use it to move between databases, for example from SQLite to PostgreSQL. Backups and upgrades explains what to copy alongside the export, including uploads and the secret key.