前言#
Shiro は MixSpace のフロントエンドテーマ(コミュニティ版)であり、フロントエンドテーマのコードはオープンソースです。一部のユーザーは、自分の使用ニーズにより適合させるために修正を行います。もし、Docker イメージを使用して自分のサーバーにデプロイしたい場合、この記事はあなたのために用意されています。
なぜ... ではないのか#
Docker ビルド#
Docker ビルドは大量のサーバーリソースを使用します。これは、低い構成(2G 未満のメモリ)のクラウドサーバーにとっては困難であり、基本的にサーバーがメモリ不足でフリーズする原因となります。
クラウドファンクションデプロイ#
この方法を選ぶこともできますが、サイトのトラフィックがあまり多くないときに、Vercel や Netlify などのクラウドファンクションプラットフォームが提供する無料枠は Shiro をホスティングするには十分です。しかし、中国本土のサーバーにデプロイしたい場合や、より多くのトラフィックが必要な場合、クラウドファンクションプラットフォームの枠は不足することになります。
選択#
ここでは、Github 公式のイメージリポジトリを使用してイメージを保存することを選択します。国内でイメージを取得するためには、Geekery が提供するDockerHub イメージ加速などのプライベートイメージ加速サービスを利用できます。
手順#
リポジトリをフォーク#
まず、Innei/Shiro公式リポジトリを開き、自分のアカウントにフォークします。
一部ファイルを削除#
リポジトリのルートディレクトリにある.github
フォルダを直接削除します。公式のワークフローを使用する必要はありません。
魔改#
リポジトリに対して、あなたのニーズに合わせた魔改コードを開始できます。
新しいワークフローを作成#
リポジトリの.github/workflows
ディレクトリに新しい yml ファイルを作成します。名前は自由で、コードは以下の通りです:
name: Docker Build
on:
push:
branches:
- 'main'
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Login to Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and push
uses: docker/build-push-action@v4
with:
context: .
file: ./Dockerfile
platforms: linux/amd64
push: true
tags: ghcr.io/innei/shiro:latest
最下部のBuild and push
ステップのtag
をghcr.io/innei/shiro:latest
から、自分が適切だと思う名前に変更するだけで大丈夫です。大文字は含めないように注意してください。覚えやすくするために、個人の Github ユーザー名の小文字を使用してinnei
の代わりにイメージの名前空間として選択してください。
ワークフローファイルを保存し、実行が完了するのを待ちます。リポジトリの側面のPackages
または個人の Github アカウントのホームページのPackage
でイメージファイルを見つけることができるはずです。
使用#
提供されたプル方法を参考にし、サーバーでdocker pull
コマンドを使用してイメージを取得します。
この記事は Mix Space によって xLog に同期更新されました。原始リンクは https://www.sotkg.com/posts/site/shiro-docker-deployment