<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Homelab on tnoha's memo</title><link>https://blog.tnoha.com/tags/homelab/</link><description>Recent content in Homelab on tnoha's memo</description><generator>Hugo -- 0.147.9</generator><language>ja</language><lastBuildDate>Mon, 09 Feb 2026 19:15:31 +0900</lastBuildDate><atom:link href="https://blog.tnoha.com/tags/homelab/index.xml" rel="self" type="application/rss+xml"/><item><title>homelab構築メモ - TraefikでImmichをルーティング</title><link>https://blog.tnoha.com/posts/20260209_homelab_traefik/</link><pubDate>Mon, 09 Feb 2026 19:15:31 +0900</pubDate><guid>https://blog.tnoha.com/posts/20260209_homelab_traefik/</guid><description>&lt;h1 id="traefikでimmichをルーティング">TraefikでImmichをルーティング&lt;/h1>
&lt;p>LXCコンテナを作成し、traefikをインストール、DNS-01チャレンジでSSL/TLS証明書を取得して、HTTPSでImmichまでアクセスできるところまでの手順を載せる。&lt;/p>
&lt;h1 id="構成">構成&lt;/h1>
&lt;p>Proxmoxサーバがあり、その上にImmich用のVMとTraefik用のLXCコンテナを立てる。&lt;br>
サーバにはIntel NICが搭載されていて、SR-IOVでVMやLXCコンテナにVFを割り当てられるようになっている。&lt;/p>
&lt;h1 id="lxcコンテナ作成">LXCコンテナ作成&lt;/h1>
&lt;p>リバースプロキシということで、トラフィック振り分けの能力を高めるために、NICを1つ追加し、SR-IOV VFを割り当てる&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>vi /etc/pve/lxc/1064.conf
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>以下の設定を追加&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-plaintext" data-lang="plaintext">&lt;span style="display:flex;">&lt;span>lxc.apparmor.profile: unconfined
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>lxc.net.1.type: phys
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>lxc.net.1.link: enp2s0f1v1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>lxc.net.1.flags: up
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>lxc.net.1.ipv4.address: 192.0.2.2/24
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>lxc.net.1.ipv4.gateway: 192.0.2.1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>PVEのGUIでコンテナをスタートさせ、エラーが起きなかったらOK&lt;/p>
&lt;h1 id="traefikインストール">traefikインストール&lt;/h1>
&lt;p>バイナリを&lt;code>/usr/bin/traefik&lt;/code>に配置し、systemdでサービス化する方法を取る&lt;/p>
&lt;h2 id="バイナリダウンロード">バイナリダウンロード&lt;/h2>
&lt;p>以下からダウンロードできる&lt;br>
&lt;a href="https://github.com/traefik/traefik/releases/latest">https://github.com/traefik/traefik/releases/latest&lt;/a>&lt;/p>
&lt;p>今回はDebian, x64なので&lt;code>traefik_v3.6.5_linux_amd64.tar.gz&lt;/code>を選択&lt;br>
PCでダウンロードしてコンテナにSCPで送る&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>scp ./traefik_v3.6.5_linux_amd64.tar.gz root@192.0.2.2:/root
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>コンテナで解凍、&lt;code>/usr/bin/traefik&lt;/code>に配置&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>tar -zxvf ./traefik_v3.6.5_linux_amd64.tar.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>mv ./traefik /usr/bin/
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="traefik設定ファイル作成">Traefik設定ファイル作成&lt;/h2>
&lt;p>以下からサンプルが見られる&lt;br>
&lt;a href="https://github.com/traefik/traefik/blob/master/traefik.sample.yml">https://github.com/traefik/traefik/blob/master/traefik.sample.yml&lt;/a>&lt;/p>
&lt;p>サンプルを参考に設定ファイルをつくる&lt;/p>
&lt;h3 id="install-configuration">Install Configuration&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>mkdir /etc/traefik
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>vi /etc/traefik/traefik.yml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>内容を以下のようにする&lt;br>
とりあえず、HTTP:80で待ち受ける&amp;amp;ルーティングできるようにする&lt;br>
プロバイダはファイルを利用する&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">global&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">checkNewVersion&lt;/span>: &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">sendAnonymousUsage&lt;/span>: &lt;span style="color:#66d9ef">false&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">entryPoints&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">web&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">address&lt;/span>: :&lt;span style="color:#ae81ff">80&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">websecure&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">address&lt;/span>: :&lt;span style="color:#ae81ff">443&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">log&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">filePath&lt;/span>: &lt;span style="color:#ae81ff">/var/log/traefik/traefik.log&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">level&lt;/span>: &lt;span style="color:#ae81ff">INFO&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">api&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">dashboard&lt;/span>: &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">insecure&lt;/span>: &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f92672">providers&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">file&lt;/span>:
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">directory&lt;/span>: &lt;span style="color:#ae81ff">/etc/traefik/conf.d/&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#f92672">watch&lt;/span>: &lt;span style="color:#66d9ef">true&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="routing-configuration">Routing Configuration&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-shell" data-lang="shell">&lt;span style="display:flex;">&lt;span>mkdir /etc/traefik/conf.d
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>vi /etc/traefik/conf.d/routing.yml
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>内容を以下のようにする&lt;br>
写真管理アプリであるImmichをルーティングしてみる&lt;/p></description></item></channel></rss>