Files
docker/docker-compose.yml
2026-01-02 10:55:56 +01:00

230 lines
5.4 KiB
YAML

services:
hugo:
image: nginx:alpine
container_name: hugo-site
restart: unless-stopped
volumes:
- /var/www/os-site:/usr/share/nginx/html:ro # ton build Hugo
expose:
- "80"
vaultwarden:
image: vaultwarden/server:latest
container_name: vaultwarden
restart: unless-stopped
expose:
- "80"
volumes:
- ./vaultwarden-data:/data
environment:
DOMAIN: "https://srv413259.hstgr.cloud:8445"
ADMIN_TOKEN: "ONPEUTSELASSERDETOUTSAUFDECOMPRENDRE"
SIGNUPS_ALLOWED: "true"
WEBSOCKET_ENABLED: "true"
tradon-metabase:
image: metabase/metabase:latest
container_name: tradon-metabase
depends_on:
- metabase-db
expose:
- "3000"
environment:
MB_DB_TYPE: postgres
MB_DB_DBNAME: metabase
MB_DB_PORT: 5432
MB_DB_USER: metabase
MB_DB_PASS: dsproject
MB_DB_HOST: metabase-db
restart: unless-stopped
metabase-db:
image: postgres:16
container_name: metabase-postgres
restart: unless-stopped
environment:
POSTGRES_DB: metabase
POSTGRES_USER: metabase
POSTGRES_PASSWORD: dsproject
volumes:
- /root/tradon/metabase:/var/lib/postgresql/data
ports:
- "5434:5432"
gitea:
image: gitea/gitea:latest
container_name: gitea
restart: always
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__server__ROOT_URL=https://srv413259.hstgr.cloud:8444/
- GITEA__server__SSH_PORT=2222
volumes:
- gitea-data:/data
expose:
- "3000"
ports:
- "2222:22"
postgres:
image: tradon/postgres
container_name: tradon-postgres
environment:
POSTGRES_DB: tradon
POSTGRES_PASSWORD: dsproject
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- tradon-database:/var/lib/postgresql/data
ports:
- "5432:5432"
postgres-dev:
image: tradon/postgres
container_name: tradon-postgres-dev
environment:
POSTGRES_DB: tradon
POSTGRES_PASSWORD: dsproject
PGDATA: /var/lib/postgresql/data/pgdata
volumes:
- tradon-database-dev:/var/lib/postgresql/data
ports:
- "5433:5432"
tryton:
image: tradon/tradon
container_name: tradon
depends_on:
- postgres
environment:
DB_HOSTNAME: postgres
DB_PASSWORD: dsproject
volumes:
- /root/tradon/source/sao:/var/lib/trytond
- /root/tradon/source/prod:/usr/local/lib/python3.11/dist-packages/trytond
- ./tryton/trytond.conf:/etc/trytond.conf
expose:
- "8000"
tryton-dev:
image: tradon/tradon
container_name: tradon-dev
depends_on:
- postgres-dev
environment:
DB_HOSTNAME: postgres-dev
DB_PASSWORD: dsproject
volumes:
- tradon-sao-dev:/var/lib/trytond
- /root/tradon/source/dev:/usr/local/lib/python3.11/dist-packages/trytond
- ./tryton/trytond-dev.conf:/etc/trytond.conf
expose:
- "8008"
automation-service:
build: ./automation
container_name: automation-service
depends_on:
- tryton
expose:
- "8006"
volumes:
- ./automation:/app
metabase:
image: metabase/metabase:latest
container_name: metabase
expose:
- "3000"
volumes:
- ./metabase-data:/metabase.db
nginx:
image: nginx:latest
container_name: tradon-nginx
depends_on:
- tryton
- metabase
volumes:
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf:ro
- ./nginx/letsencrypt:/var/www/letsencrypt
- ./nginx/certs:/etc/letsencrypt
- ./tryton_test_react/dist:/var/www/dashboard
- /var/www/os-site:/var/www/os-site
ports:
- "80:80"
- "81:81"
- "443:443"
- "8008:8008"
- "8444:8444"
- "8445:8445"
- "8446:8446"
certbot:
image: certbot/certbot
depends_on:
- nginx
volumes:
- ./nginx/letsencrypt:/var/www/letsencrypt
- ./nginx/certs:/etc/letsencrypt
entrypoint: >
sh -c "while ! nc -z tradon-nginx 80; do sleep 1; done; certbot certonly --webroot -w /var/www/letsencrypt --email admin@tondomaine.com --agree-tos --no-eff-email -d srv413259.hstgr.cloud -d srv413259.hstgr.cloud"
plane-db:
image: postgres:15
container_name: plane-postgres
restart: unless-stopped
environment:
POSTGRES_DB: plane
POSTGRES_USER: plane
POSTGRES_PASSWORD: plane_secret
volumes:
- plane-db:/var/lib/postgresql/data
plane-redis:
image: redis:7
container_name: plane-redis
restart: unless-stopped
plane-backend:
image: makeplane/plane-backend:latest
container_name: plane-backend
depends_on:
- plane-db
- plane-redis
environment:
DATABASE_URL: postgres://plane:plane_secret@plane-db:5432/plane
REDIS_URL: redis://plane-redis:6379
SECRET_KEY: super-secret-key
CORS_ALLOWED_ORIGINS: https://srv413259.hstgr.cloud:8446
expose:
- "8000"
plane-frontend:
image: makeplane/plane-frontend:latest
container_name: plane-frontend
depends_on:
- plane-backend
environment:
NEXT_PUBLIC_API_BASE_URL: https://srv413259.hstgr.cloud:8446
expose:
- "3000"
volumes:
tradon-database:
external: true
tradon-sao:
external: true
tradon-modules:
external: true
tradon-database-dev:
external: true
tradon-sao-dev:
external: true
tradon-modules-dev:
external: true
metabase-data:
gitea-data:
plane-db: