name: Deploy Interior Site

on:
  push:
    branches: [master, main]
    paths:
      - 'Ремонт квартира/**'

jobs:
  deploy:
    runs-on: self-hosted
    steps:
      - name: Checkout
        run: |
          git clone --depth=1 https://daniil:${{ secrets.REPO_TOKEN }}@git.digital-home.site/daniil/obsidian.git /tmp/obsidian-deploy-${{ github.run_id }} || \
          (cd /tmp/obsidian-deploy-${{ github.run_id }} && git pull)

      - name: Update interior site
        run: |
          VAULT=/tmp/obsidian-deploy-${{ github.run_id }}

          # Синхронизировать контент из vault (в корень content/, без notes/)
          find /opt/digital-home/interior/content/ -maxdepth 1 -name '*.md' ! -name 'index.md' -delete
          rm -rf /opt/digital-home/interior/content/images
          cp -r "$VAULT/Ремонт квартира/"*.md /opt/digital-home/interior/content/
          cp -r "$VAULT/Ремонт квартира/images" /opt/digital-home/interior/content/images 2>/dev/null || true

          # Убедиться что index.md есть
          if [ ! -f /opt/digital-home/interior/content/index.md ]; then
            printf '---\ntitle: Ремонт квартиры\n---\n\n# Ремонт квартиры\n\n- [[Интерьер]]\n- [[Интерьер кухня]]\n- [[Интерьер спальни]]\n- [[План квартиры]]\n' \
              > /opt/digital-home/interior/content/index.md
          fi

          # Пересобрать и перезапустить
          cd /opt/digital-home/interior
          docker build -t interior:latest .
          docker rm -f interior || true
          docker run -d \
            --name interior \
            --network coolify \
            -p 3007:80 \
            --restart unless-stopped \
            --label traefik.enable=true \
            --label 'traefik.http.routers.interior.rule=Host(`interior.digital-home.site`)' \
            --label traefik.http.routers.interior.entrypoints=https \
            --label traefik.http.routers.interior.tls=true \
            --label traefik.http.routers.interior.tls.certresolver=letsencrypt \
            --label traefik.http.services.interior.loadbalancer.server.port=80 \
            interior:latest
          echo 'Deploy done'

      - name: Cleanup
        if: always()
        run: rm -rf /tmp/obsidian-deploy-${{ github.run_id }}
