name: Deploy Backend on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Create .env file run: | echo "DATABASE_URL=file:/app/data/dev.db" > .env echo "STORAGE_PATH=/app/data/storage" >> .env echo "JWT_SECRET=${{ secrets.JWT_SECRET }}" >> .env echo "GEMINI_API_KEY=${{ secrets.GEMINI_API_KEY }}" >> .env echo "ETSY_KEY_STRING=${{ secrets.ETSY_KEY_STRING }}" >> .env echo "ETSY_SHARED_SECRET=${{ secrets.ETSY_SHARED_SECRET }}" >> .env echo "BETA_MODE=true" >> .env - name: Build and Deploy Docker run: | docker build -t backend-digicraft . docker stop backend-digicraft-container || true docker rm backend-digicraft-container || true docker run -d \ --name backend-digicraft-container \ -p 1805:3001 \ --restart always \ --network gitea-server_gitea \ -v $(pwd)/data:/app/data \ --env-file .env \ backend-digicraft # Wait a few seconds for DB volume to be ready and force sync schema sleep 5 docker exec backend-digicraft-container npx prisma db push --accept-data-loss