name: Docker Deploy on: push: branches: - master jobs: build_and_deploy: runs-on: ubuntu-latest steps: - name: Checkout code uses: actions/checkout@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_TOKEN }} - name: Build and push Docker images run: | docker-compose build docker-compose push - name: Deploy to server uses: appleboy/ssh-action@v1.2.1 with: host: ${{ secrets.SERVER_HOST }} username: ${{ secrets.SERVER_USER }} password: ${{ secrets.SERVER_PASSWORD }} script: | docker-compose -f /path/to/your/docker-compose.yml down docker-compose -f /path/to/your/docker-compose.yml pull docker-compose -f /path/to/your/docker-compose.yml up -d env: FILE_GOPHERNEST_USER: ${{ secrets.FILE_GOPHERNEST_USER }} FILE_GOPHERNEST_PASSWORD: ${{ secrets.FILE_GOPHERNEST_PASSWORD }} FILE_GOPHERNEST_JWT_SECRET: ${{ secrets.FILE_GOPHERNEST_JWT_SECRET }} DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }} DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}