Deploy Engram Flashcards (SRS)
Self-hosted spaced-repetition flashcards with FSRS and Anki import
Just deployed
/data
Deploy and Host self hosted Engram Flashcards (SRS) on Railway
This template deploys Engram Flashcards (SRS), a self-hosted spaced-repetition flashcard server with FSRS scheduling and Anki-compatible .apkg import and export.
About Hosting Engram Flashcards (SRS) open-source software on Railway (self hosted Engram Flashcards (SRS) template)
This template runs Engram Flashcards (SRS), a flashcard server built on the unmodified upstream Engram v0.3.0 image under AGPL-3.0. Keep one replica because the database is SQLite. If you add a custom domain, update BASE_URL.
Why Deploy Engram Flashcards (SRS), the self-hosted spaced-repetition flashcards on Railway
Anki is a widely used desktop spaced-repetition app and is the practical choice for one offline collection on one machine.
Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.
By deploying Engram Flashcards (SRS) on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.
Railway vs Other Hosting Providers and VPS for Engram Flashcards (SRS) self hosting
Engram Flashcards (SRS) runs as one container with SQLite and media on a single volume, so the choice is mostly about how much server work you want.
| Provider | What You Get with Railway | What You Get with the Other Provider |
|---|---|---|
| DigitalOcean | A one-click template with the service, /data volume, domain and generated secrets set up. | A Droplet you manage yourself, including Docker, firewall, HTTPS and updates. |
Choose Railway if you want the app running quickly, and a VPS if you want full control of the machine.
Common Use Cases for hosted Engram Flashcards (SRS)
- Organizing study material into decks: Create a deck per course or subject, and nest subdecks such as Language::Grammar so related cards stay grouped during review.
- Building custom note types and card templates: Define your own fields and front and back templates with CSS, or pick from engram's stock note types for basic, reversed, typed and cloze cards.
- Scheduling reviews with FSRS v6: Let the FSRS v6 algorithm space your reviews, and run the on-server parameter optimizer after you have built up review history to tune it to your own memory.
- Moving decks in and out with Anki: Import an Anki .apkg package to bring existing decks across, or export your decks back to .apkg as a backup or to continue in Anki.
- Sharing a server with a small group: Attach media such as images and audio to cards, then use the admin panel to manage multi-user accounts, send invites, and optionally add OIDC sign-in or an MCP endpoint for AI clients.
Dependencies for Engram Flashcards (SRS) Docker hosted on Railway
This template runs as a single container with nothing else to provision.
Deployment Dependencies for Managed Engram Flashcards (SRS) Service (one container with SQLite)
The template creates one service named engram on port 8080 with a public domain.
Implementation Details for Engram Flashcards (SRS) (unmodified Engram v0.3.0 image plus a Railway start script that seeds admin)
The image ghcr.io/onepush-dev/engram-srs:v0.3.0 is the unmodified upstream docker.io/nite07/engram:v0.3.0 image plus railway-start.sh.
There are four generated or referenced variables and zero inputs. SESSION_SECRET signs session cookies.
How does Engram Flashcards (SRS) compare against other tools
Engram Flashcards (SRS) vs Anki (Anki Alternative)
- Access: Engram Flashcards (SRS) runs as a web server with accounts for several users. Anki is a desktop application, and it wins if you want a fully offline app on one computer.
- Import and export: Engram Flashcards (SRS) reads and writes Anki-compatible .apkg packages. Anki is a trademark of Ankitects Pty Ltd, and this packaging is not affiliated with or endorsed by Anki or Ankitects.
- Scheduling: Both use FSRS-style scheduling, and Engram Flashcards (SRS) adds an on-server parameter optimizer.
Engram Flashcards (SRS) vs a hosted flashcard app (Hosted Flashcard Alternative)
- Hosting control: You run Engram Flashcards (SRS) yourself, so decks and media sit on a volume you control. A hosted app handles the server for you, which suits people who do not want to operate anything.
- Accounts and sharing: Engram Flashcards (SRS) offers multi-user accounts, an admin panel, invites and optional OIDC sign-in. Hosted apps often have polished mobile apps that a self-hosted install does not match out of the box.
- Cost model: Engram Flashcards (SRS) is AGPL-3.0 software, and you pay only for the infrastructure you use. Hosted apps usually charge a subscription.
Engram Flashcards (SRS) with Docker vs Railway (Railway Deployment)
- Setup effort: Running Engram Flashcards (SRS) with Docker means managing volumes, environment variables and HTTPS yourself. This Railway template generates the secrets, creates the volume and domain, and seeds the admin account on first boot.
- Image: The template uses an unmodified upstream image plus a small start script, so you can compare it directly with the upstream release.
- Operations: Docker on your own server gives full host control, while Railway manages the platform. Keep one replica, since SQLite is a single-node database.
Engram Flashcards (SRS) on Railway vs a VPS (VPS Alternative)
- Maintenance: Railway manages the host, networking and HTTPS, so there is less server upkeep than on a VPS. A VPS gives you full root access and more control over the operating system.
- Persistence: The template keeps SQLite and media on one volume attached to one replica. Plan your own backups of that volume, since this template does not claim tested backup or restore steps.
- Flexibility: A VPS lets you run Engram Flashcards (SRS) alongside other services on one machine, while the Railway template focuses on this single flashcard server.
How to use Engram Flashcards (SRS) on Railway?
- Open your Railway public URL and sign in as
adminwith the password fromENGRAM_ADMIN_PASSWORDin the engram Variables tab. - Self-registration is closed by default in upstream Engram, so invite users or open registration from the Admin Panel.
- Import an Anki
.apkgpackage or create a deck, then start reviewing. - Keep one replica, because SQLite and media live on a single volume.
- Upstream also supports Postgres through
DB_DRIVERandDB_DSN, but this template does not include it. - The interface is in English, and Simplified Chinese is also available.
- Check the health endpoint:
https://your-domain/healthz
Keep your ENCRYPTION_KEY safe, because stored secrets depend on it.
How to self host Engram Flashcards (SRS) on other VPS Services (Engram Flashcards (SRS) self hosting guide)
You can run the upstream Engram image on any VPS with Docker, or build from source.
Clone the Repository
Clone the upstream repository to read its Compose file and README.
git clone https://github.com/bestnite/engram.git
cd engram
Install Dependencies
You need Docker on the host.
Configure Environment Variables
Generate the two keys and keep them safe, because ENCRYPTION_KEY decrypts stored secrets.
export SESSION_SECRET="$(openssl rand -base64 32)"
export ENCRYPTION_KEY="$(openssl rand -base64 32)"
export BASE_URL="https://your-domain"
Start the Engram Flashcards (SRS) Application
Run the upstream image with a persistent data directory, then open the app and complete the /setup wizard yourself to create the administrator account.
docker run -d --name engram -p 8080:8080 \
-e SESSION_SECRET="$SESSION_SECRET" \
-e ENCRYPTION_KEY="$ENCRYPTION_KEY" \
-e BASE_URL="$BASE_URL" \
-v engram-data:/data \
docker.io/nite07/engram:v0.3.0
On Railway, the HTTPS domain, the persistent volume and the admin account are handled for you.
Pricing and License of Engram Flashcards (SRS) (Engram Flashcards (SRS) pricing)
Engram Flashcards (SRS) is open-source software released under the AGPL-3.0 license, and the upstream project can be self-hosted for free.
Engram Flashcards (SRS) hosted vs self hosted comparison (Pricing, features, costs, and more)
Engram is free AGPL-3.0 software you can self-host.
Monthly cost of self hosting Engram Flashcards (SRS) on Railway
Railway bills on usage, so your monthly cost depends on the RAM and CPU the service uses, the size of the volume holding the SQLite database and media, and how many services you run.
System Requirements for Hosting Engram Flashcards (SRS) on a VPS
Engram runs as one container with SQLite and a media directory, so a small VPS with enough memory and disk for your decks and media is a reasonable start.
Frequently Asked Questions (FAQs)
How do I sign in to Engram Flashcards (SRS)?
Sign in as admin with the password from ENGRAM_ADMIN_PASSWORD, which you can read on the engram service Variables tab.
Is this the same as the other Engram templates on Railway?
No. Those are unrelated agent-memory tools. This listing is Engram Flashcards (SRS), a flashcard server from bestnite/engram.
Can I import my Anki decks?
Yes, the server supports Anki-compatible .apkg import and export. Anki is a trademark of Ankitects Pty Ltd, and this packaging is not affiliated with or endorsed by Anki or Ankitects.
Does changing ENGRAM_ADMIN_PASSWORD later reset the login?
No. Change the password inside the app instead.
Can strangers register an account?
Not by default, because self-registration is closed.
What should I back up?
Back up the /data volume, which holds the SQLite database and the media files, and keep ENCRYPTION_KEY with that backup.
Template Content
