KTVSinglePublisher V.0.0.1
調整 不自動 git pull 改手動 移除 DB 建置
This commit is contained in:
parent
7660b16a2e
commit
ceaf8a0601
@ -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
|
|
||||||
|
@ -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
|
||||||
|
@ -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:
|
||||||
|
@ -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
|
|
@ -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
|
||||||
|
@ -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'
|
|
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user