barrelwisdom

March 28, 2026 ยท View on GitHub

A fansite for the long running Atelier series, as well as other Gust games.

https://barrelwisdom.com

barrel

To see how this is deployed and updated in a real world environment, see the deployment repo.

Docker usage

Docker is strongly suggested. If you do not wish to use docker, I recommend looking at the dockerfiles to see what commands they run.

Create docker/.env with the following format:

SECRET_KEY=50 rando character string of your choice goes here
POSTGRES_PASSWORD=
POSTGRES_USER=
POSTGRES_DB=barrelwisdom
DEBUG=1
UID=1000
GID=1000

DEBUG must be set to 0 in production environments. UID/GID are up to your preferences, this is to prevent docker creating things as root.

In backend, you will also want to run:

ssh-keygen -t rsa -b 4096 -m PEM -f jwt-key

With that setup done, you can run:

docker compose build
docker compose up

To setup the database:

docker exec -it backend bash
python manage.py migrate

If you have data to load/dump:

python manage.py dumpdata --exclude=auth.permission --exclude=contenttypes --exclude=authtoken -o dump.json.gz
python manage.py dumpdata app_name -o dump.json.gz
python manage.py loaddata dump.json.gz

Update Postgres

docker exec -it postgres pg_dumpall -U USER > dump.sql
docker compose down postgres
# can check for full name at docker volume list
# worst case scenario, I have a backup
docker volume rm docker_bw_database
docker compose up postgres -d
docker exec -i postgres psql -U USER DATABASE < dump.sql

Build frontend

Be sure backend is running, as prerendering requires DB access.

docker exec -it frontend bash
ng build --configuration=production

For the final docker image:

docker buildx build -t frontend_prod -f Dockerfile.prod .
docker tag frontend_prod barrelwisdom/frontend:tag

Other Commands

Angular commands

# Begin development
npm start

Django model changes.

python manage.py makemigrations names_here
python manage.py migrate