前言#
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