use docker env on .env file

This commit is contained in:
Linus Xiong 2024-12-08 00:53:43 -05:00
parent 1d9cb2295c
commit c4595bc665
No known key found for this signature in database
2 changed files with 51 additions and 45 deletions

69
.env.example Executable file → Normal file
View File

@ -1,43 +1,40 @@
APP_NAME=XBoard
APP_ENV=local
APP_KEY=base64:PZXk5vTuTinfeEVG5FpYv2l6WEhLsyvGpiWK7IgJJ60=
APP_DEBUG=false
APP_URL=http://localhost
APP_NAME=${APP_NAME:-XBoard}
APP_ENV=${APP_ENV:-local}
APP_KEY=${APP_KEY:-base64:PZXk5vTuTinfeEVG5FpYv2l6WEhLsyvGpiWK7IgJJ60=}
APP_DEBUG=${APP_DEBUG:-false}
APP_URL=${APP_URL:-http://localhost}
ADMIN_SETTING_CACHE=${ADMIN_SETTING_CACHE:-60}
LOG_CHANNEL=${LOG_CHANNEL:-stack}
ADMIN_SETTING_CACHE=60 #设置缓存时间(单位秒)
LOG_CHANNEL=stack
DB_CONNECTION=${DB_CONNECTION:-mysql}
DB_HOST=${DB_HOST:-127.0.0.1}
DB_PORT=${DB_PORT:-3306}
DB_DATABASE=${DB_DATABASE:-xboard}
DB_USERNAME=${DB_USERNAME:-root}
DB_PASSWORD=${DB_PASSWORD:-}
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=xboard
DB_USERNAME=root
DB_PASSWORD=
REDIS_HOST=${REDIS_HOST:-127.0.0.1}
REDIS_PASSWORD=${REDIS_PASSWORD:-null}
REDIS_PORT=${REDIS_PORT:-6379}
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
BROADCAST_DRIVER=${BROADCAST_DRIVER:-log}
CACHE_DRIVER=${CACHE_DRIVER:-redis}
QUEUE_CONNECTION=${QUEUE_CONNECTION:-redis}
#默认将队列驱动和缓存驱动都修改为了redis请务必安装redis
BROADCAST_DRIVER=log
CACHE_DRIVER=redis
QUEUE_CONNECTION=redis
MAIL_DRIVER=${MAIL_DRIVER:-smtp}
MAIL_HOST=${MAIL_HOST:-smtp.mailtrap.io}
MAIL_PORT=${MAIL_PORT:-2525}
MAIL_USERNAME=${MAIL_USERNAME:-null}
MAIL_PASSWORD=${MAIL_PASSWORD:-null}
MAIL_ENCRYPTION=${MAIL_ENCRYPTION:-null}
MAIL_FROM_ADDRESS=${MAIL_FROM_ADDRESS:-null}
MAIL_FROM_NAME=${MAIL_FROM_NAME:-null}
MAIL_DRIVER=smtp
MAIL_HOST=smtp.mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
MAIL_FROM_ADDRESS=null
MAIL_FROM_NAME=null
MAILGUN_DOMAIN=
MAILGUN_SECRET=
MAILGUN_DOMAIN=${MAILGUN_DOMAIN:-}
MAILGUN_SECRET=${MAILGUN_SECRET:-}
# google cloud stoage
ENABLE_AUTO_BACKUP_AND_UPDATE=false
GOOGLE_CLOUD_KEY_FILE=config/googleCloudStorageKey.json
GOOGLE_CLOUD_STORAGE_BUCKET=
ENABLE_AUTO_BACKUP_AND_UPDATE=${ENABLE_AUTO_BACKUP_AND_UPDATE:-false}
GOOGLE_CLOUD_KEY_FILE=${GOOGLE_CLOUD_KEY_FILE:-config/googleCloudStorageKey.json}
GOOGLE_CLOUD_STORAGE_BUCKET=${GOOGLE_CLOUD_STORAGE_BUCKET:-}
# 用于阻止重复安装
INSTALLED=false
INSTALLED=${INSTALLED:-false}

View File

@ -2,16 +2,25 @@ FROM phpswoole/swoole:php8.1-alpine
COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
# 安装基础软件包,包括 gettext (提供 envsubst)
RUN install-php-extensions pcntl bcmath inotify \
&& apk --no-cache add shadow supervisor nginx sqlite nginx-mod-http-brotli mysql-client git patch \
&& addgroup -S -g 1000 www && adduser -S -G www -u 1000 www
#复制项目文件以及配置文件
&& apk --no-cache add shadow supervisor nginx sqlite nginx-mod-http-brotli mysql-client git patch gettext \
&& addgroup -S -g 1000 www && adduser -S -G www -u 1000 www
# 设置工作目录
WORKDIR /www
# 复制项目文件和配置文件
COPY .docker /
COPY . /www
RUN composer install --optimize-autoloader --no-cache --no-dev \
&& php artisan storage:link \
&& chown -R www:www /www \
&& chmod -R 775 /www
COPY .env.example /www/.env.example
CMD /usr/bin/supervisord --nodaemon -c /etc/supervisor/supervisord.conf
# 生成环境变量文件并安装依赖
RUN envsubst < /www/.env.template > /www/.env \
&& composer install --optimize-autoloader --no-cache --no-dev \
&& php artisan storage:link \
&& chown -R www:www /www \
&& chmod -R 775 /www
# 启动 supervisor
CMD /usr/bin/supervisord --nodaemon -c /etc/supervisor/supervisord.conf