add docker deploy
CI / build-and-start (push) Successful in 44s Details
CI / deploy (push) Failing after 13s Details

This commit is contained in:
Иван 2026-03-10 22:11:32 +03:00
parent e45fd58232
commit aba3763294
2 changed files with 24 additions and 42 deletions

View File

@ -24,3 +24,17 @@ jobs:
timeout 20 npm run start:prod || [ $? -eq 124 ] timeout 20 npm run start:prod || [ $? -eq 124 ]
env: env:
PORT: 4000 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 }}

View File

@ -1,50 +1,18 @@
services: 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: backend:
build: . build: .
restart: always
environment: environment:
NODE_ENV: production NODE_ENV: production
PORT: 4000 PORT: 4000
DATABASE_URL: postgresql://yacht:${POSTGRES_PASSWORD:-change_me}@postgres:5432/travelmarinedb DATABASE_URL: ${DATABASE_URL}
UPLOAD_PATH: ./uploads UPLOAD_PATH: /app/uploads
APP_URL: http://localhost:4000 APP_URL: ${APP_URL:-https://api.travelmarine.ru}
volumes: volumes:
- ./uploads:/app/uploads - ${UPLOADS_PATH:-./uploads}:/app/uploads
depends_on: networks:
- postgres - app-network
ports:
- '127.0.0.1:4000:4000'
restart: always
pgbackup: networks:
image: prodrigestivill/postgres-backup-local:16 app-network:
restart: always external: true
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: