/memoet

A self-hosted spaced repetition software

Primary LanguageElixirGNU Affero General Public License v3.0AGPL-3.0

Memoet

Memoet CI

Play quizzes & review flashcards to memorize everything using spaced repetition method

User guide

See memoet.gitbook.io.

Developer guide

  1. Install asdf

Follow instructions here.

  1. Install Rust

Follow instructions here.

  1. Install erlang, elixir and nodejs
asdf install
  1. Install project dependencies
mix deps.get
(cd assets && npm i)
  1. Migrate database & start server
mix ecto.setup
mix phx.server

Now you can visit localhost:4000 from your browser.

Deployment

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