Skip to content

Docker ๐Ÿ‹ โ€‹

Docker is the preferred way to run AdventureLog on your local machine. It is a lightweight containerization technology that allows you to run applications in isolated environments called containers. Note: This guide mainly focuses on installation with a linux based host machine, but the steps are similar for other operating systems.

Prerequisites โ€‹

  • Docker installed on your machine/server. You can learn how to download it here.

Getting Started โ€‹

Get the docker-compose.yml file from the AdventureLog repository. You can download it from here or run this command to download it directly to your machine:

TIP

If running on an ARM based machine, you will need to use a different PostGIS Image. It is recommended to use the tobi312/rpi-postgresql-postgis:15-3.3-alpine-arm image or a custom version found here. The AdventureLog containers are ARM compatible.

bash
wget https://raw.githubusercontent.com/seanmorley15/AdventureLog/main/docker-compose.yml

Configuration โ€‹

Here is a summary of the configuration options available in the docker-compose.yml file:

Frontend Container (web) โ€‹

NameRequiredDescriptionDefault Value
PUBLIC_SERVER_URLYesWhat the frontend SSR server uses to connect to the backend.http://server:8000
ORIGINSometimesNot needed if using HTTPS. If not, set it to the domain of what you will access the app from.http://localhost:8015
BODY_SIZE_LIMITYesUsed to set the maximum upload size to the server. Should be changed to prevent someone from uploading too much! Custom values must be set in kilobytes.Infinity

Backend Container (server) โ€‹

NameRequiredDescriptionDefault Value
PGHOSTYesDatabase host.db
PGDATABASEYesDatabase.database
PGUSERYesDatabase user.adventure
PGPASSWORDYesDatabase password.changeme123
PGPORTNoDatabase port.5432
DJANGO_ADMIN_USERNAMEYesDefault username.admin
DJANGO_ADMIN_PASSWORDYesDefault password, change after initial login.admin
DJANGO_ADMIN_EMAILYesDefault user's email.admin@example.com
PUBLIC_URLYesThis needs to match the outward port of the server and be accessible from where the app is used. It is used for the creation of image urls.http://localhost:8016
CSRF_TRUSTED_ORIGINSYesNeed to be changed to the origins where you use your backend server and frontend. These values are comma separated.http://localhost:8016
FRONTEND_URLYesThis is the publicly accessible url to the frontend container. This link should be accessible for all users. Used for email generation.http://localhost:8015

Running the Containers โ€‹

To start the containers, run the following command:

bash
docker compose up -d

Enjoy AdventureLog! ๐ŸŽ‰

AdventureLog