name: Deploy

on:
  push:
    branches:
      - master

jobs:
  build:
    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 rental:latest .

      - name: Stop old container
        run: docker rm -f rental || true

      - name: Run
        run: |
          docker run -d \
            --name rental \
            --network traefik \
            --label "traefik.enable=true" \
            --label "traefik.http.routers.rental.rule=Host(\`rental.koptilnya.xyz\`)" \
            --label "traefik.http.routers.rental.entrypoints=websecure" \
            --label "traefik.http.routers.rental.tls.certresolver=myresolver" \
            --label "traefik.http.services.rental.loadbalancer.server.port=80" \
            rental:latest
