1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

traefikで共通のmiddlewaresを使う

Posted at

いちいちdocker-composeで一つ一つ指定するのがめんどうなので、どうにかならないかなーと思ってたんだが、すげーわかんなかった。

traefik middlewares

参考になったサイト
https://github.com/realtarget/traefik2-docker-stack

他のやり方はわからなかったけど、とりあえずprovider:にファイルとして呼び出す方法でなんとかなった!
設定の共有化できる!!!

うちの設定

/etc/traefik/traefik.yml
providers:
  file:
    filename: /etc/traefik/provider_file.yml

このファイルを用意して、中身を書く。

/etc/traefik/provider_file.yml
http:
  middlewares:
    nextcloud-redirectregex:
      redirectRegex:
        regex: "/.well-known/(card|cal)dav"
        replacement: "/remote.php/dav"
        permanent: true

    stsHeader:
      headers:
        stsSeconds: 315360000
        stsIncludeSubdomains: true
        stsPreload: true
        forceSTSHeader: true
        contentTypeNosniff: true
        browserXSSFilter: true

    jpsonic-dsub:
      plugin:
        subfilter:
          filters:
            - regex: subsonic
              replacement: madsonic
          lastModified: true

こんな感じ。
もうgithub見ればいいみたいな感じになるけど……まあいいか。
とりあえずミドルウェアは別ファイルでいいかな。
traefik.ymlに書くにはどうしたらいいかは……わからない。
docker-compose.ymlには

docker-compose.yml
label:
  traefik.http.routers.nextcloud.middlewares: stsHeader@file, nextcloud-redirectregex@file

みたいに書けばよい。ウィ!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?