Files
NaliiaPro/docker-compose.yaml

140 lines
3.9 KiB
YAML

services:
db:
image: postgres
hostname: ${DB_HOSTNAME}
volumes:
- postgres:/var/lib/postgresql
environment:
POSTGRES_DB: ${POSTGRES_DB:-naliia}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-SUp3r-pass*DB}
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-naliia}"]
interval: 10s
timeout: 5s
retries: 5
env_file:
- .env
tryton:
image: ${NALIIA:-gitea.onecluster.org/oneteam/naliia:1.0.0_pro}
working_dir: /app
command: /bin/bash /opt/start.sh
volumes:
- var:/var
- attachment:/mnt/attachment
environment:
TRYTOND_DATABASE_URI: ${TRYTOND_DATABASE_URI:-postgresql://${POSTGRES_USER:-naliia}:${POSTGRES_PASSWORD:-SUp3r-pass*DB}@${DB_HOSTNAME:-db}:5432/}
NALIIA_IMAGE: ${NALIIA:-gitea.onecluster.org/aserrador/naliia:latest}
EMAIL: ${EMAIL:-admin@admin.org}
depends_on:
db:
condition: service_healthy
healthcheck:
test: curl --fail localhost:8000 || exit 1
interval: 30s
retries: 5
start_period: 30s
timeout: 20s
env_file:
- .env
worker:
image: ${NALIIA:-gitea.onecluster.org/oneteam/naliia:1.0.0_pro}
working_dir: /app
depends_on:
tryton:
condition: service_healthy
db:
condition: service_healthy
entrypoint:
[
"bash",
"-c",
"/entrypoint.sh trytond-worker -c /etc/trytond_worker.conf -d ${POSTGRES_DB} --logconf /etc/trytond_worker_logging.conf",
]
volumes:
- .:/app
environment:
TRYTOND_DATABASE_URI: ${TRYTOND_DATABASE_URI:-postgresql://${POSTGRES_USER:-naliia}:${POSTGRES_PASSWORD:-SUp3r-pass*DB}@${DB_HOSTNAME:-db}:5432/}
env_file:
- .env
cron:
image: ${NALIIA:-gitea.onecluster.org/oneteam/naliia:1.0.0_pro}
working_dir: /app
depends_on:
tryton:
condition: service_healthy
db:
condition: service_healthy
entrypoint:
[
"bash",
"-c",
"/entrypoint.sh trytond-cron -c /etc/trytond.conf -d ${POSTGRES_DB} --logconf /etc/trytond_cron_logging.conf",
]
volumes:
- .:/app
environment:
TRYTOND_DATABASE_URI: ${TRYTOND_DATABASE_URI:-postgresql://${POSTGRES_USER:-naliia}:${POSTGRES_PASSWORD:-SUp3r-pass*DB}@${DB_HOSTNAME:-db}:5432/}
env_file:
- .env
nginx:
image: nginx:1.23.3
volumes:
- ./nginx.conf:/etc/nginx/conf.d/nginx.conf.template
ports:
- "${NGINX_PORT:-10000}:${NGINX_PORT:-10000}"
env_file:
- .env
depends_on:
- tryton
- db
command: /bin/bash -c "envsubst < /etc/nginx/conf.d/nginx.conf.template > /etc/nginx/conf.d/default.conf && nginx -g 'daemon off;'"
bot:
image: ${NALIIA_BOT:-gitea.onecluster.org/oneteam/naliia_bot:v1.0.0_pro}
ports:
- "8010:8010"
depends_on:
db:
condition: service_healthy
volumes:
- bot:/app/src
env_file:
- .env
environment:
- LLM_MODEL=${LLM_MODEL:-deepseek}
- POSTGRES_HOST=${POSTGRES_HOST:-db}
- POSTGRES_USER=${POSTGRES_USER:-postgres}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD:-postgres}
- POSTGRES_DB=${POSTGRES_DB:-messages}
healthcheck:
test: ["CMD-SHELL", "curl -f http://localhost:8010/health || exit 1"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
tryton_mcp:
image: ${NALIIA_TRYTON_MCP:-gitea.onecluster.org/oneteam/naliia_tryton_mcp:v1.0.0_pro}
volumes:
- mcp:/app/src
environment:
- TRYTON_HOSTNAME=${TRYTON_HOSTNAME:-tryton}
- TRYTON_DATABASE=${TRYTON_DATABASE:-naliia}
- TRYTON_USERNAME=${TRYTON_USERNAME:-admin}
- TRYTON_PASSWORD=${TRYTON_PASSWORD:-S0p0rt3f1n4l*}
- TRYTON_PORT=${TRYTON_PORT:-8000}
- FASTMCP_HOST=0.0.0.0
- FASTMCP_TRANSPORT=http
- FASTMCP_PORT=3001
env_file:
- .env
volumes:
postgres:
var:
attachment:
bot:
mcp: