Repository navigation
Expand file tree
/
Copy pathdocker-compose.prod.yml
More file actions
75 lines (71 loc) · 2.36 KB
/
Copy pathdocker-compose.prod.yml
File metadata and controls
75 lines (71 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
# Production stack: postgres + api + web.
# Запуск на сервере:
# docker compose -f docker-compose.prod.yml --env-file .env.prod up -d
#
# Переменные окружения (см. .env.example) должны быть заданы в .env.prod на сервере.
# Образы api/web по умолчанию берутся из GitLab Container Registry
# (переменные API_IMAGE / WEB_IMAGE подставляются из CI).
services:
api:
image: ${API_IMAGE:-tk-generator/api:local}
build:
context: .
dockerfile: apps/api/Dockerfile
container_name: tk_api
restart: unless-stopped
environment:
NODE_ENV: production
PORT: "3000"
LOG_LEVEL: ${LOG_LEVEL:-info}
DATABASE_URL: postgresql://${POSTGRES_USER:-tk}:${POSTGRES_PASSWORD}@infra-postgres1:5432/${POSTGRES_DB:-tk_generator}?schema=public
AITUNNEL_KEY: ${AITUNNEL_KEY:?AITUNNEL_KEY is required}
AITUNNEL_BASE_URL: ${AITUNNEL_BASE_URL:-https://api.aitunnel.ru/v1/}
LLM_MODEL: ${LLM_MODEL:-gpt-4o}
LLM_MAX_TOKENS: ${LLM_MAX_TOKENS:-8000}
JIRA_BASE_URL: ${JIRA_BASE_URL}
JIRA_EMAIL: ${JIRA_EMAIL}
JIRA_TOKEN: ${JIRA_TOKEN}
CONFLUENCE_BASE_URL: ${CONFLUENCE_BASE_URL}
CONFLUENCE_EMAIL: ${CONFLUENCE_EMAIL}
CONFLUENCE_TOKEN: ${CONFLUENCE_TOKEN}
FIGMA_TOKEN: ${FIGMA_TOKEN}
FIGMA_MAX_WIDTH: ${FIGMA_MAX_WIDTH:-2048}
GITLAB_BASE_URL: ${GITLAB_BASE_URL}
GITLAB_TOKEN: ${GITLAB_TOKEN}
GITLAB_MAX_DIFF_CHARS: ${GITLAB_MAX_DIFF_CHARS:-60000}
ALLURE_BASE_URL: ${ALLURE_BASE_URL}
ALLURE_TOKEN: ${ALLURE_TOKEN}
ALLURE_PROJECT_ID: ${ALLURE_PROJECT_ID}
ALLURE_CF_COMPONENT: ${ALLURE_CF_COMPONENT:-Component}
ALLURE_CF_PAGE: ${ALLURE_CF_PAGE:-Page}
ALLURE_CF_FEATURE: ${ALLURE_CF_FEATURE:-Feature}
expose:
- "3000"
networks: [tk_net]
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
web:
image: ${WEB_IMAGE:-tk-generator/web:local}
build:
context: .
dockerfile: apps/web/Dockerfile
container_name: tk_web
restart: unless-stopped
depends_on:
- api
ports:
- "8080:80"
networks: [tk_net]
logging:
driver: json-file
options:
max-size: "10m"
max-file: "5"
networks:
tk_net:
driver: bridge
volumes:
tk_pg_data: