commit 61a5cf5ccea0e85e1c2678d3a3218ca8acb45bc3 Author: EgorZuev <вÐyegorzuev@gmail.com> Date: Wed Jan 28 22:05:00 2026 +0000 Initial commit: Docker compose structure diff --git a/.gitignore b/.gitignore new file mode 100755 index 0000000..9db5ca1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,17 @@ +# Игнорируем базу данных (обязательно!) +db/ +postgres_data/ + +# Игнорируем секреты +.env + +# Игнорируем системные папки IDE (если редактируете с ПК) +.idea/ +.vscode/ +*.DS_Store + +# Игнорируем временные файлы сборки (на будущее) +backend/target/ +backend/build/ +frontend/node_modules/ +frontend/dist/ diff --git a/compose.yaml b/compose.yaml new file mode 100644 index 0000000..0a26e8f --- /dev/null +++ b/compose.yaml @@ -0,0 +1,45 @@ +services: + backend: + container_name: backend + restart: always + build: + context: ./backend + dockerfile: Dockerfile + networks: + - proxy + depends_on: + db: + condition: service_healthy + + frontend: + container_name: frontend + restart: always + build: + context: ./frontend + dockerfile: Dockerfile + networks: + - proxy + depends_on: + - backend + + db: + image: postgres:alpine3.23 + container_name: db + restart: always + environment: + POSTGRES_USER: ${POSTGRES_USER} + POSTGRES_PASSWORD: ${POSTGRES_PASSWORD} + POSTGRES_DB: app_db + volumes: + - ./db:/var/lib/postgresql/data + networks: + - proxy + healthcheck: + test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d app_db"] + interval: 10s + timeout: 5s + retries: 5 + +networks: + proxy: + external: true