Appearance
低代码平台部署步骤
docker-compose 部署
version: "3.7"
services:
nginx:
restart: always
image: 192.168.1.10:5000/tangram/foa5-nginx:1.1.0-SNAPSHOT
ports:
- "6400:80"
volumes:
- /usr/local/foa5:/usr/local/foa5
- /usr/local/foa5/nginx/nginx.conf:/etc/nginx/nginx.conf
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/api/admin/platform/tenant-info/getConfig"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
deploy:
resources:
limits:
memory: 500M
gateway:
restart: always
image: 192.168.1.10:5000/tangram/foa-cloud-gateway:5.4.0-SNAPSHOT
environment:
SPRING_PROFILES_ACTIVE: docker
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
deploy:
resources:
limits:
memory: 1024M
admin:
restart: always
image: 192.168.1.10:5000/tangram/foa-cloud-admin:5.4.0-SNAPSHOT
volumes:
- /usr/local/foa5-test/file:/usr/local/foa5/file
- /usr/local/foa5-test/apps:/usr/local/foa5/apps
environment:
SPRING_PROFILES_ACTIVE: docker
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
deploy:
resources:
limits:
memory: 2048M
auth:
restart: always
image: 192.168.1.10:5000/tangram/foa-cloud-auth:5.4.0-SNAPSHOT
environment:
SPRING_PROFILES_ACTIVE: docker
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
deploy:
resources:
limits:
memory: 1024M
config:
restart: always
volumes:
- /usr/local/foa5-test/config:/usr/local/foa5/config
image: 192.168.1.10:5000/tangram/foa-cloud-config:5.4.0-SNAPSHOT
environment:
SPRING_PROFILES_ACTIVE: docker
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
deploy:
resources:
limits:
memory: 1024M
file:
restart: always
image: 192.168.1.10:5000/tangram/foa-cloud-file:5.4.0-SNAPSHOT
volumes:
- /usr/local/foa5-test/file:/usr/local/foa5/file
environment:
SPRING_PROFILES_ACTIVE: docker
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost/actuator/health"]
interval: 30s
timeout: 5s
retries: 3
start_period: 30s
deploy:
resources:
limits:
memory: 1024M
nacos:
restart: always
image: nacos/nacos-server:2.0.3
environment:
MODE: standalone
PREFER_HOST_MODE: hostname
deploy:
resources:
limits:
memory: 1200M
redis:
restart: always
image: redis:6.2.6-alpine3.15
deploy:
resources:
limits:
memory: 500M
rabbitmq:
restart: always
image: byteflair/rabbitmq-stomp:latest
environment:
RABBITMQ_DEFAULT_USER: user
RABBITMQ_DEFAULT_PASS: password
deploy:
resources:
limits:
memory: 800M
后端部署
低代码平台目前所需要部署的后台服务有:gateway、auth、admin、file、config、serviceEngin
环境变量 | 描述 | 默认值 | 是否必须 |
---|---|---|---|
FOA5_DATASOURCE_DRIVER | 数据源驱动类名 | com.aliyun.polardb.Driver | 是 |
FOA5_DATASOURCE_URL | 数据源url | jdbc:polardb://host:ip/database?currentSchema=public&stringtype=unspecified | 是 |
FOA5_DATASOURCE_USERNAME | 数据源用户名 | 是 | |
FOA5_DATASOURCE_PASSWORD | 数据源密码 | 是 | |
FOA5_DATASOURCE_DBTYPE | 数据源类型 | postgresql | 否 |
FOA5_REDIS_HOST | redis地址 | redis | 否 |
FOA5_REDIS_PORT | redis端口 | 6379 | 否 |
FOA5_REDIS_DATABASE | redis数据库 | 10 | 否 |
FOA5_RABBITMQ_HOST | rabbitmq地址 | rabbitmq | 否 |
FOA5_RABBITMQ_PORT | rabbitmq端口 | 5672 | 否 |
FOA5_RABBITMQ_USERNAME | rabbitmq用户名 | user | 否 |
FOA5_RABBITMQ_PASSWORD | rabbitmq密码 | password | 否 |
FOA5_NACOS_SERVER_ADDR | 注册nacos地址 | nacos | 否 |
FOA5_NACOS_SERVER | 服务注册nacos名称 | 否 |
gateway 项目网关
auth 认证服务,提供各种方式的认证服务
环境变量 | 描述 | 默认值 | 是否必须 |
---|---|---|---|
FOA5_DINGTALK_GATEWAY | dingtalk服务地址 | http://dingtalk | 否 |
USER_DEFAULT_PASSWORD | 用于判断用户是否是默认密码,提醒用户修改密码 | 123456,Czdn_123 | 否 |
- admin 基础模块管理平台
环境变量 | 描述 | 默认值 | 是否必须 |
---|---|---|---|
FOA5_DEFAULT_PASSWORD | 新建用户的默认密码 | Zktx%13579 | 否 |
FOA5_APP_UPLOADOSS | 上架app时是否传输到oss | false | 否 |
FOA5_DINGTALK_GATEWAY | dingtalk服务地址 | http://dingtalk | 否 |
FOA5_RES_OSS_ENDPOINT | 资源文件上传oss的endpoint | 否 | |
FOA5_RES_OSS_ACCESSID | 资源文件上传oss的accessId | 否 | |
FOA5_RES_OSS_ACCESSKEY | 资源文件上传oss的accessKey | 否 | |
FOA5_RES_OSS_BUCKET | 资源文件上传oss的bucket | 否 |
- file 文件管理服务
环境变量 | 描述 | 默认值 | 是否必须 |
---|---|---|---|
FOA5_BASE_PATH | 使用本地存储时存储地址 | 否 | |
FOA5_OSS_ENDPOINT | oss服务endpoint | 否 | |
FOA5_OSS_ACCESSID | oss服务accessId | 否 | |
FOA5_OSS_ACCESSKEY | oss服务accessKey | 否 | |
FOA5_OSS_BUCKET | oss服务bucket | 否 | |
FOA5_OSS_DEFAULTDIR | oss服务默认上传文件夹 | 否 | |
FOA5_OSS_CALLBACKURL | 文件上传回调地址,注意要用外网可访问的地址,需要使用网关转发(即配置网关地址) | 否 | |
FOA5_OSS_DOWNLOADURL | 文件下载地址,用于前端文件预览 | 否 |
- config 配置服务
环境变量 | 描述 | 默认值 | 是否必须 |
---|---|---|---|
FOA5_GIT_URL | 配置git地址 | 否 | |
FOA5_GIT_USERNAME | 配置git用户名 | 否 | |
FOA5_GIT_PASSWORD | 配置git密码 | 否 | |
FOA5_GIT_ROOTTOKEN | 配置git rootToken | 否 | |
FOA5_GIT_REGULARTOKEN | 配置git regularToken | 否 | |
FOA5_GIT_DEFAULTNAMESPACEID | 配置git defaultNamespaceId | 否 | |
FOA5_GIT_GROUP | 配置git group | 否 | |
FOA5_GIT_BASEPATH | 配置git 本地目录 | 否 | |
FOA5_OSS_DEFAULTDIR | oss默认文件夹,与file配置相同 | 否 |
- serviceEngin 服务引擎
前端部署
需要部署前台镜像 foa5-nginx:
dist 前台打包html
njs oss转发验证js
oss环境下从前台访问oss资源需要配置,修改accessKeyId、accessKeySecret、bucket
- nginx.conf 前台nginx配置文件
增加 location,设置nginx转发到oss路径,需要使用 bucket.endpoint 地址 例如:
location /apps/ {
proxy_pass https://foa5-oss.oss-cn-hangzhou-zjzwy01-d01-a.cloud-inner.zj.gov.cn/apps/;
# 设置反向代理时请求header, 也是本方案核心内容
# $ossDate, $ossAuth 变量名需和nginx.conf文件内变量名一致
proxy_set_header Date $ossDate;
proxy_set_header Authorization $ossAuth;
}
公共服务
- nacos 注册中心
必须先于服务启动,如果服务没有配置健康检查且nacos启动晚于服务,可能导致服务启动连接nacos报错,启动失败
- redis
集群docker环境下必须,auth的用户授权存储在redis中;serviceEngin应用上架后的接口数据会缓存
- rabbitmq
非必须,与mq服务搭配使用
数据库还原
- 使用pgadmin还原数据库文件
需要安装edb和pgadmin,在pgadmin中设置二进制路径,选择edb的bin目录;注意pgadmin导入导出必须在Schema层,在database上可能会因为权限问题失败