futureporn.net
Source Code for https://futureporn.net
See ./ARCHITECTURE.md for an overview of the infrastructure components.
Getting Started
The main gist is as follows.
-
install docker
wget -O- get.docker.com | bash
-
Install devbox
curl -fsSL https://get.jetify.com/devbox | bash
-
Install development environment & packages using devbox.
devbox install
-
Run
docker compose up --watch
-
Visit http://localhost:4000
If all went well, editing source code will automatically affect the website running in your browser.
backup/restore dev database
@see https://stackoverflow.com/a/29913462/1004931
backup
Use devbox helper script
devbox run backup
restore
cat ./backups/your-backup.sql | docker exec -i postgres_db psql -U postgres
testing
there is some undesirable behavior when running tests because nektos/act mimicks github actions.
we are banned from github so we aren't using that. instead, we use gitea act_runner.
github actions Job runner runs on docker 'host' network.
gitea act_runner runs on a custom named bridge network. e.g. GITEA-ACTIONS-TASK-974_WORKFLOW-ci_JOB-Tests-Checks-test_phoenix-network
confusing, right? It totally is!
when we are working with gitea act_runner, we can use dns names, e.g. test-db.
when we are working with nektos/act, we must use the IP address of the service container.
WTF there must be a better way