memoet
memoet copied to clipboard
A self-hosted spaced repetition software
Memoet
Play quizzes & review flashcards to memorize everything using spaced repetition method
User guide
See memoet.gitbook.io.
Developer guide
- Install
asdf
Follow instructions here.
- Install
Rust
Follow instructions here.
- Install
erlang,elixirandnodejs
asdf install
- Install project dependencies
mix deps.get
(cd assets && npm i)
- Migrate database & start server
mix ecto.setup
mix phx.server
Now you can visit localhost:4000 from your browser.
Deployment
-
Docker: docker-compose.yml.
-
Ubuntu: ubuntu.sh
-
Heroku: heroku.sh
Environment
- Basic setup:
| Environment | Required? | Why? |
|---|---|---|
SECRET_KEY_BASE |
Yes | For cookies encryption, can be generate with openssl rand -hex 48 |
DATABASE_URL |
Yes | For saving stuffs, only Postgres is supported for now |
DATABASE_SSL |
No | |
DATABASE_CERT |
No | |
DATABASE_IPV6 |
No | For database conn with IP v6 |
- For your custom domain:
| Environment | Example |
|---|---|
URL_HOST |
memoet.com |
URL_PORT |
443 |
URL_SCHEMA |
https |
- For uploading images to S3:
| Environment | Example |
|---|---|
AWS_BUCKET_NAME |
cdn.memoet.com |
AWS_ACCESS_KEY_ID |
xxxxxxxxxxxxxxxx |
AWS_SECRET_ACCESS_KEY |
xxxxxxxxxxxxxxxx |
AWS_REGION |
us-east-1 |
AWS_ASSET_HOST |
https://cdn.memoet.com |
- Extra configuration:
| Environment | Why? |
|---|---|
SENDINBLUE_API_KEY |
For password recovery email |
SENTRY_DSN |
For error logging |