forked from shibao/cannery
The self-hosted firearm tracker website.
assets | ||
config | ||
lib | ||
priv | ||
test | ||
.formatter.exs | ||
.gitignore | ||
.tool-versions | ||
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
- Clone the repo
- Run
mix setup
- Run
mix phx.server
to start the development server
Configuration
For development, I recommend setting environment variables with direnv.
MIX_ENV=dev
In dev
mode, Lokal will listen for these environment variables on compile.
HOST
: External url to generate links with. Set these especially if you're behind a reverse proxy. Defaults tolocalhost
.PORT
: External port for urls. Defaults to443
.DATABASE_URL
: Controls the database url to connect to. Defaults toecto://postgres:postgres@localhost/lokal_dev
.
MIX_ENV=prod
In prod
mode (or in the Docker container), Lokal will listen for these environment variables at runtime.
HOST
: External url to generate links with. Set these especially if you're behind a reverse proxy. Defaults tolocalhost
.PORT
: Internal port to bind to. Defaults to4000
and attempts to bind to0.0.0.0
. Must be reverse proxied!DATABASE_URL
: Controls the database url to connect to. Defaults toecto://postgres:postgres@lokal-db/lokal
.ECTO_IPV6
: Controls if 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 withmix phx.gen.secret
and set for server to start.