この記事は、ConoHa Advent Calendar 2025 14日目の記事です。
今回はオブジェクトストレージと ArchiveBox を使って、清楚かわいい ConoHa ちゃんを自分だけの魚拓サービスにしていきます。
デジャブ?
2019年の Advent Calendarでも、同じように ConoHa で ArchiveBox を作っています。
今回はパワーアップしたオブジェクトストレージと、新登場のスタートアップスクリプトを使いました!
なお、ArchiveBox は、いろんな方法で Web ページをまるっと保存・閲覧できるソフトです。ウェブ魚拓や Internet Archive の OSS 版だと思ってください。
目次
- オブジェクトストレージをつくる
- API ユーザーをつくる
- Credentialをつくる
- オブジェクトストレージの容量を設定する
- スタートアップスクリプトを使って VPS をつくる
- オブジェクトストレージを設定する
- ArchiveBox をつかってみる
- 後片付け
- あとがき
オブジェクトストレージをつくる
ConoHa のオブジェクトストレージは Swift ベースだったので、正直避けてました。
が、8 月のアップデートで S3 互換の API に対応したので、この機会に使っていこうと思います。
API ユーザーをつくる
コントロールパネルの「オブジェクトストレージ」を開いて、早速バケットを作r...
APIユーザーを作成することでご利用いただけます。
オブジェクトストレージを作るには、API ユーザーが必要なんで作ります。
「API」のページからパスワードを入れて「保存」
API ユーザーを作ったら、あとで使うので「ユーザーID」と「パスワード」はメモっておきます。
あと、「API」のページの上の方にある項目から、「テナントID」と「S3 Service」の値ものちほど使うので、忘れずメモしておきましょう。
Credentialをつくる
オブジェクトストレージにつなぐときに使う認証情報(Credential)を作ります。
(さっき作った API ユーザーとは別に作る必要があります)
コントロールパネルにそれっぽいのがないので、調べてみたところ API を直接たたく必要があるみたいです。
API をたたくにはトークンがいるので、まずはトークンをゲットします。
トークンはレスポンスヘッダのx-subject-tokenに入っています。
前半の変数はさっきメモした値を入れてください。
TENANT_ID=<テナントID>
API_USERID=<ユーザーID>
API_PASSWORD=<パスワード>
curl -i -X POST \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d "{\"auth\": {\"identity\": {\"methods\": [\"password\"],\"password\": {\"user\": {\"id\": \"$API_USERID\",\"password\": \"$API_PASSWORD\"}}},\"scope\": {\"project\": {\"id\": \"${TENANT_ID}\"}}}}" \
"https://identity.c3j1.conoha.io/v3/auth/tokens"
---
HTTP/1.1 201 Created
server: nginx
date: Wed, 15 Nov 2023 10:06:01 GMT
content-type: application/json
content-length: 2709
x-subject-token: <<!!ココ!!>>
取ったトークンを変数に入れて、Credential をつくります。
レスポンスに含まれる「access」と「secret」がCredentialになります。
TOKEN=<トークン>
curl -X POST \
-H "Accept: application/json" \
-H "X-Auth-Token: $TOKEN" \
-d "{\"tenant_id\": \"$TENANT_ID\"}" \
"https://identity.c3j1.conoha.io/v3/users/$API_USERID/credentials/OS-EC2"
---
{
"credential": {
"user_id": "APIユーザーID",
"tenant_id": "テナントID",
"access": "アクセスキー",
"secret": "シークレットキー",
"trust_id": null,
"links": {
"self": "string"
}
}
}
オブジェクトストレージの容量を設定する
ConoHa のオブジェクトストレージは、あらかじめ使用容量を決めておくスタイルです。
某クラウドのように勝手に拡張されて、お支払いが青天井……なんてことにはなりません。ヨシ!
容量は「オブジェクトストレージ」ページのアイコンから選びます。
容量は 100 GB 単位なので、今回は最小の 100 GB を選びます。
容量はいつでも変えられます。なお、使わない場合は 0 GB に戻さないとお金がかかっちゃうので注意。
0GB/0GBが0GB/100GBになっていれば OK です。
スタートアップスクリプトを使って VPS をつくる
サーバーになる VPS を立てていきます。
ArchiveBox のスタートアップスクリプトがUbuntu 24.04対応なので、Ubuntu 24.04を選んで、プランを決めます。
(512MBが選べないのは Ubuntu のシステム要件が RAM 1GBだから?)
root パスワードなんかはよしなに入力して、「スタートアップスクリプト」から「ArchiveBox」を選びます。
ネームタグは画面のトップに出ちゃうので、よく考えて入力しましょう。間違っても NG ワードを入れてはいけません。
(英語なのでセーフ。知らんけど)
オブジェクトストレージを設定する
オブジェクトストレージを VPS にマウントします。
マウントする前に、ちゃんと動くか確かめるついでに ArchiveBox を立ち上げます。
ドキュメントによると起動完了後、以下のURLが表示されます:とのことですが、なんか失敗しちゃいました。
# /root/archivebox-manage.sh start
Check: docker compose logs
ログをチェック
# docker compose logs
no configuration file provided: not found
VPS の IP にアクセス。
なんだか知らんが動いているのでヨシ!
動作チェックが終わったので、オブジェクトストレージをマウントします。
今回はrcloneというツールを使います。
ArchiveBoxのドキュメントを参考に設定していきます。
インストール
apt install rclone fuse
echo 'user_allow_other' >> /etc/fuse.conf
設定ファイルを作る
mkdir -p ~/.config/rclone/
touch ~/.config/rclone/rclone.conf
設定ファイルの中身は次のように指定してください。
[archivebox-s3]
type = s3
provider = Other
access_key_id = <Credential の access>
secret_access_key = <Credential の secret>
region = conoha
endpoint = <S3 Service の URL>
次のコマンドで動作を確かめます。何も表示されなければ OK です。
rclone ls archivebox-s3:
特に問題なければ ArchiveBox の保存先をマウントします。
(cloudremixの部分は好きな値に変えてください。バケット名になります。)
rclone mount \
--allow-other \
--uid 911 --gid 911 \
--vfs-cache-mode=full \
--transfers=16 --checkers=4 \
--daemon \
archivebox-s3:cloudremix/data/archive /opt/archivebox/data/archive
ArchiveBox を再起動します。
(再起動しないと保存したファイルがオブジェクトストレージにアップされません)
/root/archivebox-manage.sh restart
ArchiveBox をつかってみる
マウントも終わったので ArchiveBox を使っていきます。
まずは Web UI に入るためのアカウントを作ります。
# インストールディレクトリに移動
cd /opt/archivebox
# ユーザー作成
docker compose run archivebox manage createsuperuser
...
[i] [2025-12-12 08:05:55] ArchiveBox v0.7.3: archivebox manage createsuperuser
> /data
Username (leave blank to use 'archivebox'): <ユーザー名>
Email address: <メールアドレス>
Password: <パスワード>
Password (again): <パスワードもう一回>
Superuser created successfully.
ブラウザを開いてhttps://<サーバーのIP>/admin/login/にアクセス。
さっき設定したユーザー名とパスワードでログインします。
右上の「Add」をポチッとな。
保存したい URL を入力して「Add URLs and archive ?」を押します。
複数も OK ですし、その下のArchive depth:を変えると、リンク先もまるっと保存してくれます。
保存キューに登録されました。
しばらく待つと保存処理が終わってタイトルなんかが正しく表示されます。
(自動で更新はしてくれないので、自分でリロードが必要です)
タイトルを押すと保存されたページが表示されます。
あんずちゃんかわいい!
URL にアクセスすれば誰でも表示できます。
著作権とかには十分気をつけて、セキュリティグループなどでアクセス制御してください
クラウドストレージにもキチンと保存されています。
# rclone ls archivebox-s3:
565 cloudremix/data/archive/1765527192.947603/favicon.ico
14636 cloudremix/data/archive/1765527192.947603/htmltotext.txt
241146 cloudremix/data/archive/1765527192.947603/index.html
35679 cloudremix/data/archive/1765527192.947603/index.json
64086 cloudremix/data/archive/1765527192.947603/output.html
2530553 cloudremix/data/archive/1765527192.947603/output.pdf
186 cloudremix/data/archive/1765527192.947603/readability/article.json
19996 cloudremix/data/archive/1765527192.947603/readability/content.html
9633 cloudremix/data/archive/1765527192.947603/readability/content.txt
1146948 cloudremix/data/archive/1765527192.947603/screenshot.png
4051566 cloudremix/data/archive/1765527192.947603/singlefile.html
2114 cloudremix/data/archive/1765527192.947603/warc/1765527213.warc.gz
後片付け
いらなくなったら VPS は削除しちゃいましょう。
オブジェクトストレージは空にしないと容量変更ができないので、空にしてからコントロールパネルで変更します。
rcloneだとpurgeで空っぽにできます。
rclone purge conoha-s3:cloudremix
あとがき
今年はパワーアップしたオブジェクトストレージとArchiveBoxでも書こうかな~
あっ
うおぉぉぉ!
ということでこのネタになりました。


















