Endurain
v1.0.0Endurain is a fitness tracking with control over their data and hosting environment.
fitness by rjcndev
x-arcane:
icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/endurain.svg
urls:
- https://github.com/endurain-project/endurain
services:
endurain:
image: ghcr.io/endurain-project/endurain:latest
container_name: endurain-app
env_file:
- .env
volumes:
# - endurain_backend_app:/app/backend # Configure volume if you want to edit the code locally by cloning the repo
- endurain_data:/app/backend/data # necessary for activity files, user images and server images persistence on container image updates
- endurain_logs:/app/backend/logs # log files for the backend
ports:
- ${APP_PORT:-8080}:8080
depends_on:
postgres:
condition: service_healthy
restart: unless-stopped
labels:
com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/endurain.svg
# postgres logic
postgres:
image: docker.io/postgres:17.5
container_name: endurain-postgres
env_file:
- .env
healthcheck:
test: ["CMD-SHELL", "pg_isready -U endurain"]
interval: 5s
timeout: 5s
retries: 5
volumes:
- endurain_postgres_data:/var/lib/postgresql/data
restart: unless-stopped
labels:
com.getarcaneapp.arcane.icon: https://cdn.jsdelivr.net/gh/selfhst/icons@main/svg/postgresql.svg
volumes:
endurain_data:
endurain_logs:
endurain_postgres_data:
# - endurain_backend_app
# https://github.com/endurain-project/endurain
# This is an environment variable file for Endurain's docker-compose.yml.example
# These are just the variable you have to set to be up and running.
# There is many more variable you could set. Check them out here: https://docs.endurain.com/getting-started/advanced-started/#supported-environment-variables
APP_PORT=8115
# Set a strong password here. Check if there are no trailing whitespaces in the beginning and end. Must be the same as POSTGRES_PASSWORD
DB_PASSWORD=changeme
# Must be the same as DB_PASSWORD
POSTGRES_PASSWORD=changeme
SECRET_KEY=changeme
FERNET_KEY=changeme
TZ=Europe/Lisbon
ENDURAIN_HOST=https://endurain.example.com
BEHIND_PROXY=true
# If you change this, you also have to change DB_DATABASE
POSTGRES_DB=endurain
# Uncomment and set it to the same as POSTGRES_DB if you change it
# DB_DATABASE=endurain
# If you change this, you also have to change DB_USER
POSTGRES_USER=endurain
# Uncomment and set it to the same as POSTGRES_USER if you change it
# DB_USER=endurain
PGDATA=/var/lib/postgresql/data/pgdata
# Optional: Enable session timeouts (default: false)
# Enable idle session timeout
#SESSION_IDLE_TIMEOUT_ENABLED=true
# If enabled, configure timeout durations
# Idle timeout (no activity)
#SESSION_IDLE_TIMEOUT_HOURS=1
# Absolute max session lifetime
#SESSION_ABSOLUTE_TIMEOUT_HOURS=24
# Email configuration (for password reset functionality)
#SMTP_HOST=smtp.protonmail.ch
#SMTP_PORT=587
#SMTP_USERNAME=your-email@example.com
#SMTP_PASSWORD=your-app-password
#SMTP_SECURE=true
#SMTP_SECURE_TYPE=starttls