master #23

Merged
ryan merged 6 commits from master into next 2026-02-20 10:01:06 -05:00
3 changed files with 36 additions and 35 deletions

View File

@@ -56,24 +56,24 @@ jobs:
- name: Build Backend Docker Image - name: Build Backend Docker Image
run: | run: |
docker build -t git.ryankegel.com:3000/ryan/backend:${{ steps.vars.outputs.tag }} ./backend docker build -t git.ryankegel.com:3000/kegel/chores/backend:${{ steps.vars.outputs.tag }} ./backend
- name: Build Frontend Docker Image - name: Build Frontend Docker Image
run: | run: |
docker build -t git.ryankegel.com:3000/ryan/frontend:${{ steps.vars.outputs.tag }} ./frontend/vue-app docker build -t git.ryankegel.com:3000/kegel/chores/frontend:${{ steps.vars.outputs.tag }} ./frontend/vue-app
- name: Log in to Registry - name: Log in to Registry
uses: docker/login-action@v2 uses: docker/login-action@v2
with: with:
registry: git.ryankegel.com:3000 registry: git.ryankegel.com:3000
username: ryan #${{ secrets.REGISTRY_USERNAME }} # Stored as a Gitea secret username: ${{ secrets.REGISTRY_USER }}
password: 0x013h #${{ secrets.REGISTRY_TOKEN }} # Stored as a Gitea secret (use a PAT here) password: ${{ secrets.REGISTRY_PASSWORD }}
- name: Push Backend Image to Gitea Registry - name: Push Backend Image to Gitea Registry
run: | run: |
for i in {1..3}; do for i in {1..3}; do
echo "Attempt $i to push backend image..." echo "Attempt $i to push backend image..."
if docker push git.ryankegel.com:3000/ryan/backend:${{ steps.vars.outputs.tag }}; then if docker push git.ryankegel.com:3000/kegel/chores/backend:${{ steps.vars.outputs.tag }}; then
echo "Backend push succeeded on attempt $i" echo "Backend push succeeded on attempt $i"
break break
else else
@@ -86,18 +86,18 @@ jobs:
fi fi
done done
if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then
docker tag git.ryankegel.com:3000/ryan/backend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/ryan/backend:latest docker tag git.ryankegel.com:3000/kegel/chores/backend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/kegel/chores/backend:latest
docker push git.ryankegel.com:3000/ryan/backend:latest docker push git.ryankegel.com:3000/kegel/chores/backend:latest
elif [ "${{ gitea.ref }}" == "refs/heads/next" ]; then elif [ "${{ gitea.ref }}" == "refs/heads/next" ]; then
docker tag git.ryankegel.com:3000/ryan/backend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/ryan/backend:next docker tag git.ryankegel.com:3000/kegel/chores/backend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/kegel/chores/backend:next
docker push git.ryankegel.com:3000/ryan/backend:next docker push git.ryankegel.com:3000/kegel/chores/backend:next
fi fi
- name: Push Frontend Image to Gitea Registry - name: Push Frontend Image to Gitea Registry
run: | run: |
for i in {1..3}; do for i in {1..3}; do
echo "Attempt $i to push frontend image..." echo "Attempt $i to push frontend image..."
if docker push git.ryankegel.com:3000/ryan/frontend:${{ steps.vars.outputs.tag }}; then if docker push git.ryankegel.com:3000/kegel/chores/frontend:${{ steps.vars.outputs.tag }}; then
echo "Frontend push succeeded on attempt $i" echo "Frontend push succeeded on attempt $i"
break break
else else
@@ -110,14 +110,15 @@ jobs:
fi fi
done done
if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then if [ "${{ gitea.ref }}" == "refs/heads/master" ]; then
docker tag git.ryankegel.com:3000/ryan/frontend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/ryan/frontend:latest docker tag git.ryankegel.com:3000/kegel/chores/frontend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/kegel/chores/frontend:latest
docker push git.ryankegel.com:3000/ryan/frontend:latest docker push git.ryankegel.com:3000/kegel/chores/frontend:latest
elif [ "${{ gitea.ref }}" == "refs/heads/next" ]; then elif [ "${{ gitea.ref }}" == "refs/heads/next" ]; then
docker tag git.ryankegel.com:3000/ryan/frontend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/ryan/frontend:next docker tag git.ryankegel.com:3000/kegel/chores/frontend:${{ steps.vars.outputs.tag }} git.ryankegel.com:3000/kegel/chores/frontend:next
docker push git.ryankegel.com:3000/ryan/frontend:next docker push git.ryankegel.com:3000/kegel/chores/frontend:next
fi fi
- name: Deploy Test Environment - name: Deploy Test Environment
if: gitea.ref == 'refs/heads/next'
uses: appleboy/ssh-action@v1.0.3 # Or equivalent Gitea action; adjust version if needed uses: appleboy/ssh-action@v1.0.3 # Or equivalent Gitea action; adjust version if needed
with: with:
host: ${{ secrets.DEPLOY_TEST_HOST }} host: ${{ secrets.DEPLOY_TEST_HOST }}

View File

@@ -2,8 +2,8 @@
version: "3.8" version: "3.8"
services: services:
chore-test-app-backend: # Test backend service name chores-test-app-backend: # Test backend service name
image: git.ryankegel.com:3000/ryan/backend:next # Use latest next tag image: git.ryankegel.com:3000/kegel/chores/backend:next # Use latest next tag
ports: ports:
- "5004:5000" # Host 5004 -> Container 5000 - "5004:5000" # Host 5004 -> Container 5000
environment: environment:
@@ -11,19 +11,19 @@ services:
- FRONTEND_URL=https://devserver.lan:446 # Add this for test env - FRONTEND_URL=https://devserver.lan:446 # Add this for test env
# Add volumes, networks, etc., as needed # Add volumes, networks, etc., as needed
chore-test-app-frontend: # Test frontend service name chores-test-app-frontend: # Test frontend service name
image: git.ryankegel.com:3000/ryan/frontend:next # Use latest next tag image: git.ryankegel.com:3000/kegel/chores/frontend:next # Use latest next tag
ports: ports:
- "446:443" # Host 446 -> Container 443 (HTTPS) - "446:443" # Host 446 -> Container 443 (HTTPS)
environment: environment:
- BACKEND_HOST=chore-test-app-backend # Points to internal backend service - BACKEND_HOST=chores-test-app-backend # Points to internal backend service
depends_on: depends_on:
- chore-test-app-backend - chores-test-app-backend
# Add volumes, networks, etc., as needed # Add volumes, networks, etc., as needed
networks: networks:
chore-test-app-net: chores-test-app-net:
driver: bridge driver: bridge
volumes: volumes:
chore-test-app-backend-data: {} chores-test-app-backend-data: {}

View File

@@ -2,35 +2,35 @@
version: "3.8" version: "3.8"
services: services:
chore-app-backend: # Production backend service name chores-app-backend: # Production backend service name
image: git.ryankegel.com:3000/ryan/backend:latest # Or specific version tag image: git.ryankegel.com:3000/kegel/chores/backend:latest # Or specific version tag
container_name: chore-app-backend-prod # Added for easy identification container_name: chores-app-backend-prod # Added for easy identification
ports: ports:
- "5001:5000" # Host 5001 -> Container 5000 - "5001:5000" # Host 5001 -> Container 5000
environment: environment:
- FLASK_ENV=production - FLASK_ENV=production
volumes: volumes:
- chore-app-backend-data:/app/data # Assuming backend data storage; adjust path as needed - chores-app-backend-data:/app/data # Assuming backend data storage; adjust path as needed
networks: networks:
- chore-app-net - chores-app-net
# Add other volumes, networks, etc., as needed # Add other volumes, networks, etc., as needed
chore-app-frontend: # Production frontend service name chores-app-frontend: # Production frontend service name
image: git.ryankegel.com:3000/ryan/frontend:latest # Or specific version tag image: git.ryankegel.com:3000/kegel/chores/frontend:latest # Or specific version tag
container_name: chore-app-frontend-prod # Added for easy identification container_name: chores-app-frontend-prod # Added for easy identification
ports: ports:
- "443:443" # Host 443 -> Container 443 (HTTPS) - "443:443" # Host 443 -> Container 443 (HTTPS)
environment: environment:
- BACKEND_HOST=chore-app-backend # Points to internal backend service - BACKEND_HOST=chores-app-backend # Points to internal backend service
depends_on: depends_on:
- chore-app-backend - chores-app-backend
networks: networks:
- chore-app-net - chores-app-net
# Add volumes, networks, etc., as needed # Add volumes, networks, etc., as needed
networks: networks:
chore-app-net: chores-app-net:
driver: bridge driver: bridge
volumes: volumes:
chore-app-backend-data: {} chores-app-backend-data: {}