Install with Docker¶
This page gets TypstDrive running with its built-in database. It takes about five minutes.
1. Create a folder¶
2. Create a secret¶
TypstDrive needs a long random secret to keep people signed in. Generate one:
Copy the output. You need it in the next step.
3. Write the compose file¶
Save this as docker-compose.yml in the folder, and paste your secret into COOKIE_SECRET:
services:
typstdrive:
image: ghcr.io/sirblobby/typstdrive:latest
container_name: typstdrive
restart: unless-stopped
ports:
- "3000:3000"
environment:
- COOKIE_SECRET=paste-your-secret-here
- PUBLIC_URL=http://localhost:3000
- RUST_LOG=info
volumes:
- ./data:/data
portsmakes TypstDrive available on port 3000.PUBLIC_URLis the address people type to open TypstDrive. Change it later when you add a domain../datais where all documents, files and accounts are kept. This is the folder to back up.
4. Start it¶
5. Create the administrator¶
Open http://localhost:3000 (or http://your-server-ip:3000). Because there are no accounts yet, TypstDrive shows a Setup page. The account you create there is the administrator.
That's it. You can now create documents and invite people.
Useful commands¶
| Command | What it does |
|---|---|
docker compose logs -f |
Watch what TypstDrive is doing. Press Ctrl+C to stop watching. |
docker compose restart |
Restart TypstDrive. |
docker compose down |
Stop TypstDrive. Your data stays in ./data. |
docker compose pull && docker compose up -d |
Update to the newest version. See Updates and backups. |
Good next steps¶
- Add HTTPS and a domain before letting people in from the internet.
- Set up email so people can reset forgotten passwords.
- Decide who can sign up in Site Settings → Registration & Accounts. See Users and accounts.
Keep the secret the same
If COOKIE_SECRET is missing or changes, everyone is signed out every time the container restarts.
Building the image yourself¶
If you prefer to build from the source code:
The repository's docker-compose.yml has commented examples for every optional feature.