reachableceo-laptop-docker/upstream/endurain/docker-compose.yml
2024-11-26 10:34:40 -06:00

98 lines
3.1 KiB
YAML

services:
# frontend logic
frontend:
container_name: frontend
image: ghcr.io/joaovitoriasilva/endurain/frontend:latest
environment:
- MY_APP_BACKEND_PROTOCOL=http # http or https, default is http
- MY_APP_BACKEND_HOST=localhost:98 # api host or local ip (example: 192.168.1.10:98), default is localhost:98
- MY_APP_STRAVA_CLIENT_ID=changeme
# Configure volume if you want to edit the code locally by clomming the repo
#volumes:
# - <local_path>/endurain/frontend/app:/app
ports:
- "8080:80" # frontend port, change per your needs
restart: unless-stopped
# API logic
backend:
container_name: backend
image: ghcr.io/joaovitoriasilva/endurain/backend:latest
environment:
- DB_PASSWORD=changeme
- SECRET_KEY=changeme # openssl rand -hex 32
- STRAVA_CLIENT_ID=changeme
- STRAVA_CLIENT_SECRET=changeme
- STRAVA_AUTH_CODE=changeme
- GEOCODES_MAPS_API=changeme
- FRONTEND_PROTOCOL=http # default is http
- FRONTEND_HOST=localhost:8080 # frontend host or local ip (example: 192.168.1.10:8080), default is localhost:8080
ports:
- "98:80" # API port, change per your needs
volumes:
# - <local_path>/endurain/backend/app:/app # Configure volume if you want to edit the code locally by cloning the repo
- <local_path>/endurain/backend/user_images:/app/user_images # necessary for user image persistence on container image updates
- <local_path>/endurain/backend/files/bulk_import:/app/files/bulk_import # necessary to enable bulk import of activities. Place here your activities files
- <local_path>/endurain/backend/files/processed:/app/files/processed # necessary for processed original files persistence on container image updates
- <local_path>/endurain/backend/logs:/app/logs # log files for the backend
depends_on:
- mariadb
- jaeger # optional
restart: unless-stopped
# mysql mariadb logic
mariadb:
image: mariadb:latest
container_name: mariadb
environment:
- MYSQL_ROOT_PASSWORD=changeme
- MYSQL_DATABASE=endurain
- MYSQL_USER=endurain
- MYSQL_PASSWORD=changeme
ports:
- "3306:3306"
volumes:
- <local_path>/mariadb:/var/lib/mysql
restart: unless-stopped
# Jaeger for opentelemetry - optional
# Jaeger is not enabled by default. If you do not need it or want it, you can remove this container
jaeger:
container_name: jaeger
image: jaegertracing/all-in-one:latest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Lisbon
- COLLECTOR_ZIPKIN_HOST_PORT=:9411
ports:
- 6831:6831/udp
- 6832:6832/udp
- 5778:5778
- 16686:16686
- 4317:4317
- 4318:4318
- 14250:14250
- 14268:14268
- 14269:14269
- 9411:9411
restart: unless-stopped
# phpmyadmin for DB manipulation - optional
phpmyadmin:
container_name: phpmyadmin
image: phpmyadmin
ports:
- 81:80
environment:
- PMA_HOST=mariadb
- PMA_ARBITRARY=1
depends_on:
- mariadb
restart: unless-stopped
networks:
default:
external: true
name: backend_network