diff --git a/.github/workflows/deploy-ec2.yml b/.github/workflows/deploy-ec2.yml index 029ff40..f9b7127 100644 --- a/.github/workflows/deploy-ec2.yml +++ b/.github/workflows/deploy-ec2.yml @@ -3,8 +3,8 @@ name: build-deploy-junohub-ec2 env: IMAGE_NAME: junohub-app CONTAINER_NAME: junohub-app - # Directory name (under the EC2 user's home) where app + compose live - REMOTE_DIR: junohub + # Absolute directory on the EC2 instance where app + compose live + REMOTE_DIR: /home/ubuntu/JUNOHUB on: workflow_dispatch: @@ -69,27 +69,27 @@ jobs: - name: Setup directories on server run: | ssh -i ssh_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'ENDSSH' - # Create directory for docker-compose file, .env and image tar under the EC2 user's home - mkdir -p ~/{{ env.REMOTE_DIR }} - echo "✅ Remote directory ensured at ~/{{ env.REMOTE_DIR }}" + # Create directory for docker-compose file, .env and image tar + mkdir -p ${{ env.REMOTE_DIR }} + echo "✅ Remote directory ensured at ${{ env.REMOTE_DIR }}" ENDSSH - name: Copy deployment files to server run: | # Copy docker-compose (app + Postgres), and .env - scp -i ssh_key.pem -o StrictHostKeyChecking=no docker-compose.yml ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:~/{{ env.REMOTE_DIR }}/docker-compose.yml - scp -i ssh_key.pem -o StrictHostKeyChecking=no .env ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:~/{{ env.REMOTE_DIR }}/.env + scp -i ssh_key.pem -o StrictHostKeyChecking=no docker-compose.yml ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ env.REMOTE_DIR }}/docker-compose.yml + scp -i ssh_key.pem -o StrictHostKeyChecking=no .env ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ env.REMOTE_DIR }}/.env # Copy application image tar echo "Copying Docker image to server..." - scp -i ssh_key.pem -o StrictHostKeyChecking=no docker/junohub-app_latest.tar ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:~/{{ env.REMOTE_DIR }}/junohub-app_latest.tar + scp -i ssh_key.pem -o StrictHostKeyChecking=no docker/junohub-app_latest.tar ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }}:${{ env.REMOTE_DIR }}/junohub-app_latest.tar echo "✅ Successfully copied Docker image to server" - name: Deploy with rolling update run: | ssh -i ssh_key.pem -o StrictHostKeyChecking=no ${{ secrets.EC2_USER }}@${{ secrets.EC2_HOST }} << 'ENDSSH' set -e - cd ~/{{ env.REMOTE_DIR }} + cd ${{ env.REMOTE_DIR }} # Basic disk space check (do not touch volumes) echo "=== DISK SPACE CHECK ==="