Dockerfile更新 v2.1

This commit is contained in:
gsw945
2022-07-25 11:56:55 +08:00
parent b00536f927
commit 4d9fe06436
3 changed files with 59 additions and 99 deletions

View File

@@ -1,36 +1,31 @@
#!/bin/bash
set -eux
# 默认资源
if [ ! -d "/mindoc/conf" ]; then mkdir -p "/mindoc/conf" ; fi
if [[ -z "$(ls -A -- "/mindoc/conf")" ]] ; then cp -r "/mindoc/__default_assets__/conf" "/mindoc/" ; fi
if [ ! -d "/mindoc/static" ]; then mkdir -p "/mindoc/static" ; fi
if [[ -z "$(ls -A -- "/mindoc/static")" ]] ; then cp -r "/mindoc/__default_assets__/static" "/mindoc/" ; fi
if [ ! -d "/mindoc/views" ]; then mkdir -p "/mindoc/views" ; fi
if [[ -z "$(ls -A -- "/mindoc/views")" ]] ; then cp -r "/mindoc/__default_assets__/views" "/mindoc/" ; fi
if [ ! -d "/mindoc/uploads" ]; then mkdir -p "/mindoc/uploads" ; fi
if [[ -z "$(ls -A -- "/mindoc/uploads")" ]] ; then cp -r "/mindoc/__default_assets__/uploads" "/mindoc/" ; fi
# 如果配置文件不存在就复制
cp --no-clobber /mindoc/conf/app.conf.example /mindoc/conf/app.conf
# 数据库等初始化
/mindoc/mindoc_linux_amd64 install
# 导出同步检查
mkdir -p /mindoc-sync-host
if ! [ -f "/mindoc-sync-host/sync.sh" ]; then
# 同步方向: docker->HOST 或 HOST -> docker
# echo "export MINDOC_SYNC=" >> /mindoc-sync-host/sync.sh # 不同步
echo "export MINDOC_SYNC=docker2host" >> /mindoc-sync-host/sync.sh # 默认 docker->HOST
# 同步内容
# conf: 配置
# database: sqlite方式数据库
# runtime: 运行时数据(日志等)
# static: 静态文件
# uploads: 上传文件
# views: 页面视图
# echo "export SYNC_LIST='conf;database;runtime;static;uploads;views'" >> /mindoc-sync-host/sync.sh # 同步所有内容
# echo "export SYNC_LIST=" >> /mindoc-sync-host/sync.sh # 不同步任何内容
echo "export SYNC_LIST='conf;database;uploads'" >> /mindoc-sync-host/sync.sh # 同步conf、database、uploads
# 同步操作(sync/copy/sync --dry-run 等具体参考rclone文档host2docker务必谨慎操作)
# echo "export SYNC_ACTION=sync --dry-run" >> /mindoc-sync-host/sync.sh # 无操作且仅显示同步文件信息(--dry-run)
echo "export SYNC_ACTION=sync" >> /mindoc-sync-host/sync.sh # 默认同步
# 同步脚本
echo "source /mindoc/sync_host.sh" >> /mindoc-sync-host/sync.sh
fi
# 同步操作
source /mindoc-sync-host/sync.sh
# 运行
/mindoc/mindoc_linux_amd64
/mindoc/mindoc_linux_amd64
# # Debug Dockerfile
# while [ 1 ]
# do
# echo "log ..."
# sleep 5s
# done