From 09b2b4599745f66ae192b8cace8146b437304104 Mon Sep 17 00:00:00 2001 From: TimofeyTst Date: Sun, 8 Oct 2023 21:03:53 +0300 Subject: [PATCH] All done --- README.md | 25 ++++++++++++-- docker-compose.dev.yml | 78 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 docker-compose.dev.yml diff --git a/README.md b/README.md index c740dcf..c8b9e47 100644 --- a/README.md +++ b/README.md @@ -1,14 +1,35 @@ # Deploy -Создайте файл .env по шаблону .env.example ## Development +- Подразумевает, что все нужные репозитории отклонированы в одну папку +- Требуется создать файл `.env` по шаблону `.env.example` +- Поддерживает изменения на лету, максимально удобен для разработки ```bash docker-compose up -d docker compose exec rest_api migrate ``` +## Development pulling +- Нужен только репозиторий deploy +- Сборка dev образов с Docker Hub +```bash +docker-compose -f docker-compose.dev.yml up -d +docker compose exec rest_api migrate +``` + +## Production pulling +- Нужен только репозиторий deploy +- Сборка prod образов с Docker Hub + +```bash +docker-compose -f docker-compose.prod.yml up -d +docker compose exec rest_api migrate +``` + ## Release -В этом режиме собирается готовый образ для production +- Подразумевает, что все нужные репозитории отклонированы в одну папку +- Требуется создать файл `.prod.env` по шаблону `.env.example` +- В этом режиме собирается готовый compose для production ```bash docker-compose -f docker-compose.release.yml up -d --build docker compose exec rest_api migrate diff --git a/docker-compose.dev.yml b/docker-compose.dev.yml new file mode 100644 index 0000000..7019c79 --- /dev/null +++ b/docker-compose.dev.yml @@ -0,0 +1,78 @@ +version: '3.8' + +services: + db: + container_name: db + hostname: db + image: library/postgres:14.1 + + environment: + - POSTGRES_USER=${POSTGRES_USER} + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=${POSTGRES_DB} + volumes: + - eat_place_pg_data:/var/lib/postgresql/data + ports: + - "5432:5432" + + test_db: + container_name: test_db + hostname: test_db + image: library/postgres:14.1 + + environment: + - POSTGRES_USER=rest + - POSTGRES_PASSWORD=rest + - POSTGRES_DB=rest + volumes: + - eat_place_test_pg_data:/var/lib/postgresql/data + ports: + - "5433:5432" + + redis: + image: redis:6.2-alpine + hostname: redis + container_name: redis + env_file: + - .env + command: + - /bin/sh + - -c + - redis-server --requirepass "$${REDIS_PASSWORD:?REDIS_PASSWORD variable is not set}" + ports: + - 6379:6379 + + + rest_api: + image: timofeytst/eat-place:rest_api_dev + ports: + - "8000:8000" + restart: always + + env_file: + - .env + depends_on: + - db + - redis + + web_ui: + image: timofeytst/eat-place:web_ui_dev + ports: + - "3000:3000" + restart: always + environment: + REACT_APP_DEV: dev + depends_on: + - rest_api + +volumes: + eat_place_pg_data: + driver: "local" + + eat_place_test_pg_data: + driver: "local" + +networks: + default: + external: true + name: eat_place