All checks were successful
continuous-integration/drone/tag Build is passing
continuous-integration/drone/push Build is passing
2025-04-05 04:02:14 +00:00
2025-04-05 04:02:14 +00:00
2025-04-05 04:02:14 +00:00
2025-04-05 04:02:14 +00:00
2025-04-05 03:42:43 +00:00
2025-04-05 03:42:43 +00:00
2023-02-04 17:36:27 -05:00
2025-04-05 03:42:43 +00:00
2023-04-13 23:29:29 -04:00
2025-04-05 03:42:43 +00:00
2025-04-05 03:42:43 +00:00
2025-04-05 03:42:43 +00:00
2025-02-13 22:01:54 +00:00
2025-04-05 03:42:51 +00:00
2022-12-19 21:09:50 -05:00
2025-04-05 03:42:43 +00:00
2025-02-15 06:01:03 +00:00
2024-12-31 00:32:20 -05:00
2025-04-05 03:42:43 +00:00
2025-04-05 03:42:43 +00:00
2025-02-15 06:01:03 +00:00
A structured personal knowledge base, inspired by zettlekasten and org-mode.
- Notes: Document notes about individual items or concepts
- Contexts: Provide context around a single topic and hotlink to individual concepts in your notes
- Pipelines: Document your processes, attaching contexts to each step.
- Multi-user: Built with sharing and collaboration in mind
- Privacy: Privacy controls on a per-note, context or pipeline basis
- Convenient: Accessible from any internet-capable device
- Backlinks: View referencing items from the referenced item
- Install Docker Compose or alternatively Docker Desktop on your machine.
- Copy the example docker-compose.yml. into your local machine where you want. Bind mounts are created in the same directory by default.
- Set the configuration variables in docker-compose.yml. You'll need to run docker run -it shibaobun/memex /app/priv/random.sh to generate a new secret key base.
- Use docker-compose up or docker-compose up -d to start the container!
The first created user will be created as an admin.
You can use the following environment variables to configure memEx in docker-compose.yml.
- HOST: External url to generate links with. Must be set with your hosted domain name! I.e. memex.mywebsite.tld
- PORT: Internal port to bind to. Defaults to 4000. Must be reverse proxied!
- DATABASE_URL: Controls the database url to connect to. Defaults to ecto://postgres:postgres@memex-db/memex.
- ECTO_IPV6: If set to true, Ecto should use ipv6 to connect to PostgreSQL. Defaults to false.
- POOL_SIZE: Controls the pool size to use with PostgreSQL. Defaults to 10.
- SECRET_KEY_BASE: Secret key base used to sign cookies. Must be generated with docker run -it shibaobun/memex priv/random.sh and set for server to start.
- REGISTRATION: Controls if user sign-up should be invite only or set to public. Set to public to enable public registration. Defaults to invite.
- LOCALE: Sets a custom default locale. Defaults to en_US.
- SMTP_HOST: The url for your SMTP email provider. Must be set
- SMTP_PORT: The port for your SMTP relay. Defaults to 587.
- SMTP_USERNAME: The username for your SMTP relay. Must be set!
- SMTP_PASSWORD: The password for your SMTP relay. Must be set!
- SMTP_SSL: Set to true to enable SSL for emails. Defaults to false.
- EMAIL_FROM: Sets the sender email in sent emails. Defaults to no-reply@HOST where HOST was previously defined.
- EMAIL_NAME: Sets the sender name in sent emails. Defaults to "memEx".
Contributions are greatly appreciated, no ability to code needed! You can browse the Contribution Guide to learn more.
I can be contacted at [email protected], or on the fediverse at @[email protected]. Thank you!
memEx is licensed under AGPLv3 or later. A copy of the latest version of the license can be found at license.md.
- Gitea: Main repo, feature requests and bug reports
- Github: Source code mirror, please don't open pull requests to this repository
- Weblate: Contribute to translations!