From 1afa6c08e4fa3027806ccbdbcb30219f5201fab9 Mon Sep 17 00:00:00 2001 From: Frank John Begornia Date: Tue, 23 Dec 2025 02:12:01 +0800 Subject: [PATCH] Refactor deployment workflows and update Traefik configuration --- .gitea/workflows/deploy-dev.yml | 78 ++++++++++++++---------------- .gitea/workflows/deploy.yml | 84 +++++++++++++++------------------ docker-compose.traefik.yml | 2 +- 3 files changed, 76 insertions(+), 88 deletions(-) diff --git a/.gitea/workflows/deploy-dev.yml b/.gitea/workflows/deploy-dev.yml index 4a04b3e..73f174d 100644 --- a/.gitea/workflows/deploy-dev.yml +++ b/.gitea/workflows/deploy-dev.yml @@ -54,7 +54,7 @@ jobs: /workspace/repo/docker-compose.traefik.yml \ ${DEPLOY_USER}@${DEPLOY_HOST}:/tmp/ - # 5๏ธโƒฃ Deploy on server + # Deploy on server - name: Deploy on server shell: sh env: @@ -62,50 +62,44 @@ jobs: DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} run: | ssh -i ~/.ssh/id_ed25519 $DEPLOY_USER@$DEPLOY_HOST << 'EOF' - set -e - - DEPLOY_DIR="/var/www/screenshot-tools-dev" - sudo mkdir -p "$DEPLOY_DIR" - sudo chown $USER:$USER "$DEPLOY_DIR" - - echo "๐Ÿ“ฆ Loading Docker image" - docker load < /tmp/screenshot-tools-dev.tar.gz - docker tag screenshot-tools:dev screenshot-tools:latest - - echo "๐Ÿ“‹ Moving files to deployment directory" - mv /tmp/docker-compose.traefik.yml "$DEPLOY_DIR/" - cd "$DEPLOY_DIR" - - echo "๐Ÿ”ง Creating .env file if not exists" - if [ ! -f .env ]; then - cat > .env << 'ENVFILE' -PORT=5955 -HOST=0.0.0.0 -USE_SSL=false -OUTPUT_DIR=/var/www/html/images/ -BASE_URL=https://dev.ss-tool.crewsportswear.app/ -VIEWPORT_WIDTH=1366 -VIEWPORT_HEIGHT=1100 -WAIT_TIME=10000 -ENVFILE - fi - - echo "๐Ÿณ Stopping existing containers" - docker compose -f docker-compose.traefik.yml down || true - - echo "๐Ÿš€ Starting new containers" - docker compose -f docker-compose.traefik.yml up -d - - echo "๐Ÿงน Cleanup" - rm -f /tmp/screenshot-tools-dev.tar.gz - - echo "โœ… Development deployment completed successfully!" - docker compose -f docker-compose.traefik.yml ps + set -e + DEPLOY_DIR="/var/www/screenshot-tools-dev" + sudo mkdir -p "$DEPLOY_DIR" + sudo chown $USER:$USER "$DEPLOY_DIR" + echo "Stopping existing containers" + docker compose -f "$DEPLOY_DIR/docker-compose.traefik.yml" down || true + echo "Removing old Docker images" + docker rmi screenshot-tools:dev screenshot-tools:latest || true + docker image prune -f + echo "Loading Docker image" + docker load < /tmp/screenshot-tools-dev.tar.gz + docker tag screenshot-tools:dev screenshot-tools:latest + echo "Moving files to deployment directory" + mv /tmp/docker-compose.traefik.yml "$DEPLOY_DIR/" + cd "$DEPLOY_DIR" + echo "Creating .env file if not exists" + if [ ! -f .env ]; then + cat > .env << 'ENVFILE' + PORT=5955 + HOST=0.0.0.0 + USE_SSL=false + OUTPUT_DIR=/var/www/html/images/ + BASE_URL=https://dev.ss-tool.crewsportswear.app/ + VIEWPORT_WIDTH=1366 + VIEWPORT_HEIGHT=1100 + WAIT_TIME=10000 + ENVFILE + fi + echo "Starting new containers" + docker compose -f docker-compose.traefik.yml up -d + echo "Cleanup" + rm -f /tmp/screenshot-tools-dev.tar.gz + echo "Development deployment completed successfully!" + docker compose -f docker-compose.traefik.yml ps EOF - # 6๏ธโƒฃ Cleanup local artifacts - name: Cleanup shell: sh run: | rm -f /workspace/repo/screenshot-tools-dev.tar.gz - echo "โœ… Cleanup completed" + echo "Cleanup completed" diff --git a/.gitea/workflows/deploy.yml b/.gitea/workflows/deploy.yml index 039b2ef..dbe2731 100644 --- a/.gitea/workflows/deploy.yml +++ b/.gitea/workflows/deploy.yml @@ -14,7 +14,7 @@ jobs: image: catthehacker/ubuntu:act-latest steps: - # 1๏ธโƒฃ Checkout code + # Checkout code - name: Checkout code shell: sh run: | @@ -22,7 +22,7 @@ jobs: cd /workspace/repo git checkout $GITHUB_REF_NAME - # 2๏ธโƒฃ Build image + # Build image - name: Build Docker image shell: sh run: | @@ -30,7 +30,7 @@ jobs: docker build -t screenshot-tools:latest . docker save screenshot-tools:latest | gzip > screenshot-tools.tar.gz - # 3๏ธโƒฃ Setup SSH + # Setup SSH - name: Setup SSH shell: sh env: @@ -43,7 +43,7 @@ jobs: chmod 600 ~/.ssh/id_ed25519 ssh-keyscan -H "$DEPLOY_HOST" >> ~/.ssh/known_hosts - # 4๏ธโƒฃ Upload artifacts + # Upload artifacts - name: Upload image and compose shell: sh env: @@ -55,7 +55,7 @@ jobs: /workspace/repo/docker-compose.traefik.yml \ ${DEPLOY_USER}@${DEPLOY_HOST}:/tmp/ - # 5๏ธโƒฃ Deploy on server + # Deploy on server - name: Deploy on server shell: sh env: @@ -63,49 +63,43 @@ jobs: DEPLOY_HOST: ${{ secrets.DEPLOY_HOST }} run: | ssh -i ~/.ssh/id_ed25519 $DEPLOY_USER@$DEPLOY_HOST << 'EOF' - set -e - - DEPLOY_DIR="/var/www/screenshot-tools" - sudo mkdir -p "$DEPLOY_DIR" - sudo chown $USER:$USER "$DEPLOY_DIR" - - echo "๐Ÿ“ฆ Loading Docker image" - docker load < /tmp/screenshot-tools.tar.gz - - echo "๐Ÿ“‹ Moving files to deployment directory" - mv /tmp/docker-compose.traefik.yml "$DEPLOY_DIR/" - cd "$DEPLOY_DIR" - - echo "๐Ÿ”ง Creating .env file if not exists" - if [ ! -f .env ]; then - cat > .env << 'ENVFILE' - PORT=5955 - HOST=0.0.0.0 - USE_SSL=false - OUTPUT_DIR=/var/www/html/images/ - BASE_URL=https://ss-tool.crewsportswear.app/ - VIEWPORT_WIDTH=1366 - VIEWPORT_HEIGHT=1100 - WAIT_TIME=10000 - ENVFILE - fi - - echo "๐Ÿณ Stopping existing containers" - docker compose -f docker-compose.traefik.yml down || true - - echo "๐Ÿš€ Starting new containers" - docker compose -f docker-compose.traefik.yml up -d - - echo "๐Ÿงน Cleanup" - rm -f /tmp/screenshot-tools.tar.gz - - echo "โœ… Deployment completed successfully!" - docker compose -f docker-compose.traefik.yml ps + set -e + DEPLOY_DIR="/var/www/screenshot-tools" + sudo mkdir -p "$DEPLOY_DIR" + sudo chown $USER:$USER "$DEPLOY_DIR" + echo "Stopping existing containers" + docker compose -f "$DEPLOY_DIR/docker-compose.traefik.yml" down || true + echo "Removing old Docker images" + docker rmi screenshot-tools:latest || true + docker image prune -f + echo "Loading Docker image" + docker load < /tmp/screenshot-tools.tar.gz + echo "Moving files to deployment directory" + mv /tmp/docker-compose.traefik.yml "$DEPLOY_DIR/" + cd "$DEPLOY_DIR" + echo "Creating .env file if not exists" + if [ ! -f .env ]; then + cat > .env << 'ENVFILE' + PORT=5955 + HOST=0.0.0.0 + USE_SSL=false + OUTPUT_DIR=/var/www/html/images/ + BASE_URL=https://ss-tool.crewsportswear.app/ + VIEWPORT_WIDTH=1366 + VIEWPORT_HEIGHT=1100 + WAIT_TIME=10000 + ENVFILE + fi + echo "Starting new containers" + docker compose -f docker-compose.traefik.yml up -d + echo "Cleanup" + rm -f /tmp/screenshot-tools.tar.gz + echo "Deployment completed successfully!" + docker compose -f docker-compose.traefik.yml ps EOF - # 6๏ธโƒฃ Cleanup local artifacts - name: Cleanup shell: sh run: | rm -f /workspace/repo/screenshot-tools.tar.gz - echo "โœ… Cleanup completed" + echo "Cleanup completed" diff --git a/docker-compose.traefik.yml b/docker-compose.traefik.yml index 6d2924c..a28718f 100644 --- a/docker-compose.traefik.yml +++ b/docker-compose.traefik.yml @@ -28,7 +28,7 @@ services: - "traefik.http.routers.screenshot-service.rule=Host(`ss-tool.crewsportswear.app`)" - "traefik.http.routers.screenshot-service.entrypoints=websecure" - "traefik.http.routers.screenshot-service.tls=true" - - "traefik.http.routers.screenshot-service.tls.certresolver=letsencrypt" + - "traefik.http.routers.screenshot-service.tls.certresolver=le" # Service - "traefik.http.services.screenshot-service.loadbalancer.server.port=5955"