diff --git a/.github/workflows/build-and-push.yml b/.github/workflows/build-and-push.yml index 9c464b7..99e603c 100644 --- a/.github/workflows/build-and-push.yml +++ b/.github/workflows/build-and-push.yml @@ -188,8 +188,19 @@ jobs: echo "- \`${{ env.BACKEND_IMAGE_NAME }}:${{ github.ref_name }}\`" >> $GITHUB_STEP_SUMMARY echo "- \`${{ env.FRONTEND_IMAGE_NAME }}:${{ github.ref_name }}\`" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - echo "### Pull Images:" >> $GITHUB_STEP_SUMMARY + echo "### 📋 Manual Deployment Steps (on EC2):" >> $GITHUB_STEP_SUMMARY echo '```bash' >> $GITHUB_STEP_SUMMARY - echo "docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_USERNAME }}/${{ env.BACKEND_IMAGE_NAME }}:${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY - echo "docker pull ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_USERNAME }}/${{ env.FRONTEND_IMAGE_NAME }}:${{ github.ref_name }}" >> $GITHUB_STEP_SUMMARY + echo "# 1. Pull latest images" >> $GITHUB_STEP_SUMMARY + echo "docker compose -f docker-compose.prod.yml pull" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "# 2. Run database migrations (once, before deploying)" >> $GITHUB_STEP_SUMMARY + echo "docker run --rm --network taskerra-network --env-file .env.production \\" >> $GITHUB_STEP_SUMMARY + echo " ${{ env.DOCKER_REGISTRY }}/${{ env.DOCKER_USERNAME }}/${{ env.BACKEND_IMAGE_NAME }}:latest \\" >> $GITHUB_STEP_SUMMARY + echo " sh -c 'pnpm run migration:latest'" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "# 3. Deploy new containers" >> $GITHUB_STEP_SUMMARY + echo "docker compose -f docker-compose.prod.yml up -d" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + echo "# 4. Verify health" >> $GITHUB_STEP_SUMMARY + echo "curl http://localhost/health" >> $GITHUB_STEP_SUMMARY echo '```' >> $GITHUB_STEP_SUMMARY diff --git a/apps/backend/Dockerfile b/apps/backend/Dockerfile index 7cf8c37..9854224 100644 --- a/apps/backend/Dockerfile +++ b/apps/backend/Dockerfile @@ -49,6 +49,8 @@ COPY --from=deps /app/apps/backend/node_modules ./apps/backend/node_modules COPY --from=builder /app/apps/backend/dist ./apps/backend/dist COPY --from=builder /app/apps/backend/package.json ./apps/backend/package.json +COPY --from=builder /app/apps/backend/src/db ./apps/backend/src/db + RUN chown -R taskerra:nodejs /app USER taskerra