Deployment Overview
Deploy Mnemosyne to production with confidence. This section covers multiple deployment strategies.
Deployment Options
| Method | Complexity | Best For | Persistence |
|---|---|---|---|
| Fly.io | Low | Serverless apps | SQLite volume |
| Docker | Medium | Containerized stacks | Bind mount |
| Systemd | Medium | Linux servers | Local path |
| Cron | Low | Scheduled tasks | Shared volume |
Architecture Decision
flowchart TD A[Choose Deployment] -->|Serverless| B[Fly.io] A -->|Containers| C[Docker] A -->|VM/Bare Metal| D[Systemd] A -->|Scheduled Jobs| E[Cron] B -->|SQLite + Volume| F[Persistent Storage] C -->|Bind Mount| F D -->|Local Disk| F E -->|Shared Volume| F
Common Requirements
All deployments need:
- SQLite 3.45+ with FTS5 and vector extension support
- Persistent storage for the database file
- Environment variables for configuration
- Backup strategy (see Operations section)
Quick Deploy Checklist
- SQLite version verified (
sqlite3 --version) - Database path is on persistent storage
- Environment variables configured
- Backup job scheduled
- Monitoring enabled
- Health check endpoint responding
Ephemeral Storage
Do NOT store the database on ephemeral filesystems (Docker default volumes, /tmp, Heroku dyno filesystem). Data will be lost on restart. Always use persistent volumes.
Related Pages
Deploy to Fly.io
Step-by-step guide to deploying Mnemosyne on Fly.io: app setup, persistent volumes, configuration se...
Docker Deployment
Run Mnemosyne in Docker: official images, Docker Compose setup, volume mounting for persistent stora...
Installation Guide
Complete installation instructions for Mnemosyne including Python version requirements, optional dep...
Mnemosyne