From aba37632948b2f2d72f7c4af761f280e99fc9c12 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=98=D0=B2=D0=B0=D0=BD?= Date: Tue, 10 Mar 2026 22:11:32 +0300 Subject: [PATCH] add docker deploy --- .gitea/workflows/ci.yml | 14 +++++++++++ docker-compose.yml | 52 ++++++++--------------------------------- 2 files changed, 24 insertions(+), 42 deletions(-) diff --git a/.gitea/workflows/ci.yml b/.gitea/workflows/ci.yml index 12a7516..311498b 100644 --- a/.gitea/workflows/ci.yml +++ b/.gitea/workflows/ci.yml @@ -24,3 +24,17 @@ jobs: timeout 20 npm run start:prod || [ $? -eq 124 ] env: PORT: 4000 + + deploy: + needs: build-and-start + runs-on: [ubuntu-latest, docker] + container: + image: docker:24 + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Deploy with docker-compose + run: docker compose -p docker-stack up -d --build backend + env: + DATABASE_URL: ${{ secrets.DATABASE_URL }} + UPLOADS_PATH: ${{ secrets.UPLOADS_PATH }} diff --git a/docker-compose.yml b/docker-compose.yml index 3fc99e7..e4a0081 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,50 +1,18 @@ services: - postgres: - image: postgres:16-alpine - restart: always - environment: - POSTGRES_DB: travelmarinedb - POSTGRES_USER: yacht - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-change_me} - volumes: - - pg-data:/var/lib/postgresql/data - ports: - - '127.0.0.1:5432:5432' - backend: build: . + restart: always environment: NODE_ENV: production PORT: 4000 - DATABASE_URL: postgresql://yacht:${POSTGRES_PASSWORD:-change_me}@postgres:5432/travelmarinedb - UPLOAD_PATH: ./uploads - APP_URL: http://localhost:4000 + DATABASE_URL: ${DATABASE_URL} + UPLOAD_PATH: /app/uploads + APP_URL: ${APP_URL:-https://api.travelmarine.ru} volumes: - - ./uploads:/app/uploads - depends_on: - - postgres - ports: - - '127.0.0.1:4000:4000' - restart: always + - ${UPLOADS_PATH:-./uploads}:/app/uploads + networks: + - app-network - pgbackup: - image: prodrigestivill/postgres-backup-local:16 - restart: always - depends_on: - - postgres - environment: - POSTGRES_HOST: postgres - POSTGRES_DB: yachtbooking - POSTGRES_USER: yacht - POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-change_me} - SCHEDULE: '0 3 * * *' - BACKUP_KEEP_DAYS: 7 - BACKUP_KEEP_WEEKS: 4 - BACKUP_KEEP_MONTHS: 3 - BACKUP_DIR: /backups - volumes: - - pg-backups:/backups - -volumes: - pg-data: - pg-backups: +networks: + app-network: + external: true