mirror of https://github.com/fantasticit/think.git
chore: update docker config
parent
a80dc769ce
commit
a0c3bf206b
|
@ -21,3 +21,4 @@ tsconfig.tsbuildinfo
|
||||||
scripts/update.sh
|
scripts/update.sh
|
||||||
|
|
||||||
output
|
output
|
||||||
|
runtime
|
||||||
|
|
11
Dockerfile
11
Dockerfile
|
@ -1,18 +1,13 @@
|
||||||
FROM node:18-alpine as builder
|
FROM node:18-alpine as builder
|
||||||
COPY . /app/
|
COPY . /app/
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
ARG EIP=mrdoc.fun
|
|
||||||
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories
|
||||||
RUN npm config set registry https://registry.npmmirror.com
|
RUN npm config set registry https://registry.npmmirror.com
|
||||||
RUN npm i -g pm2 @nestjs/cli pnpm
|
RUN npm i -g pm2 @nestjs/cli pnpm
|
||||||
RUN apk --no-cache add bash
|
RUN apk --no-cache add bash
|
||||||
RUN sed -i "s/localhost/$EIP/g" /app/docker/prod-sample.yaml
|
|
||||||
RUN cp -f /app/docker/prod-sample.yaml /app/config/prod.yaml
|
|
||||||
RUN bash build-output.sh
|
RUN bash build-output.sh
|
||||||
|
|
||||||
|
|
||||||
FROM node:18-alpine as prod
|
FROM node:18-alpine as prod
|
||||||
LABEL maintainer="www.mrdoc.fun"
|
|
||||||
ENV TZ=Asia/Shanghai
|
ENV TZ=Asia/Shanghai
|
||||||
COPY --from=builder /app/docker/* /app/docker/
|
COPY --from=builder /app/docker/* /app/docker/
|
||||||
COPY --from=builder /app/output/ /app/
|
COPY --from=builder /app/output/ /app/
|
||||||
|
@ -22,7 +17,7 @@ RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositorie
|
||||||
RUN npm config set registry https://registry.npmmirror.com
|
RUN npm config set registry https://registry.npmmirror.com
|
||||||
RUN set -x \
|
RUN set -x \
|
||||||
&& apk update \
|
&& apk update \
|
||||||
&& apk add --no-cache tzdata redis \
|
&& apk add --no-cache tzdata redis \
|
||||||
&& chmod +x /app/docker/start.sh \
|
&& chmod +x /app/docker/start.sh \
|
||||||
&& npm i -g pm2 @nestjs/cli pnpm \
|
&& npm i -g pm2 @nestjs/cli pnpm \
|
||||||
&& rm -rf /var/cache/apk/*
|
&& rm -rf /var/cache/apk/*
|
||||||
|
|
|
@ -37,8 +37,8 @@ server:
|
||||||
db:
|
db:
|
||||||
mysql:
|
mysql:
|
||||||
host: '127.0.0.1'
|
host: '127.0.0.1'
|
||||||
username: 'root'
|
username: 'think'
|
||||||
password: 'root'
|
password: 'think'
|
||||||
database: 'think'
|
database: 'think'
|
||||||
port: 3306
|
port: 3306
|
||||||
charset: 'utf8mb4'
|
charset: 'utf8mb4'
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
# 生产环境docker示例配置
|
# 开发环境配置
|
||||||
client:
|
client:
|
||||||
port: 5001
|
port: 5001
|
||||||
assetPrefix: '/'
|
assetPrefix: '/'
|
||||||
apiUrl: 'http://localhost:5002/api'
|
apiUrl: 'http://localhost:5002/api'
|
||||||
collaborationUrl: 'ws://localhost:5003/think/wss'
|
collaborationUrl: 'ws://localhost:5003'
|
||||||
# 以下为页面 meta 配置
|
# 以下为页面 meta 配置
|
||||||
seoAppName: '云策文档'
|
seoAppName: '云策文档'
|
||||||
seoDescription: '云策文档是一款开源知识管理工具。通过独立的知识库空间,结构化地组织在线协作文档,实现知识的积累与沉淀,促进知识的复用与流通。'
|
seoDescription: '云策文档是一款开源知识管理工具。通过独立的知识库空间,结构化地组织在线协作文档,实现知识的积累与沉淀,促进知识的复用与流通。'
|
||||||
seoKeywords: '云策文档,协作,文档,前端面试题,fantasticit,https://github.com/fantasticit/think'
|
seoKeywords: '云策文档,协作,文档,fantasticit,https://github.com/fantasticit/think'
|
||||||
# 预先连接的来源,空格分割(比如图片存储服务器)
|
# 预先连接的来源,空格分割(比如图片存储服务器)
|
||||||
dnsPrefetch: '//wipi.oss-cn-shanghai.aliyuncs.com'
|
dnsPrefetch: '//wipi.oss-cn-shanghai.aliyuncs.com'
|
||||||
# 站点地址(如:http://think.codingit.cn/),一定要设置,否则会出现 cookie、跨域等问题
|
# 站点地址(如:http://think.codingit.cn/),一定要设置,否则会出现 cookie、跨域等问题
|
||||||
|
@ -23,22 +23,31 @@ server:
|
||||||
enableRateLimit: true # 是否限流
|
enableRateLimit: true # 是否限流
|
||||||
rateLimitWindowMs: 60000 # 限流时间
|
rateLimitWindowMs: 60000 # 限流时间
|
||||||
rateLimitMax: 1000 # 单位限流时间内单个 ip 最大访问数量
|
rateLimitMax: 1000 # 单位限流时间内单个 ip 最大访问数量
|
||||||
|
email: # 邮箱服务,参考 http://help.163.com/09/1223/14/5R7P6CJ600753VB8.html?servCode=6010376 获取 SMTP 配置
|
||||||
|
host: ''
|
||||||
|
port: 465
|
||||||
|
user: ''
|
||||||
|
password: ''
|
||||||
|
admin:
|
||||||
|
name: 'sytemadmin' # 注意修改
|
||||||
|
password: 'sytemadmin' # 注意修改
|
||||||
|
email: 'sytemadmin@think.com' # 注意修改为真实邮箱地址
|
||||||
|
|
||||||
# 数据库配置
|
# 数据库配置
|
||||||
db:
|
db:
|
||||||
mysql:
|
mysql:
|
||||||
host: 'mysql-with-think'
|
host: 'mysql-for-think'
|
||||||
username: 'jonnyan404'
|
username: 'think'
|
||||||
password: 'www.mrdoc.fun'
|
password: 'think'
|
||||||
database: 'think'
|
database: 'think'
|
||||||
port: 3306
|
port: 3306
|
||||||
charset: 'utf8mb4'
|
charset: 'utf8mb4'
|
||||||
timezone: '+08:00'
|
timezone: '+08:00'
|
||||||
synchronize: true
|
synchronize: true
|
||||||
redis:
|
redis:
|
||||||
host: '127.0.0.1'
|
host: 'redis-for-think'
|
||||||
port: '6379'
|
port: '6379'
|
||||||
password: ''
|
password: 'root'
|
||||||
|
|
||||||
# oss 文件存储服务
|
# oss 文件存储服务
|
||||||
oss:
|
oss:
|
|
@ -1,44 +1,58 @@
|
||||||
version: "3"
|
version: '3'
|
||||||
services:
|
services:
|
||||||
thinkdoc:
|
think:
|
||||||
build:
|
build:
|
||||||
context: .
|
context: .
|
||||||
args:
|
|
||||||
EIP: x.x.x.x # api接口IP,必须设置,可以是 IP 或者域名.
|
|
||||||
image: think
|
image: think
|
||||||
container_name: thinkdoc
|
container_name: think
|
||||||
#restart: always
|
|
||||||
volumes:
|
volumes:
|
||||||
- /path/to/you/dir/config:/app/config # 请注意修改 /path/to/you/dir 为云策文档配置文件目录.
|
- ./config:/app/config
|
||||||
- /path/to/you/dir/static:/app/packages/server/static # 请注意修改 /path/to/you/dir 为云策文档附件存储目录.
|
- ./runtime/static:/app/packages/server/static
|
||||||
environment:
|
environment:
|
||||||
- TZ=Asia/Shanghai
|
- TZ=Asia/Shanghai
|
||||||
ports:
|
ports:
|
||||||
- "5001-5003:5001-5003"
|
- '5001-5003:5001-5003'
|
||||||
depends_on:
|
depends_on:
|
||||||
- mysql
|
- mysql
|
||||||
|
- redis
|
||||||
|
networks:
|
||||||
|
- think
|
||||||
mysql:
|
mysql:
|
||||||
image: mysql:5.7
|
image: mysql:5.7
|
||||||
container_name: mysql-with-think
|
restart: always
|
||||||
#restart: always
|
container_name: mysql-for-think
|
||||||
volumes:
|
volumes:
|
||||||
- /path/to/you/dir/mysql:/var/lib/mysql # 请注意修改 /path/to/you/dir 为您要存储mysql数据的目录绝对路径.
|
- ./runtime/mysql:/var/lib/mysql
|
||||||
environment:
|
environment:
|
||||||
- TZ=Asia/Shanghai
|
- TZ=Asia/Shanghai
|
||||||
- MYSQL_ROOT_PASSWORD=Jonnyan404!
|
- MYSQL_ROOT_PASSWORD=root
|
||||||
- MYSQL_DATABASE=think
|
- MYSQL_DATABASE=think
|
||||||
- MYSQL_USER=jonnyan404
|
- MYSQL_USER=think
|
||||||
- MYSQL_PASSWORD=www.mrdoc.fun
|
- MYSQL_PASSWORD=think
|
||||||
expose:
|
expose:
|
||||||
- "3306"
|
- '3306'
|
||||||
ports:
|
ports:
|
||||||
- "63306:3306" # 如果不需要外部连接mysql,可注释此行+上一行.
|
- '3306:3306'
|
||||||
command:
|
command:
|
||||||
- "--character-set-server=utf8mb4"
|
- '--character-set-server=utf8mb4'
|
||||||
- "--collation-server=utf8mb4_unicode_ci"
|
- '--collation-server=utf8mb4_unicode_ci'
|
||||||
# Volumes for persisting data, see https://docs.docker.com/engine/admin/volumes/volumes/
|
networks:
|
||||||
#volumes:
|
- think
|
||||||
# thinkdoc-data:
|
redis:
|
||||||
# driver: local
|
image: redis:latest
|
||||||
# mysql-data:
|
restart: always
|
||||||
# driver: local
|
container_name: redis-for-think
|
||||||
|
command: >
|
||||||
|
--requirepass root
|
||||||
|
expose:
|
||||||
|
- '6379'
|
||||||
|
ports:
|
||||||
|
- '6379:6379'
|
||||||
|
volumes:
|
||||||
|
- ./runtime/redis:/data
|
||||||
|
privileged: true
|
||||||
|
networks:
|
||||||
|
- think
|
||||||
|
networks:
|
||||||
|
think:
|
||||||
|
driver: bridge
|
||||||
|
|
|
@ -1,14 +1,14 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
### Author:jonnyan404
|
### Author:jonnyan404
|
||||||
### date:2022年5月22日
|
### date:2022年5月22日
|
||||||
|
|
||||||
CONFIG_FILE='/app/config/prod.yaml'
|
CONFIG_FILE='/app/config/prod.yaml'
|
||||||
|
|
||||||
if [ ! -f $CONFIG_FILE ]; then
|
if [ ! -f $CONFIG_FILE ]; then
|
||||||
echo "#####Generating configuration file#####"
|
cp -f /app/config/docker-prod-sample.yaml $CONFIG_FILE
|
||||||
cp /app/docker/prod-sample.yaml $CONFIG_FILE
|
|
||||||
else
|
else
|
||||||
echo "#####Configuration file already exists#####"
|
echo ""
|
||||||
fi
|
fi
|
||||||
redis-server --daemonize yes
|
|
||||||
pnpm run pm2
|
pnpm run pm2
|
||||||
pm2 logs
|
pm2 logs
|
||||||
|
|
Loading…
Reference in New Issue