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/task_manager . - 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/task_manager: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 registry.gocommunity.ru:5000/task_manager:latest docker stop task_manager_container || true # Stop existing container if it exists docker rm task_manager_container || true # Remove existing container if it exists docker run -d -p 8080:80 --name task_manager_container registry.gocommunity.ru:5000/task_manager:latest