Compare commits

..

3 Commits

5 changed files with 26 additions and 49 deletions

View File

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

View File

@ -2,6 +2,8 @@ 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 \
@ -24,9 +26,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"]
CMD ["docker-php-entrypoint", "php-fpm"]

View File

@ -26,38 +26,28 @@ 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}
BRANCH: ${REPO_BRANCH:-main}
APP_NAME: ${APP_NAME}
APP_URL: ${APP_URL}
DB_HOST: ${DB_HOST}
DB_PORT: ${DB_PORT}
DB_HOST: mariadb
DB_PORT: 3306
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}
NGINX_PORT: ${APP_PORT:-80}
networks:
- app_network
networks:
app_network:
driver: bridge

View File

@ -10,14 +10,13 @@ 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 first clone."
echo "[entrypoint] Repository already present, skipping 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; }
@ -38,7 +37,8 @@ npm run build
chown -R www-data:www-data storage bootstrap/cache
chmod -R 775 storage bootstrap/cache
echo "[entrypoint] Starting supervisord ..."
mkdir -p /var/www/logs
supervisord -c /etc/supervisor/conf.d/supervisord.conf &
exec "$@"
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;"

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,20 +16,9 @@ server {
location ~ \.php$ {
include fastcgi_params;
fastcgi_pass app:9000;
fastcgi_pass 127.0.0.1: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 {