最終更新日: 2026年4月22日

テンプレート説明

Atuinは、シェルの操作履歴をエンドツーエンド暗号化して複数マシン間で同期できる、オープンソースのシェル履歴管理ツールです。PostgreSQLをバックエンドに利用したセルフホスト型の同期サーバーを構築することで、コマンド履歴を完全に自分のインフラ上で管理できます。bash、zsh、fishなど主要シェルに対応しています。

本テンプレートはインストール完了後もサービスは停止状態を維持します。また、新規ユーザー登録はデフォルトで無効化されています。以下の手順に従ってセットアップ・起動を行い、必要なタイミングでのみ登録を開放してください。

スタートアップスクリプトのテンプレートを利用してサーバー作成を行う手順はご利用ガイドを参照してください。

仕様

対応OSイメージ

Ubuntu 24.04 LTS

主要ソフトウェア

ソフトウェア名 バージョン ライセンス 用途
Atuin 18.13.5 MIT シェル履歴同期サーバー
PostgreSQL 16 PostgreSQL License データベース
Docker Latest Apache 2.0 コンテナランタイム
Docker Compose Latest Apache 2.0 コンテナオーケストレーション
Nginx Latest BSD-2-Clause リバースプロキシ
Certbot Latest Apache 2.0 Let’s Encrypt SSL証明書取得

スタートアップスクリプト情報

項目 説明
アプリケーション利用ポート 80/tcp (HTTP)、443/tcp (HTTPS)
インストールディレクトリ /opt/atuin
管理スクリプト /root/atuin-*.sh
初期状態 サービス停止中(手動起動が必要)

その他

最小システム要件

  • CPU: 1コア以上
  • メモリ: 1GB以上
  • ディスク容量: 10GB以上(履歴データ量に応じて増加)
  • ネットワーク: パブリックIPアドレス

利用手順

メモ

スタートアップスクリプトにてアプリケーションのインストールが完了するまで数分かかります。
インストール完了後、rootディレクトリに「atuin-info.txt」というファイルが作成されますのでご確認ください。
ファイルが存在しない場合、作成されるまでしばらくお待ちください。
スタートアップスクリプトの実行状況は、SSH接続後に以下のコマンドで確認できます。

# tail -f /var/log/atuin-setup.log

重要

セキュリティ上の理由により、テンプレート作成直後はAtuinサービスが停止状態です。また、新規ユーザー登録もデフォルトで無効化されています。以下の手順に従ってサービスを起動し、クライアントの登録が完了したら登録機能を無効化してください。

管理スクリプト一覧

スクリプト名 機能 使用例
atuin-manage.sh setup Dockerイメージの取得と初期準備 # /root/atuin-manage.sh setup
atuin-manage.sh start サービス起動・Nginx起動 # /root/atuin-manage.sh start
atuin-manage.sh stop サービス停止・Nginx停止 # /root/atuin-manage.sh stop
atuin-manage.sh restart サービス再起動 # /root/atuin-manage.sh restart
atuin-manage.sh status サービスの稼働状態確認 # /root/atuin-manage.sh status
atuin-manage.sh logs 直近100行のログ表示 # /root/atuin-manage.sh logs
atuin-manage.sh register-on 新規ユーザー登録を有効化 # /root/atuin-manage.sh register-on
atuin-manage.sh register-off 新規ユーザー登録を無効化 # /root/atuin-manage.sh register-off
atuin-letsencrypt.sh Let’s EncryptによるSSL証明書の取得・設定 # /root/atuin-letsencrypt.sh -e [email protected]
atuin-change-domain.sh ドメイン変更と自己署名証明書の再生成 # /root/atuin-change-domain.sh -d new.domain.com
atuin-diagnose.sh システム診断情報の表示 # /root/atuin-diagnose.sh

セキュリティグループの設定

ポート番号 プロトコル 用途 必須/オプション
22 TCP SSH 任意
80 TCP HTTP(HTTPSへリダイレクト) 必須
443 TCP HTTPS 必須

Step 1: VPSへの接続

【VPS側】 SSHクライアントを使用してVPSに接続します。

# ssh root@<IPアドレス>

Step 2: 初期セットアップ

【VPS側】 Dockerイメージの取得と初期準備を行います。

# /root/atuin-manage.sh setup

Step 3: サービスの起動

【VPS側】 Atuinサーバーを起動します。

# /root/atuin-manage.sh start

Step 4: HTTPS設定

【VPS側】 AtuinクライアントはHTTPS接続が必要です。ドメインのDNSレコードをVPSのIPアドレスに向けた上で、Let’s Encrypt証明書を取得してください。

# /root/atuin-letsencrypt.sh -e [email protected]

重要

AtuinクライアントはHTTPS接続が必須です。自己署名証明書のままではクライアントとの通信が正常に行えないため、本ステップは必ず実施してください。

Step 5: クライアントの登録

【VPS側】 新規ユーザー登録を一時的に有効化します。

# /root/atuin-manage.sh register-on

【手元のPC側】 Atuinクライアントをインストールします。

$ curl --proto '=https' --tlsv1.2 -LsSf https://setup.atuin.sh | sh
$ source ~/.bashrc   # bashの場合
# または
$ source ~/.zshrc    # zshの場合

atuin コマンドが見つからない場合

インストーラーによってはPATHが自動設定されないことがあります。以下を実行してください。

$ export PATH="$HOME/.atuin/bin:$PATH"
$ echo 'export PATH="$HOME/.atuin/bin:$PATH"' >> ~/.bashrc
$ source ~/.bashrc

【手元のPC側】 アカウントを登録します。register を実行してから login に進んでください。

$ atuin register -u USERNAME -e 'EMAIL' -p 'PASSWORD'

パスワードに記号が含まれる場合

! などの記号が含まれる場合はシングルクォートで囲んでください。ダブルクォートでは記号が正しく扱われないことがあります。

【手元のPC側】 暗号化キーの入力を求めるプロンプトが表示されます。

Please enter encryption key [blank to use existing key file]:

初めてのマシンの場合はそのままEnterを押してください。新しいキーが自動生成されます。2台目以降のマシンの場合は、既存マシンで atuin key を実行して取得したキーを入力してください。

【手元のPC側】 登録完了後、暗号化キーを必ず控えておきます。2台目以降のマシンで同期する際に必要です。

$ atuin key

表示されたキーを安全な場所に保存してください。紛失した場合は復元できません。

【手元のPC側】 ~/.config/atuin/config.toml にサーバーアドレスを設定します。テキストエディタで開き、sync_address の行を編集してください。

$ nano ~/.config/atuin/config.toml
sync_address = "https://<your-domain>"

設定ファイルの編集について

設定ファイルの内容をシェル上に直接貼り付けないでください。sync_address: command not found のエラーが発生します。必ずテキストエディタで編集してください。

【手元のPC側】 ログインして履歴を同期します。

$ atuin login -u USERNAME -p 'PASSWORD'
$ atuin sync

【VPS側】 全クライアントの登録が完了したら、登録を無効化します。

# /root/atuin-manage.sh register-off

セキュリティ重要

登録が完了したら、必ず /root/atuin-manage.sh register-off を実行して登録機能を無効化してください。登録を開放したまま放置すると、第三者がサーバーにアカウントを作成できる状態になります。

Step 6: ドメイン変更(オプション)

【VPS側】 インストール後にドメインを変更する場合は以下のスクリプトを使用します。

# /root/atuin-change-domain.sh -d new.domain.com

Step 7: システム診断

【VPS側】 サーバーの稼働状態を確認するには診断スクリプトを実行します。

# /root/atuin-diagnose.sh

アプリケーションの具体的な利用方法につきましては、サービス開発元やサービス提供元の公式サイト、Wikiなどで最新情報をご確認ください。

サイト名 URL 説明
Atuin公式サイト https://atuin.sh/ プロダクト情報・最新ニュース
Atuin公式ドキュメント(セルフホスト) https://docs.atuin.sh/cli/self-hosting/server-setup/ サーバーセットアップガイド
AtuinのGitHubリポジトリ https://github.com/atuinsh/atuin ソースコード・イシュートラッカー