Skip to content

Deploy nginx as reverse proxy image to docker hub and start service by BHyeonKim #61

Deploy nginx as reverse proxy image to docker hub and start service by BHyeonKim

Deploy nginx as reverse proxy image to docker hub and start service by BHyeonKim #61

Workflow file for this run

name: Deploy nginx
run-name: Deploy nginx as reverse proxy image to docker hub and start service by ${{github.actor}}
on:
push:
branches:
- main
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Build image
run: |
docker build -t ${{secrets.DOCKER_USERNAME}}/reverseproxy:latest .
- name: Login to Docker Hub
uses: docker/[email protected]
with:
username: ${{secrets.DOCKER_USERNAME}}
password: ${{secrets.DOCKER_TOKEN}}
- name: Push image to Docker hub
run: |
docker push ${{secrets.DOCKER_USERNAME}}/reverseproxy:latest
- name: Connect to cloud server and start service
uses: appleboy/[email protected]
with:
host: ${{secrets.LOAD_BALANCER_HOST}}
username: ${{secrets.LOAD_BALANCER_USERNAME}}
key: ${{secrets.LOAD_BALANCER_SECRET_KEY}}
port: ${{secrets.LOAD_BALANCER_PORT}}
script: |
cd ~
docker stop reverseproxy || true
docker rm reverseproxy || true
docker rmi ${{secrets.DOCKER_USERNAME}}/reverseproxy:latest || true
docker pull ${{secrets.DOCKER_USERNAME}}/reverseproxy:latest
docker run -d \
--name reverseproxy \
--restart always \
-p 80:80 \
-p 443:443 \
-p 443:443/udp \
-v /etc/letsencrypt/live/investfuture.my/fullchain.pem:/etc/nginx/certs/fullchain.pem \
-v /etc/letsencrypt/live/investfuture.my/privkey.pem:/etc/nginx/certs/privkey.pem \
${{secrets.DOCKER_USERNAME}}/reverseproxy:latest