a structured, zettlekasten and org-mode inspired memex
assets | ||
config | ||
lib | ||
priv | ||
test | ||
.credo.exs | ||
.drone.yml | ||
.formatter.exs | ||
.gitignore | ||
.tool-versions | ||
contributing.md | ||
docker-compose.yml | ||
Dockerfile | ||
mix.exs | ||
mix.lock | ||
readme.md |
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 exampledocker-compose.yml
- Automatic migrations in
MIX_ENV=prod
or Docker image - JS linting with standard.js, HEEx linting with heex_formatter
Installation
- 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 rundocker run -it shibaobun/lokal /app/priv/random.sh
to generate a new secret key base. - Use
docker-compose up
ordocker-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 to4000
. Must be reverse proxied!DATABASE_URL
: Controls the database url to connect to. Defaults toecto://postgres:postgres@lokal-db/lokal
.ECTO_IPV6
: If set totrue
, Ecto should use ipv6 to connect to PostgreSQL. Defaults tofalse
.POOL_SIZE
: Controls the pool size to use with PostgreSQL. Defaults to10
.SECRET_KEY_BASE
: Secret key base used to sign cookies. Must be generated withdocker 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 topublic
to enable public registration. Defaults toinvite
.LOCALE
: Sets a custom locale. Defaults toen_US
.SMTP_HOST
: The url for your SMTP email provider. Must be setSMTP_PORT
: The port for your SMTP relay. Defaults to587
.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 totrue
to enable SSL for emails. Defaults tofalse
.EMAIL_FROM
: Sets the sender email in sent emails. Defaults tono-reply@HOST
whereHOST
was previously defined.EMAIL_NAME
: Sets the sender name in sent emails. Defaults to "Lokal".