name: Deploy to Server (Docker) on: push: branches: - main jobs: deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Build Docker image run: docker build -t registry.gocommunity.ru:5000/my-app-image . - name: List Docker image run: docker images - name: Login to registry hub. run: docker login -u podman -p PodMan25! registry.gocommunity.ru:5000 - name: Push Docker image to registry run: docker push registry.gocommunity.ru:5000/my-app-image:latest - name: Push Docker image to registry run: echo "Happy New Year!!" - name: Deploy to server (using docker run or docker-compose) uses: appleboy/ssh-action@master with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USERNAME }} key: ${{ secrets.SERVER_PRIVATE_KEY }} script: | docker pull /my-app-image:latest docker stop my-app-container || true # Stop existing container if it exists docker rm my-app-container || true # Remove existing container if it exists docker run -d -p 8080:80 --name my-app-container /my-app-image:latest