This commit is contained in:
chase
2026-05-04 12:34:34 +03:00
parent 17b0ca614d
commit f7a41e0b82
4 changed files with 14 additions and 20 deletions
+7
View File
@@ -0,0 +1,7 @@
# Порт на хосте, куда пробрасывается входной nginx (proxy)
HTTP_PORT=8080
# Пароль БД
POSTGRES_USER=app
POSTGRES_PASSWORD=app
POSTGRES_DB=appdb
-10
View File
@@ -1,10 +0,0 @@
# Скопируйте в .env и при необходимости измените:
# cp .env.example .env
# Порт на хосте, куда пробрасывается входной nginx (proxy)
HTTP_PORT=8080
# Пароль БД (в продакшене — длинный случайный; не коммитьте .env в git)
POSTGRES_USER=app
POSTGRES_PASSWORD=app
POSTGRES_DB=appdb
-1
View File
@@ -1 +0,0 @@
.env
+7 -9
View File
@@ -1,11 +1,9 @@
# Docker Compose один файл описывает весь стек. # Docker Compose - один файл описывает весь стек.
# Запуск из этой папки: docker compose up -d --build
# Версия схемы compose больше не обязательна в поле `version:` (Compose V2).
name: multi-service-demo name: multi-service-demo
services: services:
# --- Сервис 1: PostgreSQL (готовый образ из Docker Hub) --- # Сервис 1 - образ PostgreSQL
db: db:
image: postgres:16-alpine image: postgres:16-alpine
restart: unless-stopped restart: unless-stopped
@@ -25,7 +23,7 @@ services:
retries: 10 retries: 10
start_period: 10s start_period: 10s
# --- Сервис 2: API (собирается из ./api/Dockerfile) --- # Сервис 2 - API (собирается из ./api/Dockerfile)
api: api:
build: build:
context: ./api context: ./api
@@ -36,7 +34,7 @@ services:
FLASK_ENV: production FLASK_ENV: production
UPLOAD_DIR: /data/uploads UPLOAD_DIR: /data/uploads
volumes: volumes:
# Том для загрузок: файлы копируются в API в папку тома (пример «данные вне образа») # Том для загрузок: файлы копируются в API в папку тома
- api_uploads:/data/uploads - api_uploads:/data/uploads
depends_on: depends_on:
db: db:
@@ -52,7 +50,7 @@ services:
retries: 5 retries: 5
start_period: 20s start_period: 20s
# --- Сервис 3: статический фронт (nginx + COPY html в образе web) --- # Сервис 3 - статический фронт (nginx + COPY html в образе web)
web: web:
build: build:
context: ./web context: ./web
@@ -63,14 +61,14 @@ services:
expose: expose:
- "80" - "80"
# --- Сервис 4: reverse proxy единая точка входа с хоста --- # Сервис 4 - reverse proxy - единая точка входа с хоста
proxy: proxy:
build: build:
context: ./proxy context: ./proxy
dockerfile: Dockerfile dockerfile: Dockerfile
restart: unless-stopped restart: unless-stopped
ports: ports:
# Порт хоста берём из .env (см. .env.example) # Порт хоста берём из .env
- "${HTTP_PORT:-8080}:80" - "${HTTP_PORT:-8080}:80"
depends_on: depends_on:
web: web: