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.
Eric Ihli 084db50b9e Add session middleware 4 years ago
..
0001_init.sh Initial commit 4 years ago
Dockerfile Initial commit 4 years ago
README.org Add kv store and worker queue 4 years ago
run.sh Add session middleware 4 years ago

README.org

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