Coolify за обратным прокси traefik

Всем добра.

Захотелось посмотреть на Coolify. Но ставить его на рабочий сервер, как то не комильфо, поэтому развернул его на тестовом, который находится глубоко в недрах домашней сети за traefik. Ни в какую не хотел подниматься по внутреннему доменному имени. Не работали вебсокеты и поддоменные имена.

Пришлось городить вот такой конфиг.

  routers:
    coolify-http:
      middlewares:
        - security-headers
        - https-redirect
        - acl-local
      entryPoints:
        - https
      service: coolify
      rule: 'Host(`subdomain.domain.ru`) || HostRegexp(`^.+\.subdomain\.domain\.ru$`)'

    coolify-realtime-ws:
      entryPoints:
        - http
      service: coolify-realtime
      rule: 'Host(`subdomain.domain.ru`) && PathPrefix(`/app`)'
    coolify-terminal-ws:
      entryPoints:
        - http
      service: coolify-terminal
      rule: 'Host(`subdomain.domain.ru`) && PathPrefix(`/terminal/ws`)'

    coolify-https:
      entryPoints:
        - https
      service: coolify
      rule: Host(`subdomain.domain.ru`)
      tls:
        certresolver: technitium
        domains:
          - main: "subdomain.domain.ru"
            sans:
              - "*.subdomain.domain.ru"

    coolify-realtime-wss:
      entryPoints:
        - https
      service: coolify-realtime
      rule: 'Host(`subdomain.domain.ru`) && PathPrefix(`/app`)'
      tls:
        certresolver: technitium
        domains:
          - main: "subdomain.domain.ru"
            sans:
              - "*.subdomain.domain.ru"

    coolify-terminal-wss:
      entryPoints:
        - https
      service: coolify-terminal
      rule: 'Host(`subdomain.domain.ru`) && PathPrefix(`/terminal/ws`)'
      tls:
        certresolver: technitium
        domains:
          - main: "subdomain.domain.ru"
            sans:
              - "*.subdomain.domain.ru"


  services:
    coolify:
      loadBalancer:
        servers:
          - url: "https://192.168.1.225"
        passHostHeader: true
    coolify-realtime:
      loadBalancer:
        servers:
          - url: 'http://192.168.1.225:6001'
    coolify-terminal:
      loadBalancer:
        servers:
          - url: 'http://192.168.1.225:6002'


Уважаемые Traefikоведы, подскажите пожалуйста, это все можно как то упростить\улучшить? Заранее спасибо.

мне тоже интересно, есть вопросик как его настроить и интегрировать

Ну в целом, выглядит как нормальное решение, особо не сократить.
Единственное, что в

  routers:
    coolify-http:
      middlewares:
        - security-headers
        - https-redirect
        - acl-local
      entryPoints:
        - https
      service: coolify
      rule: 'Host(`subdomain.domain.ru`) || HostRegexp(`^.+\.subdomain\.domain\.ru$`)'

По идее подразумевалось entryPoints: [http]
coolify-http и coolify-https сейчас вроде и дублирующие, но отличаются
Но я бы сделал простой редирект с http на htttps и оставил бы правила

Спасибо за ответ.

Это наверное потому что я пока еще не до конца вкурил логику обработки и прохождения входящих запросов через traefik. Пальцем в небо тыкаю. )

http:
  middlewares:
    redirect-to-https:
      redirectscheme:
        scheme: https

  routers:
    coolify-http:
      middlewares:
        - security-headers
        - redirect-to-https
        - acl-local
      entryPoints:
        - http
      service: coolify
      rule: 'Host(`subdomain.domain.ru`) || HostRegexp(`^.+\.subdomain\.domain\.ru$`)'

    coolify-https:
      entryPoints:
        - https
      service: coolify
      rule: Host(`subdomain.domain.ru`)
      tls:
        certresolver: technitium
        domains:
          - main: "subdomain.domain.ru"
            sans:
              - "*.subdomain.domain.ru"

    coolify-realtime-ws:
      entryPoints:
        - http
      service: coolify-realtime
      rule: 'Host(`subdomain.domain.ru`) && PathPrefix(`/app`)'
    coolify-terminal-ws:
      entryPoints:
        - http
      service: coolify-terminal
      rule: 'Host(`subdomain.domain.ru`) && PathPrefix(`/terminal/ws`)'

    coolify-realtime-wss:
      entryPoints:
        - https
      service: coolify-realtime
      rule: 'Host(`subdomain.domain.ru`) && PathPrefix(`/app`)'
      tls:
        certresolver: technitium
        domains:
          - main: "subdomain.domain.ru"
            sans:
              - "*.subdomain.domain.ru"

    coolify-terminal-wss:
      entryPoints:
        - https
      service: coolify-terminal
      rule: 'Host(`subdomain.domain.ru`) && PathPrefix(`/terminal/ws`)'
      tls:
        certresolver: technitium
        domains:
          - main: "subdomain.domain.ru"
            sans:
              - "*.subdomain.domain.ru"

Так?

coolify-realtime-ws coolify-terminal-ws удалить, они будут редиректиться основнм правилом на http

т.е. должно остаться

  1. редирект с http на https
  2. основной coolify
  3. веб сокеты coolify
  4. терминал coolify