Docker を使用して Halo ブログをインストールする#
- コンテナを作成する
docker run \
-it -d \
--name halo \
-p 8090:8090 \
-v ~/.halo2:/root/.halo2 \
halohub/halo:2.3.0 \
--halo.external-url=http://localhost:8090/ \
--halo.security.initializer.superadminusername=admin \
--halo.security.initializer.superadminpassword=P@88w0rd
注意:このコマンドはデフォルトで内蔵の H2 データベースを使用します。PostgreSQL を使用する場合は、Docker Compose を使用したデプロイを参照してください。
- -it:入力機能を有効にし、擬似端末に接続します
- -d:バックグラウンドでコンテナを実行します
- --name:コンテナに名前を指定します
- -p:ポートマッピング、形式は
ホスト(宿主)ポート:コンテナポート
で、application.yaml
で設定できます。 - -v:作業ディレクトリのマッピング。形式は:
-v ホストパス:/root/.halo2
、後者は変更できません。
補足:上記のコマンドを使用する前に、7 行目のhttp://localhost:8090 / をあなたのマシンの IP アドレスに変更する必要があります。パスワードを変更する場合は、パスワードも直接変更することをお勧めします。管理者ユーザー名は変更したい場合は変更し、変更したくない場合はそのままにしておいてください。
変数の詳細:
パラメータ名 | 説明 |
---|---|
spring.r2dbc.url | データベース接続アドレス、詳細は下方の データベース設定 を参照 |
spring.r2dbc.username | データベースユーザー名 |
spring.r2dbc.password | データベースパスワード |
spring.sql.init.platform | データベースプラットフォーム名、postgresql 、mysql 、h2 をサポートし、SPRING_R2DBC_URL に対応する必要があります |
halo.external-url | 外部アクセスリンク、パブリックでアクセスする必要がある場合は、実際のアクセスアドレスに設定する必要があります |
halo.security.initializer.superadminusername | 初期スーパーユーザー名 |
halo.security.initializer.superadminpassword | 初期スーパーパスワード |
データベース設定:
接続方式 | 接続アドレス形式 | SPRING_SQL_INIT_PLATFORM |
---|---|---|
PostgreSQL | r2dbc:pool:postgresql://{HOST}:{PORT}/{DATABASE} | postgresql |
MySQL | r2dbc:pool:mysql://{HOST}:{PORT}/{DATABASE} | mysql |
H2 Database | r2dbc:h2:file:///${halo.work-dir}/db/halo-next?MODE=MySQL&DB_CLOSE_ON_EXIT=FALSE | h2 |
- ブラウザで
$HALO_EXTERNAL_URL/console/
(外部アクセスリンク)にアクセスすると、Halo 管理端に入れます。管理者ユーザー名はadmin
、ログインパスワードは上記で設定したHALO_SECURITY_INITIALIZER_SUPERADMINPASSWORD
です。
ドメインアクセスを設定する必要がある場合は、初めにリバースプロキシとドメイン解決を設定してから初期化を行うことをお勧めします。http://ip:ポート番号
の形式でアクセスできない場合は、サーバーのプロバイダーのバックエンドで実行中のポート番号をセキュリティグループに追加してください。サーバーが Linux パネルを使用している場合は、この Linux パネルにセキュリティグループの設定があるか確認し、同様にポート番号をセキュリティグループに追加する必要があります。
バージョンアップグレード#
-
新しいバージョンのイメージをプルする
docker pull halohub/halo:2.3.0
-
実行中のコンテナを停止する
docker stop halo docker rm halo
-
データをバックアップする(重要)
cp -r ~/.halo2 ~/halo2.archive
注意が必要なのは、
halo2.archive
というファイル名はこの文書に基づいて命名する必要はなく、ここは単なる例です。 -
Halo を更新する
バージョン番号を変更した後、最初のインストール方法に従って、再度コンテナを作成すればよいです。
docker run \ -it -d \ --name halo \ -p 8090:8090 \ -v ~/.halo2:/root/.halo2 \ halohub/halo:2.3.0 \ --halo.external-url=http://localhost:8090/ \ --halo.security.initializer.superadminusername=admin \ --halo.security.initializer.superadminpassword=P@88w0rd