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 up -d --build
# Версия схемы compose больше не обязательна в поле `version:` (Compose V2).
# Docker Compose - один файл описывает весь стек.
name: multi-service-demo
services:
# --- Сервис 1: PostgreSQL (готовый образ из Docker Hub) ---
# Сервис 1 - образ PostgreSQL
db:
image: postgres:16-alpine
restart: unless-stopped
@@ -25,7 +23,7 @@ services:
retries: 10
start_period: 10s
# --- Сервис 2: API (собирается из ./api/Dockerfile) ---
# Сервис 2 - API (собирается из ./api/Dockerfile)
api:
build:
context: ./api
@@ -36,7 +34,7 @@ services:
FLASK_ENV: production
UPLOAD_DIR: /data/uploads
volumes:
# Том для загрузок: файлы копируются в API в папку тома (пример «данные вне образа»)
# Том для загрузок: файлы копируются в API в папку тома
- api_uploads:/data/uploads
depends_on:
db:
@@ -52,7 +50,7 @@ services:
retries: 5
start_period: 20s
# --- Сервис 3: статический фронт (nginx + COPY html в образе web) ---
# Сервис 3 - статический фронт (nginx + COPY html в образе web)
web:
build:
context: ./web
@@ -63,14 +61,14 @@ services:
expose:
- "80"
# --- Сервис 4: reverse proxy единая точка входа с хоста ---
# Сервис 4 - reverse proxy - единая точка входа с хоста
proxy:
build:
context: ./proxy
dockerfile: Dockerfile
restart: unless-stopped
ports:
# Порт хоста берём из .env (см. .env.example)
# Порт хоста берём из .env
- "${HTTP_PORT:-8080}:80"
depends_on:
web: