Files
uno-click/docker-compose.yml
T
2026-05-13 14:20:41 +00:00

132 lines
3.7 KiB
YAML

services:
postgres:
image: postgres:15
container_name: uno-postgres
restart: unless-stopped
ports:
- "127.0.0.1:5432:5432"
environment:
POSTGRES_DB: ${POSTGRES_DB}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
interval: 10s
timeout: 5s
retries: 10
n8n:
image: docker.n8n.io/n8nio/n8n:stable
container_name: uno-n8n
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
ports:
- "127.0.0.1:5678:5678"
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: postgres
DB_POSTGRESDB_PORT: 5432
DB_POSTGRESDB_DATABASE: ${POSTGRES_DB}
DB_POSTGRESDB_USER: ${POSTGRES_USER}
DB_POSTGRESDB_PASSWORD: ${POSTGRES_PASSWORD}
N8N_ENCRYPTION_KEY: ${N8N_ENCRYPTION_KEY}
N8N_HOST: ${N8N_HOST}
N8N_PROTOCOL: ${N8N_PROTOCOL}
N8N_PORT: ${N8N_PORT}
WEBHOOK_URL: ${WEBHOOK_URL}
N8N_PROXY_HOPS: ${N8N_PROXY_HOPS}
NODE_FUNCTION_ALLOW_BUILTIN: crypto,http
GENERIC_TIMEZONE: ${GENERIC_TIMEZONE}
TZ: ${TZ}
volumes:
- n8n_data:/home/node/.n8n
- ./local-files:/files
ffmpeg-api:
build:
context: ./ffmpeg-api
container_name: uno-ffmpeg-api
restart: unless-stopped
volumes:
- ./local-files:/files
ports:
- "127.0.0.1:8000:8000"
minio:
image: minio/minio:latest
container_name: minio
restart: always
ports:
- "9000:9000" # API
- "9001:9001" # Web UI
environment:
MINIO_ROOT_USER: UN0-admin
MINIO_ROOT_PASSWORD: RAygtZHqGN49qKn
volumes:
- /opt/minio/data:/data
command: server /data --console-address ":9001"
bff:
build:
context: ./bff
container_name: uno-bff
restart: unless-stopped
depends_on:
postgres:
condition: service_healthy
minio:
condition: service_started
ports:
- "127.0.0.1:3001:3001"
environment:
- NODE_ENV=production
- HOST=0.0.0.0
- PORT=3001
- PG_HOST=postgres
- PG_PORT=5432
- PG_DATABASE=${POSTGRES_DB}
- PG_USER=${POSTGRES_USER}
- PG_PASSWORD=${POSTGRES_PASSWORD}
- COOKIE_ACCESS_NAME=__Host-access_token
- COOKIE_REFRESH_NAME=__Host-refresh_token
- COOKIE_CSRF_NAME=csrf_token
- ACCESS_TOKEN_TTL_SEC=900
- REFRESH_TOKEN_TTL_SEC=2592000
- JWT_ISSUER=uno-click-bff
- JWT_AUDIENCE=uno-click-web
- JWT_SECRET=test-secret-key-for-development
- N8N_BASE_URL=http://uno-n8n:5678
- S3_ENDPOINT=http://minio:9000
- S3_ACCESS_KEY=UN0-admin
- S3_SECRET_KEY=RAygtZHqGN49qKn
- S3_BUCKET=uno-click
- S3_IMAGES_INPUT_FOLDER=images_input
- S3_PRESIGNED_URL_EXPIRES_IN=3600
- S3_PUBLIC_ENDPOINT=https://uno-click.pip-test.ru/s3-upload/uno-click/
- TELEGRAM_BOT_TOKEN=8679428833:AAGtP7fkEjoJCPz1o1PhSV_vCI7g2JB9pHo
- TELEGRAM_BOT_USERNAME=One_Click_Auth_bot
- TELEGRAM_WEBHOOK_SECRET=dbe8c8d2903a836339dc009782a63f1a96b94f70ac204a1d
- FRONTEND_URL=https://uno-click.pip-test.ru,https://cc86b8e0-c23c-42e4-9ca9-52684746940d-00-2b5hl9u4q8nnf.pike.replit.dev,https://150b44f4-d8b1-439c-9b60-f012e9015ab6-00-2sfcbvia8exhs.pike.replit.dev
site:
build:
context: ./site
dockerfile: Dockerfile
container_name: uno-site
restart: unless-stopped
depends_on:
bff:
condition: service_started
ports:
- "127.0.0.1:3000:3000"
environment:
- NODE_ENV=production
- PORT=3000
- BFF_URL=http://uno-bff:3001
volumes:
postgres_data:
n8n_data: