Self-hosters
For people who run Plotra on their own server: where the instructions are, and what differs from the hosted version: no plans, no plan limits, and your own model for AI.
Plotra is open source (AGPL-3.0), and all of it runs on your own machine. You get the same app as the hosted version, with every view and module, on a server you control: your database, your file store, your backups. There are no plans and nothing to pay Plotra. In exchange, Docker, a domain, TLS, backups and upgrades are yours to do.
If you only want to write, the hosted version has nothing to install and a Free plan with every feature. See Plans and billing.
Set up
- Check the requirements. Docker with Compose v2.20 or newer, about 2 GB of free memory to build the app image and 1 GB to run the stack,
gitandopenssl. See Requirements. - Start the stack. Clone the repository, copy
docker/.env.exampleto.env, fill in the secrets and run one compose command. It starts the app, the collab server, Postgres and an S3-compatible file store. See Quick start. - Put it behind a proxy. For anything other than
http://localhostyou need a domain and a reverse proxy that does TLS. See Reverse proxy and TLS. - Decide about email. With
SMTP_URLset, invitations and sharing notices are emailed. Without it, each link is written to the app's log and you pass it on yourself. See Sign-in and email. - Decide about AI. Give the whole instance one model, or let each person add their own key. See AI.
- Set up backups before anyone writes. See Backups.
Typical workflow
- Create your account and workspace. The first screen is the same as on the hosted version. See Getting started.
- Invite the people who will use it. Workspace invitations and project sharing work as they do on the hosted version. See Working together.
- Turn AI on where it is wanted. The workspace switch and each project's switch are still off by default. See Turning it on.
- Back up on a schedule. Dump the database and archive the file store. Rehearse one restore into a scratch instance before you rely on it.
- Upgrade. Back up the database, then
git pullanddocker compose up -d --build. Migrations run before the new app starts. See Upgrading.
What differs from the hosted version
| Hosted | Self-hosted | |
|---|---|---|
| Plans and billing | Free and Pro | None. No Plan & billing tab. |
| Projects per workspace | 10 on Free | No limit |
| Storage per workspace | 50 MB on Free, 50 GB on Pro | No limit |
| Workspace members | 3 on Free, 25 on Pro | No limit |
| People one project can be shared with | 5 on Free, 200 on Pro | 200 |
| One uploaded file | 4 MB | 100 MB with a file store set up, 10 MB without |
| All files in one project | 2 GB on Free | 2 GB with a file store, 100 MB without |
| AI | Your own key or a local model; hosted AI on Pro | Your own key, or a model the server gives everyone. No credits. |
| A local model | Called from your browser | Called by the server, with AI_ALLOW_PRIVATE_URLS=true |
| Sign-in with Google | Yes | Only if you add Google credentials |
| Sent | Only with SMTP_URL | |
| Backups, upgrades, TLS | Done for you | Yours |
Everything in the Guide, the Modules and the Reference applies to your instance. Where a page gives a Free or Pro number, read "no limit" for projects, storage and members.
What to read next
| For | Read |
|---|---|
| The compose file, every setting, troubleshooting | Self-hosting with Docker |
| What is in a backup and how to restore | Backups |
| Running on your own Postgres | Using Neon or another Postgres |
| What the bundled collab server can and can't do | The self-hosted collab server and its limits |
| How the hosted version is put together, service by service | Deploying the hosted version |
| Backups on that setup | Backups |
| Charging the people on your instance | Plans and billing |
| Giving everyone a model, or letting each person bring a key | Whose model it runs on |
| Notification emails on your own server | If you host Plotra yourself |
| Running the workspace once it is up | Workspace owners |
Use Self-hosting for one server with Docker. Deploying is the checklist for the hosted version's own setup, on Vercel, Cloudflare, Neon and R2; follow it if you want that shape.
Things to know
- Anyone who can reach the instance can sign up. They get their own workspace and see nothing of yours. If you don't want strangers on it, don't expose it to the internet, or put your proxy's access control in front of it.
- Rate limits and fixed caps still apply. The limits on invitations, shares, comments, imports and the like are the same on every server. Only the plan limits are gone. See Rate limits.
- Saving a personal AI key needs
AI_KEY_SECRETon the server. The quick start generates it; without it, people can only use the instance's model. - Password accounts are not email-verified, so a project shared with one is opened through the emailed link, or the link from your log.
- Notification emails have a fixed budget: 12 an hour to one person and 60 a day from the whole server. Past it, the notification still shows under the bell.
- The bundled collab server is one process on one machine. It can't be scaled out by running more copies, and it does no TLS itself.
- There are no tagged releases yet.
git pulltakes the currentmaster; read the commit log before upgrading. - Plans are optional, not absent. Setting
CREEM_API_KEYswitches Free and Pro on for your instance, with the hosted limits. - Lose the
.envand saved AI keys can't be decrypted, and every session ends. Back it up with the data. - To change the code, see CONTRIBUTING.md.
Workspace owners
For the person who owns or administers a workspace: members and roles, sharing projects, the plan and its limits, the AI switch, getting data out, and what happens when access is removed.
Modules
Switch on only the tools your project needs. What a module is, the ten there are, what each adds, and what happens when you switch one off.
Plotra Docs