name: Deploy on: push: branches: - master paths: - 'server/**' jobs: deploy: runs-on: ubuntu-latest steps: - name: Keyscan run: | ssh-keyscan git.koptilnya.xyz >> ~/.ssh/known_hosts - name: Checkout uses: actions/checkout@v4 with: ssh-key: ${{ secrets.SSH_PRIVATE_KEY }} ssh-strict: false persist-credentials: false - name: Build run: docker build -t chad-server ./server - name: Stop old container run: docker rm -f chad-server || true - name: Run run: | docker run -d \ --name chad-server \ --network traefik \ --label "traefik.enable=true" \ --label "traefik.http.routers.chad-server.rule=Host(\`api.koptilnya.xyz\`) && PathPrefix(\`/chad\`)" \ --label "traefik.http.routers.chad-server.entrypoints=websecure" \ --label "traefik.http.routers.chad-server.tls=true" \ --label "traefik.http.routers.chad-server.tls.certresolver=myresolver" \ --label "traefik.http.services.chad-server.loadbalancer.server.port=80" \ chad-server:latest