Feat: Auto download / Chg: README

This commit is contained in:
2025-12-15 16:47:21 +09:00
parent 356da41de7
commit 00501a7159
6 changed files with 114 additions and 6 deletions
+30
View File
@@ -9,3 +9,33 @@ MARIADB_PASSWORD=password # パスワード
MARIADB_TIME_ZONE=Azia/Tokyo # タイムゾーン MARIADB_TIME_ZONE=Azia/Tokyo # タイムゾーン
PUBLIC_MARIADB_PORT=3306 # 配信ポート # 外部にMariaDBを公開しない場合は不要 PUBLIC_MARIADB_PORT=3306 # 配信ポート # 外部にMariaDBを公開しない場合は不要
# uwuzu
## 自動ダウンロードを使用しない場合UWUZU_*の項目は全て必要ありません。
## 自動ダウンロードを使用する場合もデフォルト値とこのサンプル値は一致しており、その値は設定しない場合も正常に自動ダウンロードが可能です。
## プラグインのダウンロード先の変更やバージョンの指定などに使用してください。
## uwuzu自動ダウンロード
### ${UWUZU_SOURCE_URL}/${UWUZU_SOURCE_TAG}/${UWUZU_SOURCE_FILENAME}のZIPファイルを自動ダウンロードします。
### リリースタグとファイル名を変更することでuwuzuのバージョンを指定できます。
UWUZU_SOURCE_TAG=v1.6.6 # uwuzuのリリースタグ
UWUZU_SOURCE_URL=https://github.com/Daichimarukana/uwuzu/releases/download # uwuzuのZIPファイルのベースパス
UWUZU_SOURCE_FILENAME=uwuzu166.zip # uwuzuのリリースでアセットに設定されているZIPファイルのファイル名
## プラグイン自動ダウンロード
### PHPMailer
#### ${UWUZU_PLUGIN_PHPMAILER_URL}/${UWUZU_PLUGIN_PHPMAILER_FILENAME}のリリースアーカイブを自動ダウンロードします。
UWUZU_PLUGIN_PHPMAILER_URL=https://github.com/PHPMailer/PHPMailer/archive/refs/tags
UWUZU_PLUGIN_PHPMAILER_FILENAME=v7.0.1.zip
### AIBlockWaterMark
#### ${UWUZU_PLUGIN_WATERMARK_URL}/${UWUZU_PLUGIN_WATERMARK_TAG}/${UWUZU_PLUGIN_WATERMARK_FILENAME}のZIPファイルを自動ダウンロードします。
UWUZU_PLUGIN_WATERMARK_TAG=v1.0.0
UWUZU_PLUGIN_WATERMARK_URL=https://github.com/Daichimarukana/uwuzu-AIBlockWaterMark/releases/download
UWUZU_PLUGIN_WATERMARK_FILENAME=AIBlockWaterMark.zip
### AWS SDK for PHP(S3/S3互換オブジェクトストレージ用)
#### ${UWUZU_PLUGIN_OBJECTSTG_URL}/${UWUZU_PLUGIN_OBJECTSTG_TAG}/${UWUZU_PLUGIN_OBJECTSTG_FILENAME}のZIPファイルを自動ダウンロードします。
UWUZU_PLUGIN_OBJECTSTG_TAG=3.367.2
UWUZU_PLUGIN_OBJECTSTG_URL=https://github.com/aws/aws-sdk-php/releases/download
UWUZU_PLUGIN_OBJECTSTG_FILENAME=aws.zip
+4 -3
View File
@@ -1,3 +1,4 @@
.env /.env*
src/ !/.env.example
/src/**
!/src/.source-flag
+15 -3
View File
@@ -32,10 +32,21 @@ uwuzu:
# 使い方 # 使い方
## 構築 ## 構築
2つの方法がありますが、どちらの場合も絶対にホスト側の/src/.source-flagを削除しないでください。(コンテナ内では自動的に削除されます)
uwuzu for Docker ComposeではGitやDockerfileの都合で.source-flagを必要とし、/srcのファイル/ディレクトリ数を参照して自動ダウンロードを判断します。
.source-flagを含めたsrcフォルダのファイル/ディレクトリ数が1つ以下の場合に自動ダウンロードを実行する仕様です。
### 自動ダウンロードを使用する
0. `/.env.exaple`のコメントに従って`/.env`を作成。
1. `/php/apache2.conf``/php/php.ini`を適宜変更。
2. プロジェクトルートで`docker-compose build`を実行。
以降は[独自のソースコード(改変uwuzu)を使用する](#独自のソースコード(改変uwuzu)を使用する)の手順5から同等ですのでそちらをご確認ください。
### 独自のソースコード(改変uwuzu)を使用する
0. `/.env.example`のコメントに従って`/.env`を作成。 0. `/.env.example`のコメントに従って`/.env`を作成。
1. `/src/`以下に[uwuzuのリポジトリで配布されているZIPファイル](https://github.com/Daichimarukana/uwuzu/releases)を展開。 1. `/src/`以下に[uwuzuのリポジトリで配布されているZIPファイル](https://github.com/Daichimarukana/uwuzu/releases)を展開。
2. `/php/apache2.conf`を適宜変更。 2. `/php/apache2.conf``/php/php.ini`を適宜変更。
3. プロジェクトルートで`docker-compose build --no-cache`を実行。 3. プロジェクトルートで`docker-compose build`を実行。
4. `docker-compose up`でuwuzu及びMariaDBが起動します。 4. `docker-compose up`でuwuzu及びMariaDBが起動します。
5. ブラウザでuwuzuの`/admin`に移動し初期設定を行います。 5. ブラウザでuwuzuの`/admin`に移動し初期設定を行います。
6. uwuzuの表示に従って初期設定を進めます。 6. uwuzuの表示に従って初期設定を進めます。
@@ -49,7 +60,8 @@ uwuzu:
## アップデート ## アップデート
※1: 飛び級アップデートは利用できません。リリース順にアップデートしてください。 ※1: 飛び級アップデートは利用できません。リリース順にアップデートしてください。
※2: アップデート後にuwuzuが破損する可能性があるためバックアップをしてから行ってください。 ※2: アップデート後にuwuzuが破損する可能性があるためバックアップをしてから行ってください。
※3: .envの`UWUZU_SOURCE_TAG`/`UWUZU_SOURCE_FILENAME`はビルドする際のものです。
0. [uwuzuのリリースノート](https://docs.uwuzu.com/docs/aboutuwuzu/releasenote)を参照し変更が必要な対応を行ってください。 0. [uwuzuのリリースノート](https://docs.uwuzu.com/docs/aboutuwuzu/releasenote)を参照し変更が必要な対応を行ってください。
1. [uwuzuのリリース](https://github.com/Daichimarukana/uwuzu/releases)を参照し対象のバージョンのZIPファイルをダウンロード。 1. [uwuzuのリリース](https://github.com/Daichimarukana/uwuzu/releases)を参照し対象のバージョンのZIPファイルをダウンロード。
+12
View File
@@ -3,6 +3,18 @@ services:
build: build:
context: . context: .
dockerfile: ./php/Dockerfile dockerfile: ./php/Dockerfile
args:
- UWUZU_SOURCE_TAG=${UWUZU_SOURCE_TAG}
- UWUZU_SOURCE_URL=${UWUZU_SOURCE_URL}
- UWUZU_SOURCE_FILENAME=${UWUZU_SOURCE_FILENAME}
- UWUZU_PLUGIN_PHPMAILER_URL=${UWUZU_PLUGIN_PHPMAILER_URL}
- UWUZU_PLUGIN_PHPMAILER_FILENAME=${UWUZU_PLUGIN_PHPMAILER_FILENAME}
- UWUZU_PLUGIN_WATERMARK_TAG=${UWUZU_PLUGIN_WATERMARK_TAG}
- UWUZU_PLUGIN_WATERMARK_URL=${UWUZU_PLUGIN_WATERMARK_URL}
- UWUZU_PLUGIN_WATERMARK_FILENAME=${UWUZU_PLUGIN_WATERMARK_FILENAME}
- UWUZU_PLUGIN_OBJECTSTG_TAG=${UWUZU_PLUGIN_OBJECTSTG_TAG}
- UWUZU_PLUGIN_OBJECTSTG_URL=${UWUZU_PLUGIN_OBJECTSTG_URL}
- UWUZU_PLUGIN_OBJECTSTG_FILENAME=${UWUZU_PLUGIN_OBJECTSTG_FILENAME}
container_name: uwuzu-web container_name: uwuzu-web
ports: ports:
- "${PUBLIC_PORT}:80" - "${PUBLIC_PORT}:80"
+53
View File
@@ -4,11 +4,25 @@ FROM php:8.2-apache
# Set working directory # Set working directory
WORKDIR /var/www/html WORKDIR /var/www/html
# Load args
ARG UWUZU_SOURCE_TAG=v1.6.6
ARG UWUZU_SOURCE_URL=https://github.com/Daichimarukana/uwuzu/releases/download
ARG UWUZU_SOURCE_FILENAME=uwuzu166.zip
ARG UWUZU_PLUGIN_PHPMAILER_URL=https://github.com/PHPMailer/PHPMailer/archive/refs/tags
ARG UWUZU_PLUGIN_PHPMAILER_FILENAME=v7.0.1.zip
ARG UWUZU_PLUGIN_WATERMARK_TAG=v1.0.0
ARG UWUZU_PLUGIN_WATERMARK_URL=https://github.com/Daichimarukana/uwuzu-AIBlockWaterMark/releases/download
ARG UWUZU_PLUGIN_WATERMARK_FILENAME=AIBlockWaterMark.zip
ARG UWUZU_PLUGIN_OBJECTSTG_TAG=3.367.2
ARG UWUZU_PLUGIN_OBJECTSTG_URL=https://github.com/aws/aws-sdk-php/releases/download
ARG UWUZU_PLUGIN_OBJECTSTG_FILENAME=aws.zip
# Run as root # Run as root
USER root USER root
# Install packages(apt) # Install packages(apt)
RUN apt-get update RUN apt-get update
RUN apt-get install -y wget
RUN apt-get install -y dos2unix RUN apt-get install -y dos2unix
RUN apt-get install -y libwebp-dev RUN apt-get install -y libwebp-dev
RUN apt-get install -y libpng-dev RUN apt-get install -y libpng-dev
@@ -25,6 +39,45 @@ RUN rm -rf /var/lib/apt/lists/*
# Copy app # Copy app
COPY src/ /var/www/html/ COPY src/ /var/www/html/
# Auto download
RUN if [ -d /var/www/html ]; then \
count=$(find /var/www/html -mindepth 1 -maxdepth 1 | wc -l); \
if [ "$count" -le 1 ]; then \
# uwuzu
wget -O uwuzu.zip ${UWUZU_SOURCE_URL}/${UWUZU_SOURCE_TAG}/${UWUZU_SOURCE_FILENAME}; \
unzip uwuzu.zip; \
rm -f uwuzu.zip; \
# Plugins
cd plugin; \
## Mailer
wget -O mailer.zip ${UWUZU_PLUGIN_PHPMAILER_URL}/${UWUZU_PLUGIN_PHPMAILER_FILENAME}; \
unzip mailer.zip; \
mv PHPMailer-* PHPMailer; \
rm -f mailer.zip; \
## AIBlockWaterMark
mkdir AIBlockWaterMark; \
cd AIBlockWaterMark; \
wget -O watermark.zip ${UWUZU_PLUGIN_WATERMARK_URL}/${UWUZU_PLUGIN_WATERMARK_TAG}/${UWUZU_PLUGIN_WATERMARK_FILENAME}; \
unzip watermark.zip; \
rm -f watermark.zip; \
cd ..; \
## Object Storage
mkdir aws; \
cd aws; \
wget -O aws.zip ${UWUZU_PLUGIN_OBJECTSTG_URL}/${UWUZU_PLUGIN_OBJECTSTG_TAG}/${UWUZU_PLUGIN_OBJECTSTG_FILENAME}; \
unzip aws.zip; \
rm -f aws.zip; \
cd ..; \
## Change Directory
cd ..; \
fi; \
fi
# Remove flag
RUN rm -f .source-flag
# Change line break code
RUN find /var/www/html -type f -exec dos2unix {} \; RUN find /var/www/html -type f -exec dos2unix {} \;
# Install PHP extensions # Install PHP extensions
View File