Compare commits
4 Commits
5091dfd1ce
...
4a6dc37854
| Author | SHA1 | Date | |
|---|---|---|---|
| 4a6dc37854 | |||
| eadc0ea39c | |||
| 1d169b1228 | |||
| b409a22322 |
21
.gitea/workflows/deploy-dev.yml
Normal file
21
.gitea/workflows/deploy-dev.yml
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
name: Deploy Development
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [develop]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Deploy to Development
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
echo "=== Deploying to DEVELOPMENT ==="
|
||||||
|
cd /home/lars/docker/bodytrack-dev
|
||||||
|
git pull origin develop
|
||||||
|
docker compose -f docker-compose.dev-env.yml build --no-cache
|
||||||
|
docker compose -f docker-compose.dev-env.yml up -d
|
||||||
|
sleep 5
|
||||||
|
curl -sf http://localhost:8099/api/auth/status && echo "✓ DEV API healthy"
|
||||||
|
echo "=== DEV Deploy complete ==="
|
||||||
21
.gitea/workflows/deploy-prod.yml
Normal file
21
.gitea/workflows/deploy-prod.yml
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
name: Deploy Production
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [main]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Deploy to Production
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
echo "=== Deploying to PRODUCTION ==="
|
||||||
|
cd /home/lars/docker/bodytrack
|
||||||
|
git pull origin main
|
||||||
|
docker compose -f docker-compose.yml build --no-cache
|
||||||
|
docker compose -f docker-compose.yml up -d
|
||||||
|
sleep 5
|
||||||
|
curl -sf http://localhost:8002/api/auth/status && echo "✓ PROD API healthy"
|
||||||
|
echo "=== PROD Deploy complete ==="
|
||||||
|
|
@ -1,38 +0,0 @@
|
||||||
name: Deploy to Raspberry Pi
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [main]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
deploy:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v3
|
|
||||||
|
|
||||||
- name: Deploy via SSH
|
|
||||||
uses: appleboy/ssh-action@v1.0.0
|
|
||||||
with:
|
|
||||||
host: ${{ secrets.DEPLOY_HOST }}
|
|
||||||
username: ${{ secrets.DEPLOY_USER }}
|
|
||||||
key: ${{ secrets.DEPLOY_SSH_KEY }}
|
|
||||||
script: |
|
|
||||||
set -e
|
|
||||||
cd /home/lars/docker/mitai
|
|
||||||
|
|
||||||
echo "=== Pulling latest code ==="
|
|
||||||
git pull origin main
|
|
||||||
|
|
||||||
echo "=== Rebuilding containers ==="
|
|
||||||
docker compose build --no-cache
|
|
||||||
|
|
||||||
echo "=== Restarting ==="
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
echo "=== Health check ==="
|
|
||||||
sleep 5
|
|
||||||
docker ps | grep jinkendo
|
|
||||||
curl -sf http://localhost:8002/api/auth/status | python3 -c "import sys,json; d=json.load(sys.stdin); print('✓ API healthy')" || echo "⚠ API check failed"
|
|
||||||
|
|
||||||
echo "=== Deploy complete ==="
|
|
||||||
|
|
@ -3,31 +3,22 @@ name: Build Test
|
||||||
on:
|
on:
|
||||||
push:
|
push:
|
||||||
branches: [main, develop]
|
branches: [main, develop]
|
||||||
pull_request:
|
|
||||||
branches: [main]
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-frontend:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- uses: actions/setup-node@v3
|
|
||||||
with:
|
|
||||||
node-version: '20'
|
|
||||||
- name: Install & Build
|
|
||||||
working-directory: ./frontend
|
|
||||||
run: |
|
|
||||||
npm install
|
|
||||||
npm run build
|
|
||||||
- name: Check build output
|
|
||||||
run: ls -la frontend/dist/
|
|
||||||
|
|
||||||
lint-backend:
|
lint-backend:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- name: Check backend syntax
|
||||||
- uses: actions/setup-python@v4
|
run: |
|
||||||
with:
|
python3 -m py_compile /home/lars/docker/bodytrack/backend/main.py
|
||||||
python-version: '3.12'
|
echo "✓ Backend syntax OK"
|
||||||
- name: Check syntax
|
|
||||||
run: python3 -m py_compile backend/main.py && echo "✓ Backend syntax OK"
|
build-frontend:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Build frontend
|
||||||
|
run: |
|
||||||
|
cd /home/lars/docker/bodytrack/frontend
|
||||||
|
npm install
|
||||||
|
npm run build
|
||||||
|
echo "✓ Frontend build OK"
|
||||||
|
|
|
||||||
39
docker-compose.dev-env.yml
Normal file
39
docker-compose.dev-env.yml
Normal file
|
|
@ -0,0 +1,39 @@
|
||||||
|
services:
|
||||||
|
backend:
|
||||||
|
build: ./backend
|
||||||
|
container_name: dev-mitai-api
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "8099:8000"
|
||||||
|
volumes:
|
||||||
|
- bodytrack_bodytrack-data:/app/data
|
||||||
|
- bodytrack_bodytrack-photos:/app/photos
|
||||||
|
environment:
|
||||||
|
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
|
||||||
|
- OPENROUTER_MODEL=${OPENROUTER_MODEL:-anthropic/claude-sonnet-4}
|
||||||
|
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
|
||||||
|
- SMTP_HOST=${SMTP_HOST}
|
||||||
|
- SMTP_PORT=${SMTP_PORT:-587}
|
||||||
|
- SMTP_USER=${SMTP_USER}
|
||||||
|
- SMTP_PASS=${SMTP_PASS}
|
||||||
|
- SMTP_FROM=${SMTP_FROM}
|
||||||
|
- APP_URL=${APP_URL_DEV:-https://dev.mitai.jinkendo.de}
|
||||||
|
- DATA_DIR=/app/data
|
||||||
|
- PHOTOS_DIR=/app/photos
|
||||||
|
- ALLOWED_ORIGINS=${ALLOWED_ORIGINS_DEV:-*}
|
||||||
|
- ENVIRONMENT=development
|
||||||
|
|
||||||
|
frontend:
|
||||||
|
build: ./frontend
|
||||||
|
container_name: dev-mitai-ui
|
||||||
|
restart: unless-stopped
|
||||||
|
ports:
|
||||||
|
- "3099:80"
|
||||||
|
depends_on:
|
||||||
|
- backend
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
bodytrack_bodytrack-data:
|
||||||
|
external: true
|
||||||
|
bodytrack_bodytrack-photos:
|
||||||
|
external: true
|
||||||
Loading…
Reference in New Issue
Block a user