diff --git a/.github/workflows/deploy-ec2.yml b/.github/workflows/deploy-ec2.yml index 55e4523..029ff40 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 on the EC2 instance where app + compose live - REMOTE_DIR: /junohub + # Directory name (under the EC2 user's home) where app + compose live + REMOTE_DIR: 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 - mkdir -p ${{ env.REMOTE_DIR }} - echo "✅ Remote directory ensured at ${{ env.REMOTE_DIR }}" + # 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 }}" 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 ==="