2023年 新しいサーバー構築記録

📢 この記事は ChatGPT によって翻訳されました

はじめに

ブログを GitHub に移した後は「もう新しいサーバー買わなくていいかな〜」と思ってたけど、
ここ数ヶ月静かすぎて何かいじりたい気分になってきて、
あと「使わないけど無いと不安」みたいな気持ちで衝動買いしちゃった。

現在運営してるサイト(yexca.net ドメイン)

Docker

Docker を知ってからというもの、ほぼすべてのプロジェクトを Docker で立てるようになった。マジ便利。

Debian10 + root でログインしてまず更新:

1
apt update

必要なパッケージをインストール:

1
apt install curl gpg

GPG鍵を追加:

1
curl -fsSL https://download.docker.com/linux/debian/gpg | gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

Dockerのリポジトリを追加:

1
2
3
echo \
   "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian \
   buster stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null

Docker をインストール:

1
2
apt update
apt install docker-ce docker-ce-cli containerd.io docker-compose

Docker を起動・自動起動:

1
2
systemctl enable docker
systemctl start docker

テスト用:

1
docker run --rm hello-world

参考: 服务器用 Docker 部署记录

公開鍵ログイン

参考: SSH 公钥登录

Nginx

今回も nginx-ui プロジェクトを使った Docker デプロイ。docker-compose.yml は以下:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
version: '3.1' 
services: 
  nginx-ui:
    restart: always
    image: uozi/nginx-ui:latest
    container_name: nginx_UI
    volumes:
      - /home/nginx_ui/nginx:/etc/nginx
      - /home/nginx_ui/nginx-ui:/etc/nginx-ui
      - /home/nginx_ui/www:/www
    ports:
      - 80:80
      - 443:443

DNS 側で HTTPS を有効化してる場合は、証明書の設定は不要。そうしないとブラウザからアクセス不可になっちゃう。

自己紹介ページ

実は前のサーバーで全部 Docker 化する前から考えてた。 だから blog.yexca.xyz に変更したのも、yexca.xyz を空けたかったから。

yexca.xyz は現在手放してる。

フォルダ作成日を見たら 2022.03.07、最後の編集が 2022.06.29。完全に放置してた。

このアイデアを思いついたきっかけは他のブロガーの自己紹介ページを見たとき。たとえば https://idealclover.top/ https://the.moe/ など。 中にはテンプレートを公開してる人もいて、自分の情報を入れれば紹介ページが作れるやつもあった(リンク失念…)

最終的には http://lolicon.app のようなデザインを真似ることにした(なんでだっけ…)


参考:

CSS でスクロールバーをカスタマイズ

Webサイトに favicon.ico を設定する方法

衝動買いのもう一つの理由が、良い音楽サイトを自分で持ちたかったから。 以前は Onedriveベースのやつ を使ってたけど、中国からだとアクセスが遅い。 ちょうど 115 がセールしてたから契約した → それが今回のトリガー。

結論:超微妙。OneDrive より遅い。やっぱ衝動買いは良くない。 最初は気に入ったら kikoeru-express も立てようかと思ってたけど…ナシだな。

Rclone(115 対応)

115をマウントするには、115対応版 rclone が必要。

GitHub: https://github.com/gaoyb7/rclone-release

本家と同じだけど 115 対応済み。

Chrome で手動取得

115 にログイン → DevTools → Network タブ → ページ更新 cookie.js?_=[number] を探す → Request Headers 内に Cookie がある。

Chrome 拡張で取得

Get cookies.txt LOCALLY

Web の Cookie はすぐ期限切れになるから、App から取得した方がいい。

  • iOS:Stream や Quantumult X
  • Android:抓包精灵
  • PC:Fiddler など

すぐ出てくるからここでは省略。

Rclone の設定

コマンドで設定
1
rclone config

完了後、Windows の場合は以下に設定ファイルができる:

1
C:\Users\%USERNAME%\AppData\Roaming\rclone
直接編集

rclone.conf を作成:

1
2
3
4
5
[name]
type = 115
uid = your_uid
cid = your_cid
seid = your_seid

Windows でマウント

winfsp を先にインストール: https://winfsp.dev/

1
.\rclone.exe mount -v --read-only --vfs-read-chunk-size=4M --buffer-size=32M --network-mode 115: X:

Ctrl+C で解除

Linux Docker マウント

1
docker pull gaoyb7/rclone:latest
1
2
3
4
5
6
7
docker run --rm \
    --volume /home/rclone/config:/config/rclone \
    --volume /home/rclone/data:/data:shared \
    --volume /etc/passwd:/etc/passwd:ro --volume /etc/group:/etc/group:ro \
    --device /dev/fuse --cap-add SYS_ADMIN --security-opt apparmor:unconfined \
    gaoyb7/rclone:latest \
    mount 115:/music /data/music --allow-other --allow-non-empty --vfs-cache-mode writes &
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
version: "3.0"
services:
  navidrome:
    image: deluan/navidrome:latest
    ports:
      - "8005:4533"
    restart: unless-stopped
    environment:
      ND_SCANSCHEDULE: 1h
      ND_LOGLEVEL: info  
      ND_SESSIONTIMEOUT: 24h
      ND_BASEURL: ""
      ND_LASTFM_ENABLED: "true"
      ND_LASTFM_APIKEY: your_LASTFM_APIKEY
      ND_LASTFM_SECRET: your_LASTFM_SECRET
      ND_LASTFM_LANGUAGE: zh
      ND_SPOTIFY_ID: your_SPOTIFY_ID
      ND_SPOTIFY_SECRET: your_SPOTIFY_SECRET
      ND_ENABLESHARING: "true"
      ND_UILOGINBACKGROUNDURL: "https://www.loliapi.com/acg"
      ND_UIWELCOMEMESSAGE: "ようこそ〜"
    volumes:
      - "/home/navidrome/data:/data"
      - "/home/rclone/data/music:/music/115:ro"
      - "/home/navidrome/music:/music/server:ro"

Blog

ブログは2つあって、どちらも過去記事の手順で構築済み。もう更新する予定なし。

Wordpress

yexca’Blog は画像 CDN が見れなくなってて、置換プラグイン使っても直らずそのまま放置中(背景だけ見えればいい)

Typecho

VRChat 教程 は久々に開いたらログインパス忘れてて焦ったけど、ちゃんとバックアップとってあった。新環境に構築してデータ移行完了。

画像も上と同様、時間ができたら CDN を変えるつもり(とりあえずカバーだけ変更済み)

WarmaTap

初音ミクの音声を Warma に置き換えたタイプ音ページ。

  • 電子音風

GitHub: lwd-temp/warmatap

デモ: http://yexca.net/warma_tap

  • 人間っぽい声

GitHub: MonianHello/WarmaTap

デモ: http://yexca.net/warmatap

  • MikuTap(元ネタ)

GitHub: HFIProgramming/mikutap

デモ: http://yexca.net/mikutap

MikuTap は patatap を参考に作られたもの

Visits Since 2025-02-28

Hugo で構築されています。 | テーマ StackJimmy によって設計されています。