You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1.1 KiB
1.1 KiB
Database setup
This directory contains necessities for initializing and running a database locally inside a docker container.
We want our develpment environment to use the same tech stack that production uses. So rather than suppord a development configuration that uses SQLite and a production configuration that uses PostgreSQL, just use PostgreSQL for both. With Docker, it's easy.
Building requires the following environment variables.
- `POSTGRES_DB`
- `POSTGRES_USER`
- `POSTGRES_PASSWORD`
Running requires the following environment variables.
- `PGDATA`
- `POSTGRES_USER`
- `POSTGRES_PASSWORD`
docker build -t db .
#!/usr/bin/env sh
set -euo pipefail
PGDATA=${PGDATA:-"$(pwd)/data/dev"}
POSTGRES_USER=${POSTGRES_USER:-"dev"}
POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-"dev"}
docker run \
--name db \
-e POSTGRES_PASSWORD=$POSTGRES_PASSWORD \
-e POSTGRES_USER=$POSTGRES_USER \
-v $PGDATA:/var/lib/postgresql/data \
-p 5432:5432 \
db
docker start db