Compare commits

..

No commits in common. "3f8cba6fad6a1ca2dd199ccc9c7ba8285ed8434b" and "225725a627e8efbe6ecb2b730fc6b128b3a4e891" have entirely different histories.

5 changed files with 49 additions and 26 deletions

View File

@ -1,11 +1,15 @@
# Project
APP_NAME=ktvcentral
APP_DOMAIN=zqd.superstar.dnsnet.cc
APP_URL=http://zqd.superstar.dnsnet.cc
APP_PORT=80
APP_URL=http://zqd.superstar.dnsnet.cc/
REPO_URL=http://47.251.18.130:3000/Leecheng/KTVCentral.git
REPO_URL="http://47.251.18.130:3000/Leecheng/KTVCentral.git"
REPO_BRANCH="main"
# Database
DB_HOST=mariadb
DB_PORT=3306
DB_DATABASE=KaraokeKingpin
DB_USERNAME=KaraokeKingpin
DB_PASSWORD=ESM7yTPMnavFmbBH

View File

@ -2,8 +2,6 @@ FROM php:8.3-fpm
# ---- system & PHP extensions -------------------------------------------------
RUN apt-get update && apt-get install -y \
nginx \
gettext \
git unzip zip curl ca-certificates supervisor cron nano \
libpng-dev libjpeg62-turbo-dev libfreetype6-dev \
libonig-dev libxml2-dev libzip-dev libpq-dev libicu-dev libxslt-dev \
@ -26,9 +24,9 @@ COPY docker/php/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
COPY docker/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY docker/entrypoint.sh /entrypoint.sh
COPY docker/entrypoint.git.sh /entrypoint.git.sh
COPY docker/nginx/default.conf.template /etc/nginx/templates/default.conf.template
WORKDIR /var/www
RUN chmod +x /entrypoint.sh /entrypoint.git.sh
ENTRYPOINT ["/entrypoint.sh"]
ENTRYPOINT ["/entrypoint.sh"]
CMD ["docker-php-entrypoint", "php-fpm"]

View File

@ -26,28 +26,38 @@ services:
volumes:
- ./data/html:/var/www/html
- ./data/logs/php:/var/www/logs
- ./data/nginx/conf.d/:/etc/nginx/conf.d/
- ./data/logs/nginx/:/var/log/nginx
- ./docker/nginx/default.conf.template:/etc/nginx/templates/default.conf.template
ports:
- "${APP_PORT:-80}:${APP_PORT:-80}"
depends_on:
- mariadb
environment:
REPO_URL: ${REPO_URL}
BRANCH: ${REPO_BRANCH:-main}
BRANCH: ${REPO_BRANCH}
APP_NAME: ${APP_NAME}
APP_URL: ${APP_URL}
DB_HOST: mariadb
DB_PORT: 3306
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
networks:
- app_network
nginx:
image: nginx:stable-alpine
container_name: ${APP_NAME}_nginx
ports:
- "80:80"
volumes:
- ./data/html:/var/www/html
- ./data/nginx/conf.d/:/etc/nginx/conf.d/
- ./data/logs/nginx/:/var/log/nginx
- ./docker/nginx/:/etc/nginx/templates
depends_on:
- app
environment:
NGINX_HOST: ${APP_DOMAIN}
NGINX_PORT: ${APP_PORT:-80}
NGINX_PORT: ${APP_PORT}
networks:
- app_network
networks:
app_network:
driver: bridge
app_network:

View File

@ -10,13 +10,14 @@ if [ -z "$(ls -A "$TARGET_DIR")" ]; then
echo "[entrypoint] Cloning $BRANCH from $REPO_URL ..."
git clone --branch "$BRANCH" "$REPO_URL" "$TARGET_DIR"
else
echo "[entrypoint] Repository already present, skipping clone."
echo "[entrypoint] Repository already present, skipping first clone."
fi
cd "$TARGET_DIR"
# 2) Laravel 基礎安裝
composer install --no-interaction --prefer-dist
[ -f .env ] || cp .env.example .env
update_env() { local k=$1 v=$2; grep -q "^$k=" .env && sed -i "s|^$k=.*|$k=$v|" .env || echo "$k=$v" >> .env; }
@ -37,8 +38,7 @@ npm run build
chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
mkdir -p /var/www/logs
echo "[entrypoint] Starting supervisord ..."
supervisord -c /etc/supervisor/conf.d/supervisord.conf &
php-fpm -D
envsubst "${NGINX_HOST} ${NGINX_PORT}" < /etc/nginx/templates/default.conf.template > /etc/nginx/conf.d/default.conf
exec nginx -g "daemon off;"
exec "$@"

View File

@ -2,13 +2,13 @@ server {
listen ${NGINX_PORT};
server_name ${NGINX_HOST};
client_max_body_size 100M;
root /var/www/html/public;
index index.php index.html;
client_max_body_size 100M;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
error_log /var/log/nginx/error.log;
location / {
try_files $uri $uri/ /index.php?$query_string;
@ -16,9 +16,20 @@ server {
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_pass app:9000;
fastcgi_index index.php;
# Laravel 正確位置
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
# Optional: 支援 PATH_INFO
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
# 避免 NGINX 直接 cache
fastcgi_buffer_size 16k;
fastcgi_buffers 4 16k;
}
location ~ /\.ht {