Files
Stephen Minakian 9153a2faf8
All checks were successful
Deploy Apartment API / deploy (push) Successful in 9m48s
Initial commit
2025-07-15 17:51:26 -06:00

60 lines
1.6 KiB
YAML

name: Deploy Apartment API
on:
push:
branches: [ main ]
workflow_dispatch:
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: '18'
cache: 'npm'
- name: Install dependencies
run: npm ci
- name: Build Docker image
run: |
docker build -t apartment-api:${{ github.sha }} .
docker tag apartment-api:${{ github.sha }} apartment-api:latest
- name: Deploy to server
run: |
# Copy files to deployment directory
mkdir -p /media/stephen/Storage_Linux/infrastructure/services/apartment-api
cp -r . /media/stephen/Storage_Linux/infrastructure/services/apartment-api/
# Navigate to deployment directory
cd /media/stephen/Storage_Linux/infrastructure/services/apartment-api
# Stop existing container if running
docker compose down || true
# Start new container
docker compose up -d
# Clean up old images
docker image prune -f
- name: Verify deployment
run: |
# Wait for container to start
sleep 15
# Check if container is running
docker ps | grep apartment-api
# Test health endpoint
curl -f http://localhost:3000/health || echo "API may still be starting..."
# Test API endpoint
curl -f http://localhost:3000/api/daily-summary || echo "API may still be loading data..."