264 lines
6.1 KiB
YAML
264 lines
6.1 KiB
YAML
services:
|
|
db:
|
|
image: mariadb:10.6
|
|
container_name: osticket-db
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: rootpass
|
|
MYSQL_DATABASE: osticket
|
|
MYSQL_USER: osticket
|
|
MYSQL_PASSWORD: osticketpass
|
|
volumes:
|
|
- ./osticket/db_data:/var/lib/mysql
|
|
restart: unless-stopped
|
|
|
|
osticket:
|
|
image: devinsolutions/osticket:latest
|
|
container_name: osticket
|
|
expose:
|
|
- "80"
|
|
environment:
|
|
MYSQL_HOST: db
|
|
MYSQL_DATABASE: osticket
|
|
MYSQL_USER: osticket
|
|
MYSQL_PASSWORD: osticketpass
|
|
depends_on:
|
|
- db
|
|
restart: unless-stopped
|
|
|
|
ai-extractor:
|
|
build:
|
|
context: ./automation/ai
|
|
image: ai-extractor
|
|
container_name: ai-extractor
|
|
expose:
|
|
- "8000"
|
|
volumes:
|
|
- ./automation/ai:/app
|
|
environment:
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY}
|
|
restart: unless-stopped
|
|
|
|
gradio-ui:
|
|
build:
|
|
context: ./gradio-ui
|
|
image: tradon-gradio-ui
|
|
container_name: gradio-ui
|
|
expose:
|
|
- "3333"
|
|
volumes:
|
|
- ./gradio-ui:/app
|
|
restart: unless-stopped
|
|
|
|
llm-api:
|
|
build:
|
|
context: ./llm-api
|
|
image: tradon-llm-api
|
|
container_name: llm-api
|
|
expose:
|
|
- "8000"
|
|
volumes:
|
|
- ./llm-api/app:/app
|
|
- ./llm-api/requirements.txt:/app/requirements.txt
|
|
environment:
|
|
OPENAI_API_KEY: ${OPENAI_API_KEY}
|
|
restart: unless-stopped
|
|
|
|
hugo:
|
|
image: nginx:alpine
|
|
container_name: hugo-site
|
|
restart: unless-stopped
|
|
volumes:
|
|
- /var/www/os-site:/usr/share/nginx/html:ro
|
|
expose:
|
|
- "80"
|
|
|
|
vaultwarden:
|
|
image: vaultwarden/server:latest
|
|
container_name: vaultwarden
|
|
restart: unless-stopped
|
|
expose:
|
|
- "80"
|
|
volumes:
|
|
- ./vaultwarden-data:/data
|
|
environment:
|
|
DOMAIN: "https://vw.open-squared.tech"
|
|
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://gitea.open-squared.tech/
|
|
- 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"
|
|
|
|
tradon:
|
|
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"
|
|
|
|
cron:
|
|
image: tradon/tradon
|
|
container_name: tradon-cron
|
|
depends_on:
|
|
- postgres
|
|
environment:
|
|
DB_HOSTNAME: postgres
|
|
DB_PASSWORD: dsproject
|
|
volumes:
|
|
- /root/tradon/source/prod:/usr/local/lib/python3.11/dist-packages/trytond
|
|
command: ["trytond-cron", "-d", "tradon"]
|
|
|
|
tradon-dev:
|
|
image: tradon/tradon
|
|
container_name: tradon-dev
|
|
depends_on:
|
|
- postgres-dev
|
|
environment:
|
|
DB_HOSTNAME: postgres-dev
|
|
DB_PASSWORD: dsproject
|
|
volumes:
|
|
- /root/tradon/source/sao:/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:
|
|
- tradon
|
|
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:
|
|
- tradon
|
|
- tradon-dev
|
|
- metabase
|
|
- gitea
|
|
- vaultwarden
|
|
- hugo
|
|
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"
|
|
- "443:443"
|
|
|
|
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 open-squared.tech -d dev.open-squared.tech -d prod.open-squared.tech -d vw.open-squared -d gitea.open-squared.tech -d ai.open-squared.tech"
|
|
|
|
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:
|