KTVSinglePublisher V.0.0.1

調整 不自動 git pull 改手動
移除 DB 建置
This commit is contained in:
allen.yan 2025-06-18 15:02:28 +08:00
parent 7660b16a2e
commit ceaf8a0601
7 changed files with 6 additions and 95 deletions

View File

@ -4,8 +4,3 @@ APP_DOMAIN=hzd.superstar.dnsnet.cc
APP_URL=http://hzd.superstar.dnsnet.cc APP_URL=http://hzd.superstar.dnsnet.cc
REPO_URL=http://47.251.18.130:3000/Leecheng/KTVSingle.git REPO_URL=http://47.251.18.130:3000/Leecheng/KTVSingle.git
# Database
DB_DATABASE=KTVSingle
DB_USERNAME=KTVSingle
DB_PASSWORD=ESM7yTPMnavFmbBH

View File

@ -23,7 +23,6 @@ COPY docker/php/php.ini /usr/local/etc/php/conf.d/custom-php.ini
COPY docker/php/opcache.ini /usr/local/etc/php/conf.d/opcache.ini 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/supervisord.conf /etc/supervisor/conf.d/supervisord.conf
COPY docker/entrypoint.sh /entrypoint.sh 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 COPY docker/nginx/default.conf.template /etc/nginx/templates/default.conf.template
COPY docker/logrotate/laravel /etc/logrotate.d/app/laravel.conf COPY docker/logrotate/laravel /etc/logrotate.d/app/laravel.conf
RUN chmod 644 /etc/logrotate.d/app/laravel.conf RUN chmod 644 /etc/logrotate.d/app/laravel.conf

View File

@ -1,32 +1,13 @@
services: services:
mariadb:
image: mariadb:10.6
container_name: ${APP_NAME}_db
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${DB_PASSWORD}
MYSQL_DATABASE: ${DB_DATABASE}
MYSQL_USER: ${DB_USERNAME}
MYSQL_PASSWORD: ${DB_PASSWORD}
volumes:
- ./data/mariadb/lib:/var/lib/mysql
- ./data/mariadb/conf.d:/etc/mysql/conf.d
- ./data/logs/mariadb:/var/log/mysql
- ./docker/mariadb/my.cnf:/etc/mysql/conf.d/custom.cnf
ports:
- "3306:3306"
networks:
- app_network
app: app:
build: build:
context: . context: .
dockerfile: Dockerfile dockerfile: Dockerfile
container_name: ${APP_NAME}_app container_name: ${APP_NAME}_app
volumes: volumes:
- ./data/html:/var/www/html - ../data/html:/var/www/html
- ./data/logs/php:/var/www/logs - ../data/logs/php:/var/www/logs
- ./data/logs/nginx/:/var/log/nginx - ../data/logs/nginx/:/var/log/nginx
ports: ports:
- "${APP_PORT:-80}:${APP_PORT:-80}" - "${APP_PORT:-80}:${APP_PORT:-80}"
depends_on: depends_on:
@ -36,11 +17,6 @@ services:
BRANCH: ${REPO_BRANCH:-main} BRANCH: ${REPO_BRANCH:-main}
APP_NAME: ${APP_NAME} APP_NAME: ${APP_NAME}
APP_URL: ${APP_URL} APP_URL: ${APP_URL}
DB_HOST: mariadb
DB_PORT: 3306
DB_DATABASE: ${DB_DATABASE}
DB_USERNAME: ${DB_USERNAME}
DB_PASSWORD: ${DB_PASSWORD}
NGINX_HOST: ${APP_DOMAIN} NGINX_HOST: ${APP_DOMAIN}
NGINX_PORT: ${APP_PORT:-80} NGINX_PORT: ${APP_PORT:-80}
networks: networks:

View File

@ -1,24 +0,0 @@
#!/usr/bin/env bash
set -e
BRANCH=${BRANCH:-main}
TARGET_DIR=/var/www/html
echo "[git-worker] Loop started for branch $BRANCH"
while true; do
cd "$TARGET_DIR"
git remote update
LOCAL=$(git rev-parse @)
REMOTE=$(git rev-parse "origin/$BRANCH")
if [ "$LOCAL" != "$REMOTE" ]; then
echo "[git-worker] Detected new commits, pulling..."
git pull origin "$BRANCH"
echo "[git-worker] Restarting queue-worker..."
supervisorctl restart queue-worker
else
echo "[git-worker] No changes."
fi
sleep 300
done

View File

@ -10,23 +10,19 @@ if [ -z "$(ls -A "$TARGET_DIR")" ]; then
echo "[entrypoint] Cloning $BRANCH from $REPO_URL ..." echo "[entrypoint] Cloning $BRANCH from $REPO_URL ..."
git clone --branch "$BRANCH" "$REPO_URL" "$TARGET_DIR" git clone --branch "$BRANCH" "$REPO_URL" "$TARGET_DIR"
else else
echo "[entrypoint] Repository already present, skipping clone." echo "[entrypoint] Repository already present, pulling."
git pull origin "$BRANCH"
fi fi
cd "$TARGET_DIR" cd "$TARGET_DIR"
# 2) Laravel 基礎安裝 # 2) Laravel 基礎安裝
composer install --no-interaction --prefer-dist [ -d vendor ] || composer install --no-interaction --prefer-dist
[ -f .env ] || cp .env.example .env [ -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; } update_env() { local k=$1 v=$2; grep -q "^$k=" .env && sed -i "s|^$k=.*|$k=$v|" .env || echo "$k=$v" >> .env; }
update_env APP_NAME "$APP_NAME" update_env APP_NAME "$APP_NAME"
update_env APP_URL "${APP_URL%/}" update_env APP_URL "${APP_URL%/}"
update_env DB_HOST "$DB_HOST"
update_env DB_PORT "$DB_PORT"
update_env DB_DATABASE "$DB_DATABASE"
update_env DB_USERNAME "$DB_USERNAME"
update_env DB_PASSWORD "$DB_PASSWORD"
php artisan key:generate --force php artisan key:generate --force
php artisan migrate --force php artisan migrate --force

View File

@ -1,23 +0,0 @@
[mysqld]
log_error = /var/log/mysql/error.log
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 2
# 使用 UTF-8 編碼
character-set-server=utf8mb4
collation-server=utf8mb4_unicode_ci
# 提升最大連線數
max_connections=200
# InnoDB 設定
default-storage-engine=InnoDB
innodb_file_per_table=1
innodb_buffer_pool_size=256M
# 安全 SQL 模式
sql_mode=STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION
# 時區
default_time_zone='+08:00'

View File

@ -21,14 +21,6 @@ autorestart=true
stdout_logfile=/var/www/logs/schedule.log stdout_logfile=/var/www/logs/schedule.log
stderr_logfile=/var/www/logs/schedule_error.log stderr_logfile=/var/www/logs/schedule_error.log
[program:git-worker]
command=/bin/sh /entrypoint.git.sh
autostart=true
autorestart=true
stdout_logfile=/var/www/logs/git-worker.log
stderr_logfile=/var/www/logs/git-worker_error.log
startsecs=0
[program:cron] [program:cron]
command=/usr/sbin/cron -f command=/usr/sbin/cron -f
autostart=true autostart=true