Files
endurain/docs/getting-started/getting-started.md
João Vitória Silva a20621f866 Squashed commit of the following:
commit d32e3d8fdc
Merge: d722e793 db959207
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Wed Jun 25 12:52:35 2025 +0100

    Merge remote-tracking branch 'origin/l10n_pre-release' into pre-release

commit db959207c1
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:51:52 2025 +0100

    New translations activitymandabovepillscomponent.json (Portuguese)

commit 595256934e
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:50:51 2025 +0100

    New translations editactivitymodalcomponent.json (Portuguese)

commit c659dcd84f
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:50:46 2025 +0100

    New translations activitysummarycomponent.json (Portuguese)

commit 1f8e699753
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:41 2025 +0100

    New translations editactivitymodalcomponent.json (Portuguese)

commit c93884c2c7
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:40 2025 +0100

    New translations editactivitymodalcomponent.json (German)

commit 9a59c21a75
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:39 2025 +0100

    New translations editactivitymodalcomponent.json (Catalan)

commit 72ea5b5467
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:38 2025 +0100

    New translations editactivitymodalcomponent.json (Spanish)

commit 7f309e9e32
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:37 2025 +0100

    New translations editactivitymodalcomponent.json (French)

commit 0ed4e9134d
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:36 2025 +0100

    New translations activitysummarycomponent.json (Portuguese)

commit b22b45f185
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:35 2025 +0100

    New translations activitysummarycomponent.json (Dutch)

commit 78a49d35af
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:34 2025 +0100

    New translations activitysummarycomponent.json (German)

commit d03f260e75
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:33 2025 +0100

    New translations activitysummarycomponent.json (Catalan)

commit 1203787f8a
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:32 2025 +0100

    New translations activitysummarycomponent.json (Spanish)

commit 9a948aea26
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:31 2025 +0100

    New translations activitysummarycomponent.json (French)

commit cf2a0e8bdd
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Wed Jun 25 12:38:30 2025 +0100

    New translations editactivitymodalcomponent.json (Dutch)

commit d722e79394
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Wed Jun 25 12:28:40 2025 +0100

    Fix Docker image tag & bump frontend version

    [docker] fix image tag on docker-compose.yml.example
    [frontend] bump version on frontend

commit e15f4e89c7
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Wed Jun 25 12:18:17 2025 +0100

    Bump dependencies

commit 319b83ae0f
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Wed Jun 25 12:10:53 2025 +0100

    Add indoor cycling support & fix config/logging issues

    [backend] fixed invalid default value for JAEGER_ENABLED
    [backend] added support for activity type indoor_cycling
    [backend] fixed logging spacing and added docs to logger
    [docker] fixed logging spacing
    [docs] added support for activity type indoor_cycling
    [frontend] added support for activity type indoor_cycling
    [frontend] re added activityMaxHR to activitySummaryComponent.json

commit f3e298300f
Merge: c9e006a7 10668d3e
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Wed Jun 25 11:20:16 2025 +0100

    Merge branch 'docker_immutable_feature' into pre-release

commit 10668d3ed6
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Wed Jun 25 09:26:34 2025 +0100

    Update env.js

commit b138f81f1e
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Tue Jun 24 23:14:58 2025 +0100

    Update database.py

commit 5c7c81f123
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Tue Jun 24 23:03:14 2025 +0100

    Refactor env var usage and runtime config for frontend/backend

    Backend now uses core.config for environment variables with sensible defaults, reducing direct os.environ access and improving robustness. Dockerfile and start.sh were updated to remove hardcoded env vars and generate a runtime env.js for frontend configuration. Frontend code now reads ENDURAIN_HOST from window.env instead of Vite env, enabling runtime configuration. Obsolete .env file was removed, and documentation was updated to fix a typo in JAEGER_PORT.

commit bb2ae4f548
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:27 2025 +0100

    New translations activitymandabovepillscomponent.json (Portuguese)

commit 64f438000f
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:26 2025 +0100

    New translations activitymandabovepillscomponent.json (German)

commit 4129e66768
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:25 2025 +0100

    New translations activitymandabovepillscomponent.json (Catalan)

commit 7c37b2c375
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:23 2025 +0100

    New translations activitymandabovepillscomponent.json (Spanish)

commit ed236a0ee7
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:22 2025 +0100

    New translations activitymandabovepillscomponent.json (French)

commit 825ef122d7
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:21 2025 +0100

    New translations activitysummarycomponent.json (Portuguese)

commit d04742caee
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:20 2025 +0100

    New translations activitysummarycomponent.json (Dutch)

commit 187b56221b
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:19 2025 +0100

    New translations activitysummarycomponent.json (German)

commit 83847a2d0c
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:18 2025 +0100

    New translations activitysummarycomponent.json (Catalan)

commit 8a2417360a
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:17 2025 +0100

    New translations activitysummarycomponent.json (Spanish)

commit 7bf9dfdc66
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:16 2025 +0100

    New translations activitysummarycomponent.json (French)

commit 683b1fd260
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 16:34:15 2025 +0100

    New translations activitymandabovepillscomponent.json (Dutch)

commit c9e006a757
Merge: 1a5f5cca 6cfe4999
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 16:28:37 2025 +0100

    Merge branch 'pr/199' into pre-release

commit 6cfe4999e1
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 16:27:44 2025 +0100

    Add HR Zones chart to mobile, move logic to chartUtils

    [frontend] moved chart functions to chartUtils file
    [frontend] added HR Zones Bar Chart to mobile view

commit e475138d11
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 16:15:42 2025 +0100

    Refactor HR Zones chart, clean up ActivitySummary

    [frontend] moved HR Zones graph away from ActivitySummaryComponent
    [frontend] removed duplicated translation
    [frontend] reverted changes on ActivitySummaryComponent since chart was removed
    [frontend] moved chart to ActivityMandAbovePillsComponent
    [frontend] small adjustments to BarChart

commit a7d8418d51
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 15:04:05 2025 +0100

    Improve formatting, docstrings & fix activityActivityStreams prop

    [backend] fixed formatting
    [backend] changed existing docstrings to be more complete
    [backend] changed imports to be consistent with rest of the code
    [frontend] fixed formatting
    [frontend] set new prop on ActivitySummaryComponent to be not required because it is not always necessary (HomeView)
    [frontend] fixed issue onMounted on ActivitySummaryComponent when new prop is null

commit 1a5f5cca86
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 13:52:31 2025 +0100

    Fix for docs

commit 1960c3153a
Merge: c895ae0d 935a5d43
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 13:37:08 2025 +0100

    Merge branch 'pr/203' into pre-release

commit c895ae0d83
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 12:33:21 2025 +0100

    New translations activitybellowmpillscomponent.json (Dutch)

commit 5338c95879
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 12:33:20 2025 +0100

    New translations activitylapscomponent.json (Dutch)

commit 7d3930bfba
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 12:33:19 2025 +0100

    New translations generalitems.json (Dutch)

commit 0838b6cf6e
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:11:34 2025 +0100

    New translations activitybellowmpillscomponent.json (Dutch)

commit 9776b6461a
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:11:31 2025 +0100

    New translations activitylapscomponent.json (Dutch)

commit 8b2b6c6fc8
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:10:23 2025 +0100

    New translations stravacallbackview.json (Dutch)

commit 6acf86fb47
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:10:09 2025 +0100

    New translations summaryview.json (Dutch)

commit 79708f1aa9
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:10:07 2025 +0100

    New translations settingsuserprofilezonecomponent.json (Dutch)

commit 5e93661fa0
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:10:06 2025 +0100

    New translations settingsintegrationszonecomponent.json (Dutch)

commit bfa7093fc4
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:10:04 2025 +0100

    New translations editactivitymodalcomponent.json (Dutch)

commit 27036db437
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:10:03 2025 +0100

    New translations navbarcomponent.json (Dutch)

commit c4143435d1
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:09:48 2025 +0100

    New translations activityview.json (Dutch)

commit 8b1cc16bc6
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:09:47 2025 +0100

    New translations loginview.json (Dutch)

commit 3cd447368e
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:09:46 2025 +0100

    New translations generalitems.json (Dutch)

commit bac2b90b88
Merge: d0f850dd 13afbe86
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 11:06:59 2025 +0100

    Merge remote-tracking branch 'origin/l10n_pre-release' into pre-release

commit d0f850dd0e
Merge: ed4c87d4 426500ff
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 11:04:10 2025 +0100

    Merge branch 'pr/208' into pre-release

commit 13afbe86ae
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 11:00:40 2025 +0100

    New translations gearslistcomponent.json (German)

commit 59ad9170b0
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Mon Jun 23 10:59:50 2025 +0100

    New translations gearview.json (Catalan)

commit 426500ff2e
Author: C2gl <97646342+C2gl@users.noreply.github.com>
Date:   Mon Jun 23 11:59:36 2025 +0200

    fixing some typos

commit ed4c87d407
Author: João Vitória Silva <8648976+joaovitoriasilva@users.noreply.github.com>
Date:   Mon Jun 23 10:55:01 2025 +0100

    Silence StravaLib token warnings + bump dependencies

commit 6f24ac158f
Author: C2gl <97646342+C2gl@users.noreply.github.com>
Date:   Mon Jun 23 01:10:40 2025 +0200

    fully translated

commit 386e5ae853
Author: C2gl <97646342+C2gl@users.noreply.github.com>
Date:   Mon Jun 23 00:57:42 2025 +0200

    done upto strava

commit 56cb31288d
Author: C2gl <97646342+C2gl@users.noreply.github.com>
Date:   Mon Jun 23 00:54:16 2025 +0200

    next to translate - gears

commit 8d3158ef6c
Author: C2gl <97646342+C2gl@users.noreply.github.com>
Date:   Mon Jun 23 00:25:31 2025 +0200

    initial commit for fork

commit 935a5d43b5
Author: Fredrik Fyksen <fredrik@fyksen.me>
Date:   Wed Jun 18 15:06:48 2025 +0200

    Updated hosting guide

commit 56a7ff881f
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 21:02:22 2025 +0100

    New translations summaryview.json (Dutch)

commit 9c0acab25a
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 19:35:49 2025 +0100

    New translations activityview.json (Dutch)

commit bfe8ae1d14
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 19:35:48 2025 +0100

    New translations summaryview.json (Dutch)

commit 0c0a375d1a
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 19:35:47 2025 +0100

    New translations activitymandabovepillscomponent.json (Dutch)

commit 8c4619fc8d
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 19:35:46 2025 +0100

    New translations editactivitymodalcomponent.json (Dutch)

commit 9748f7776f
Author: Zuhdi <rccheattest2@gmail.com>
Date:   Tue Jun 17 22:57:52 2025 +0700

    feat: change hr zone to bar chart
    - return transform_activity_streams to  get_public_activity_stream_by_type
    -

commit fcad6ea3e5
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:27 2025 +0100

    New translations summaryview.json (Dutch)

commit 515427d89b
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:26 2025 +0100

    New translations activitiesview.json (Dutch)

commit 50a76062f0
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:24 2025 +0100

    New translations activitymandabovepillscomponent.json (Dutch)

commit 95c6b9ef0e
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:23 2025 +0100

    New translations searchview.json (Dutch)

commit 503b943a2e
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:22 2025 +0100

    New translations settingsuserprofilezonecomponent.json (Dutch)

commit b1884f4fe9
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:21 2025 +0100

    New translations settingsintegrationszonecomponent.json (Dutch)

commit 04c899a3a4
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:20 2025 +0100

    New translations gearslistcomponent.json (Dutch)

commit 5163263b88
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:19 2025 +0100

    New translations gearsaddeditgearmodalcomponent.json (Dutch)

commit ae3943d352
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:18 2025 +0100

    New translations editactivitymodalcomponent.json (Dutch)

commit 01a900b166
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:16 2025 +0100

    New translations gearview.json (Dutch)

commit e1c006fd7e
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:15 2025 +0100

    New translations loginview.json (Dutch)

commit 1f406e5022
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 14:39:14 2025 +0100

    New translations generalitems.json (Dutch)

commit 9b43447128
Author: João Vitória Silva <joao.vitoria.silva@pm.me>
Date:   Tue Jun 17 12:53:54 2025 +0100

    New translations navbarcomponent.json (Dutch)

commit c503c35607
Author: Zuhdi <rccheattest2@gmail.com>
Date:   Tue Jun 17 08:01:37 2025 +0700

    chore: fix review

commit 85c8f9410c
Author: Zuhdi <rccheattest2@gmail.com>
Date:   Tue Jun 17 07:15:01 2025 +0700

    fix: handle when average_heartrate and max_heartrate is null when import from strava

commit 7e9b3227c4
Author: Zuhdi <rccheattest2@gmail.com>
Date:   Sun Jun 15 11:44:39 2025 +0700

    feat: change default value for hrZones

commit bd1ec74968
Author: Zuhdi <rccheattest2@gmail.com>
Date:   Sun Jun 15 11:32:40 2025 +0700

    feat: show HR based on zone that calculated from user birthdate (if any)
2025-06-25 14:22:06 +01:00

6.7 KiB

Getting started


Welcome to the guide for getting started on hosting your own production instance of Endurain. Like many other services, Endurain is easiest to get up and running trough Docker compose. It is possible to get Endurain up and running without a domain and reverse proxy, but this guide assumes you want to use a reverse proxy and your domain. Endurain can run on any computer that support OCI containers, but in this guide we are using Debian 13 (should also work with 12).

Prerequisites

  • Domain name pointed to your external IP address.
  • Open FW rules to your server on port 443 and 80. (trough NAT if you are running ipv4)
  • A computer/server with enough disk space for your activity files.
  • API key from geocode.maps.co (free, but need to register).

Installing docker and Caddy reverse proxy

We use apt to do this

sudo apt update -y
sudo apt install docker.io docker-compose caddy -y

Confirm your user has the id 1000:

id

If you are not the user 1000, you need to set the UID and GID to your id in the .env file. But to keep this guide as easy to follow as possible, we will assume that you are user 1000.

Create directory structure

Lets use /opt/endurain/ as the root directory for our project.

sudo mkdir /opt/endurain
sudo chown 1000:1000 /opt/endurain
mkdir -p \
  /opt/endurain/app/{user_images,files/{bulk_import,processed},logs} \
  /opt/endurain/postgres

Docker compose Deployment

In this example of setting up Endurain, we will need two files. One docker-compose.yml and .env.

  • docker-compose.yml tells your system how to set up the container, network and storage.
  • .env holds our secrets and environment variables.

Splitting up the setup like this make it easy to handle updates to the containers, without touching the secrets and other variables.

Creating the docker-compose and .env file

To make it as easy as possible for selfhoster to get up and running examples of docker-compose.yml and .env is on the git repo. Here are links to the files on the repo:

cd /opt/endurain
wget https://raw.githubusercontent.com/joaovitoriasilva/endurain/refs/heads/master/docker-compose.yml.example
wget https://raw.githubusercontent.com/joaovitoriasilva/endurain/refs/heads/master/env.example

mv docker-compose.yml.example docker-compose.yml
mv .env.example .env

Now we need to make changes to the files to reflect your environment. Inside docker-compose.yml there is not much we need to do. If you want to store the files another place then /opt/endurain this is the file you need to change.

Here is an explaination on what you can set in the .env:

Environment variable How to set it
DB_PASSWORD Run openssl rand -hex 32 on a terminal to get a secret
POSTGRES_PASSWORD Set the same value as DB_PASSWORD.
SECRET_KEY Run openssl rand -hex 32 on a terminal to get a secret
FERNET_KEY Run python -c "from cryptography.fernet import Fernet; print(Fernet.generate_key().decode())" on a terminal to get a secret or go to https://fernetkeygen.com. Example output is 7NfMMRSCWcoNDSjqBX8WoYH9nTFk1VdQOdZY13po53Y=
GEOCODES_MAPS_API Geocode maps offers a free plan consisting of 1 Request/Second. Registration necessary.
TZ Timezone definition. Insert your timezone. List of available time zones here. Format Europe/Lisbon expected
ENDURAIN_HOST https://endurain.yourdomain.com
BEHIND_PROXY Change to true if behind reverse proxy
POSTGRES_DB Postgres name for the database.
POSTGRES_USER Postgres user for the database.

Please note:

POSTGRES_DB and POSTGRES_USER is values for the database. If you change it from endurain, you also need to set the environment variables for the app image. Please leave them as endurain if you are unsure.

Start the stack

It is finally time to start the stack!

cd /opt/endurain
sudo docker compose up -d

Check the log output:

docker compose logs -f

If you do not get any errors, continue to next step.

Visit the site

  • Visit the site insecurly on http://IP-OF-YOUR-SERVER:8080
  • We still can not login to the site, because the ENDURAIN_HOST doesn't match our local URL.

Configure Caddy as reverse proxy and get SSL cert from letsencrypt

  • Before we configure caddy you need to set your DNS provider to point your domain to your external IP.
  • You also need to open your firewall on port 443 and 80 to the server.

We use caddy outside docker. This way Debian handles the updates (you just need to run sudo apt get update -y and sudo apt get upgrade -y)

Caddy is configured in the file /etc/caddy/Caddyfile

Open the file in your favourite editor, delete the default text, and paste in this:

endurain.yourdomain.com {
        reverse_proxy localhost:8080
}

Restart caddy

sudo systemctl restart caddy

Check the ouput of caddy with:

sudo journalctl -u caddy

You should now be able to access your site on endurain.yourdomain.com

Log in with username: admin password: admin, and remember to change the password

🎉 Weee 🎉 You now have your own instance of Endurain up and running!

How to update

  • Take a backup of your files and db.
  • Check for new releases of the container image here. Read release notes carefully for breaking changes.
  • Log on your server and run:
  • Inside /opt/endurain/docker-compose.yml, change out the version tag (the version after :)
cd /opt/endurain
sudo docker compose pull
sudo docker compose up -d

The same is the case for Postgres. Check for breaking changes in release notes on Postgres Website.

** It is generally pretty safe to upgrade postgres minor version f.eks 17.4 to 17.5, but major is often breaking change (example 17.2 to 18.1 )

Things to think about

You should implement backup strategy for the following directories:

/opt/endurain/app/user_images
/opt/endurain/app/files/bulk_import
/opt/endurain/app/files/processed
/opt/endurain/app/logs

You also need to backup your postgres database. It is not good practice to just backup the volume /opt/endurain/postgres this might be corrupted if the database is in the middle of a wright when the database goes down.

Default Credentials

  • Username: admin
  • Password: admin