Chg: Line Break & Fix: many fixes & Chg: README

This commit is contained in:
2025-10-31 19:04:16 +09:00
parent 0e6df50a7f
commit 283df57c20
10 changed files with 171 additions and 105 deletions
+10 -9
View File
@@ -1,10 +1,11 @@
# Apache
PUBLIC_PORT=80 # 配信ポート
# Apache
PUBLIC_PORT=80 # 配信ポート
# MariaDB
MARIADB_ROOT_PASSWORD=rootpass # ルートパスワード
MARIADB_DATABASE=uwuzu # データベース
MARIADB_USER=uwuzu # ユーザー名
MARIADB_PASSWORD=password # パスワード
MARIADB_TIME_ZONE=Azia/Tokyo # タイムゾーン
PUBLIC_MARIADB_PORT=3306 # 配信ポート # 外部にMariaDBを後悔しない場合は不要
# MariaDB
MARIADB_ROOT_PASSWORD=rootpass # ルートパスワード
MARIADB_DATABASE=uwuzu # データベース
MARIADB_USER=uwuzu # ユーザー名
MARIADB_PASSWORD=password # パスワード
MARIADB_TIME_ZONE=Azia/Tokyo # タイムゾーン
PUBLIC_MARIADB_PORT=3306 # 配信ポート # 外部にMariaDBを後悔しない場合は不要
+3 -2
View File
@@ -1,2 +1,3 @@
.env
src/
.env
src/
+16 -19
View File
@@ -1,19 +1,16 @@
# uwuzuDocker Composeで動かすやつ
## What is this
uwuzu v1.6.5がDocker Composeで動きます
## 使い方
### .env
.env.exampleの空気を読んでください
### srcフォルダ
srcフォルダにuwuzuのZIPを展開してください。
v1.6.5は検証済みです。
### phpフォルダ・dbフォルダ
MariaDB・PHP・Apacheの設定が色々あります。
一旦v1.6.5用の設定があります。
これを読んでいる以上技術者ではあるはずなのでv1.6.5以上でこのリポジトリが更新されていないのに構造に破壊的変更があったら空気を読んでいじってください
# 結論
空気読めば動く
# uwuzu for Docker Compose
uwuzuがDocker Composeで動きます。
※一部バージョンでは動かない可能性があります。動作保証は致しません。また、セキュリティ上の問題が発生する可能性があるため本番環境では推奨しません
# 使い方
## /.env
.env.exampleのコメントに従って入力してください
## /src
srcフォルダにuwuzuのリポジトリで配布されているZIPファイルを展開してください。
## /db・/php
設定ファイルやDockerfileなどがあります。
動作しない場合は適宜修正してください。
> [!NOTE]
> 余裕があればIssue・プルリクエストのご協力をお願いします
+2 -1
View File
@@ -1 +1,2 @@
CREATE DATABASE uwuzu;
CREATE DATABASE uwuzu;
+4 -2
View File
@@ -1,2 +1,4 @@
[mysqld]
sql_mode = NO_ENGINE_SUBSTITUTION
[mysqld]
sql_mode=NO_ENGINE_SUBSTITUTION
character-set-server = utf8mb4
collation-server = utf8mb4_general_ci
+44 -42
View File
@@ -1,42 +1,44 @@
services:
web:
build:
context: ./php
container_name: php-apache-dev
ports:
- "${PUBLIC_PORT}:80"
volumes:
- ./src:/var/www/html
- ./php/php.ini:/usr/local/etc/php/conf.d/99-custom.ini
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html
depends_on:
- db
networks:
- devnet
db:
image: mariadb:11.3
container_name: mariadb-dev
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
MYSQL_DATABASE: ${MARIADB_DATABASE}
MYSQL_USER: ${MARIADB_USER}
MYSQL_PASSWORD: ${MARIADB_PASSWORD}
TZ: ${MARIADB_TIME_ZONE}
volumes:
- db_data:/var/lib/mysql
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
- ./db/my.cnf:/etc/mysql/conf.d/my.cnf
ports:
- "${PUBLIC_MARIADB_PORT}:3306"
networks:
- devnet
networks:
devnet:
driver: bridge
volumes:
db_data:
services:
web:
build:
context: .
dockerfile: ./php/Dockerfile
container_name: web
ports:
- "${PUBLIC_PORT}:80"
volumes:
- app_data:/var/www/html
- ./php/php.ini:/usr/local/etc/php/conf.d/99-custom.ini
environment:
- APACHE_DOCUMENT_ROOT=/var/www/html
depends_on:
- db
networks:
- devnet
db:
image: mariadb:11.3
container_name: mariadb
restart: unless-stopped
environment:
MYSQL_ROOT_PASSWORD: ${MARIADB_ROOT_PASSWORD}
MYSQL_DATABASE: ${MARIADB_DATABASE}
MYSQL_USER: ${MARIADB_USER}
MYSQL_PASSWORD: ${MARIADB_PASSWORD}
TZ: ${MARIADB_TIME_ZONE}
volumes:
- db_data:/var/lib/mysql
- ./db/init.sql:/docker-entrypoint-initdb.d/init.sql
- ./db/my.cnf:/etc/mysql/mariadb.conf.d/99-custom.cnf
ports:
- "${PUBLIC_MARIADB_PORT}:3306"
networks:
- devnet
networks:
devnet:
driver: bridge
volumes:
db_data:
app_data:
+57 -15
View File
@@ -1,16 +1,58 @@
FROM php:8.2-apache
# Load php-apache
FROM php:8.2-apache
# Set working directory
WORKDIR /var/www/html
# Install packages(apt)
RUN apt-get update
RUN apt-get install -y libpng-dev
RUN apt-get install -y libjpeg62-turbo-dev
RUN apt-get install -y libfreetype6-dev
RUN apt-get install -y libonig-dev
RUN apt-get install -y libzip-dev
RUN apt-get install -y libcurl4-openssl-dev
RUN apt-get install -y zip
RUN apt-get install -y unzip
RUN apt-get install -y curl
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*
# Copy uwuzu
COPY src /usr/src/app
# Install packages(php)
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
RUN docker-php-ext-install gd
RUN docker-php-ext-install pdo_mysql
RUN docker-php-ext-install mysqli
RUN docker-php-ext-install mbstring
RUN docker-php-ext-install zip
RUN docker-php-ext-install fileinfo
RUN docker-php-ext-install curl
# Enable Apache modules
RUN a2enmod rewrite
RUN a2enmod headers
# Copy custom configuration
COPY php/php.ini /usr/local/etc/php/conf.d/99-custom.ini
COPY php/apache2.conf /etc/apache2/conf-enabled/99-custom.conf
# Set permissions
USER root
RUN chown -R www-data:www-data /usr/src/app
RUN find /usr/src/app -type d -exec chmod 775 {} \;
RUN find /usr/src/app -type f -exec chmod 664 {} \;
RUN chmod 777 /usr/src/app
# Copy entrypoint
COPY php/entrypoint.sh /usr/src/entrypoint.sh
RUN chmod +x /usr/src/entrypoint.sh
# Run as www-data
USER www-data
# Exec entrypoint
ENTRYPOINT ["/usr/src/entrypoint.sh"]
RUN apt-get update
RUN apt-get install -y \
libpng-dev \
libjpeg62-turbo-dev \
libfreetype6-dev \
libonig-dev \
libzip-dev \
zip \
unzip
RUN docker-php-ext-configure gd --with-freetype --with-jpeg
RUN docker-php-ext-install gd pdo_mysql mysqli mbstring zip fileinfo
RUN a2enmod rewrite headers
COPY apache2.conf /etc/apache2/conf-enabled/99-custom.conf
+9 -8
View File
@@ -1,9 +1,10 @@
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ServerName localhost
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash
set -e
APP_DIR="/var/www/html"
SRC_DIR="/usr/src/app"
INIT_FLAG="$APP_DIR/.initialized"
if [ ! -f "$INIT_FLAG" ]; then
echo "[Init] Copying initial files to $APP_DIR..."
cp -rT "$SRC_DIR" "$APP_DIR"
chown -R www-data:www-data "$APP_DIR"
touch "$INIT_FLAG"
else
echo "[Init] Already initialized."
fi
exec apache2-foreground
+8 -7
View File
@@ -1,7 +1,8 @@
display_errors = Off
extension=fileinfo
extension=gd
extension=pdo_mysql
extension=mysqli
extension=mbstring
extension=zip
display_errors = Off
display_startup_errors = Off
log_errors = On
error_log = /proc/self/fd/2
error_reporting = E_ALL & ~E_WARNING & ~E_NOTICE
error_prepend_string =
error_append_string =
default_charset = "UTF-8"