a structured, zettlekasten and org-mode inspired memex
Go to file
2023-01-07 21:00:14 -05:00
assets fix layout 2023-01-07 21:00:14 -05:00
config add emails 2023-01-07 21:00:14 -05:00
lib add invites 2023-01-07 21:00:14 -05:00
priv add invites 2023-01-07 21:00:14 -05:00
test prevent unconfirmed users from logging in 2022-02-16 22:16:19 -05:00
.credo.exs add credo 2023-01-07 21:00:14 -05:00
.drone.yml add dockerhub build and publish step 2022-02-12 02:38:29 -05:00
.formatter.exs add heex_formatter 2022-01-22 15:24:04 -05:00
.gitignore update to 1.6 2022-01-22 14:25:37 -05:00
.tool-versions add heex_formatter 2022-01-22 15:24:04 -05:00
contributing.md add emails 2023-01-07 21:00:14 -05:00
docker-compose.yml fix docker files 2023-01-07 21:00:14 -05:00
Dockerfile fix docker files 2023-01-07 21:00:14 -05:00
mix.exs add emails 2023-01-07 21:00:14 -05:00
mix.lock add emails 2023-01-07 21:00:14 -05:00
readme.md add emails 2023-01-07 21:00:14 -05:00

Lokal

Lokal is a local business aggregation site helping you to shop locally by providing a one-stop-shop for your local community. Set your profile and start shopping today!

Features

  • User Registration/Sign in via phx_gen_auth
  • Dockerfile and example docker-compose.yml
  • Automatic migrations in MIX_ENV=prod or Docker image
  • JS linting with standard.js, HEEx linting with heex_formatter

Installation

  1. Install Docker Compose or alternatively Docker Desktop on your machine.
  2. Copy the example docker-compose.yml. into your local machine where you want. Bind mounts are created in the same directory by default.
  3. Set the configuration variables in docker-compose.yml. You'll need to run docker run -it shibaobun/lokal /app/priv/random.sh to generate a new secret key base.
  4. Use docker-compose up or docker-compose up -d to start the container!

The first created user will be created as an admin.

Configuration

You can use the following environment variables to configure Lokal in docker-compose.yml.

  • HOST: External url to generate links with. Must be set with your hosted domain name! I.e. lokal.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@lokal-db/lokal.
  • 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/lokal mix phx.gen.secret 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 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 "Lokal".

Build
Status