Compare commits

...

11 Commits

Author SHA1 Message Date
JEECG
8f7e891104 语言调整 2025-01-02 16:29:00 +08:00
JEECG
8775cc21eb docker一键安装 2025-01-02 16:08:28 +08:00
JEECG
5122e47a08 docker启动 2025-01-02 15:53:57 +08:00
JEECG
7e59cf30bd 1 2025-01-02 15:52:01 +08:00
JEECG
62c52fa4f3 快速启动文档 2025-01-02 15:42:49 +08:00
JEECG
1c102d9759 docker启动 2025-01-02 15:38:46 +08:00
JEECG
51ab3b281b docker启动 2025-01-02 15:38:06 +08:00
JEECG
25bb630be7 快速启动 2025-01-02 15:35:41 +08:00
JEECG
3cc3ec0caf 快速启动文档 2025-01-02 15:28:49 +08:00
JEECG
6cad9567c4 docker快速启动脚本 2025-01-02 15:19:33 +08:00
JEECG
b5ebb2f52c 升级2.0.1版:简化前端配置(无需配置后台地址)、提供docker快速启动脚本 2025-01-02 15:11:19 +08:00
15 changed files with 460 additions and 3 deletions

5
.gitattributes vendored Normal file
View File

@@ -0,0 +1,5 @@
*.js linguist-language=Java
*.css linguist-language=Java
*.ts linguist-language=vue
*.html linguist-language=vue
*.sql linguist-language=Java

1
.gitignore vendored
View File

@@ -17,6 +17,7 @@
*.rar
*start-2.0.jar
dist
.idea
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*

View File

@@ -1,5 +1,14 @@
## 敲敲云零代码
当前最新版本: 2.0.1发布日期2025-01-02
[![](https://img.shields.io/badge/Author-北京敲敲云-orange.svg)](https://qiaoqiaoyun.com)
[![](https://img.shields.io/badge/version-2.0.1-brightgreen.svg)](https://gitee.com/jeecg/qiaoqiaoyun)
敲敲云是一款免费的零代码平台,帮助企业快速搭建个性化业务应用!用户无需任何代码,即可搭建出符合业务需求的个性化应用。敲敲云拥有完善的应用搭建能力、表单引擎、流程引擎、仪表盘引擎,可满足企业的正常需求。
**敲敲云可以做什么?**
@@ -11,14 +20,18 @@
- 5.可以用它当原型设计软件,在客户现场傻瓜式拖拖拽拽出一个系统
### 部署包下载
### 快速启动
- 下载地址: https://gitee.com/jeecg/qiaoqiaoyun
#### 手工安装启动
- 快速搭建启动https://help.qiaoqiaoyun.com/open/InstallStart.html
![](https://oscimg.oschina.net/oscnet/up-af24689f19386ba17ca0d1ab3c108ccc9dc.png)
#### Docker快速启动
- 一键安装敲敲云https://help.qiaoqiaoyun.com/open/docker.html

View File

@@ -0,0 +1,14 @@
FROM registry.cn-hangzhou.aliyuncs.com/jeecgdocker/alpine-java:8_server-jre_unlimited
MAINTAINER jeecgos@163.com
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
WORKDIR /qiaoqiaoyun
EXPOSE 8080
ADD ./config_docker/application-prod.yml ./config/application-prod.yml
ADD qiaoqiaoyun-start-2.0.jar ./
CMD sleep 30;java -Djava.security.egd=file:/dev/./urandom -javaagent:qiaoqiaoyun-start-2.0.jar="-pwd 5eez3Vqil97n" -jar -Dfile.encoding=UTF-8 qiaoqiaoyun-start-2.0.jar

View File

@@ -0,0 +1,6 @@
# 安装 MongoDB
FROM registry.cn-hangzhou.aliyuncs.com/jeecgdocker/mongo AS mongo
COPY ./config_docker/init-mongo.js /docker-entrypoint-initdb.d/
CMD ["mongod"]

View File

@@ -0,0 +1,9 @@
FROM registry.cn-hangzhou.aliyuncs.com/jeecgdocker/mysql:8.0.19
MAINTAINER jeecgos@163.com
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY ./qiaoqiaoyun.sql /docker-entrypoint-initdb.d

View File

@@ -0,0 +1,31 @@
# 启动nginx部署前端
FROM registry.cn-hangzhou.aliyuncs.com/dockerhub_mirror/nginx
MAINTAINER jeecgos@163.com
VOLUME /tmp
ENV LANG en_US.UTF-8
RUN echo "server { \
listen 80; \
location /qiaoqiaoyun/ { \
proxy_pass http://qiaoqiaoyun-system:8080/; \
proxy_redirect off; \
proxy_set_header Host 127.0.0.1; \
proxy_set_header X-Real-IP \$remote_addr; \
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; \
} \
#解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \
location / { \
root /var/www/html/; \
index index.html index.htm; \
if (!-e \$request_filename) { \
rewrite ^(.*)\$ /index.html?s=\$1 last; \
break; \
} \
} \
access_log /var/log/nginx/access.log ; \
} " > /etc/nginx/conf.d/default.conf \
&& mkdir -p /var/www \
&& mkdir -p /var/www/html
ADD dist/ /var/www/html/
EXPOSE 80
EXPOSE 443

View File

@@ -170,6 +170,8 @@ mybatis-plus:
minidao:
base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
jeecg:
# 自定义资源前缀
custom-resource-prefix-path: qiaoqiaoyun
# 平台上线安全配置
firewall:
# 数据源安全 (开启后Online报表和图表、积木报表的数据源为必填)

View File

@@ -0,0 +1,291 @@
server:
port: 8080
tomcat:
max-swallow-size: -1
error:
include-exception: true
include-stacktrace: ALWAYS
include-message: ALWAYS
servlet:
context-path: /
compression:
enabled: true
min-response-size: 1024
mime-types: application/javascript,application/json,application/xml,text/html,text/xml,text/plain,text/css,image/*
management:
endpoints:
web:
exposure:
include: metrics,httptrace
spring:
servlet:
multipart:
max-file-size: 20MB
max-request-size: 20MB
mail:
host: smtp.163.com
username: jeecgos@163.com
password: ??
properties:
mail:
smtp:
auth: true
starttls:
enable: true
required: true
## quartz定时任务,采用数据库方式
quartz:
job-store-type: jdbc
initialize-schema: embedded
#定时任务启动开关true-开 false-关
auto-startup: true
#延迟1秒启动定时任务
startup-delay: 1s
#启动时更新己存在的Job
overwrite-existing-jobs: true
properties:
org:
quartz:
scheduler:
instanceName: MyScheduler
instanceId: AUTO
jobStore:
class: org.springframework.scheduling.quartz.LocalDataSourceJobStore
driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate
tablePrefix: QRTZ_
isClustered: true
misfireThreshold: 12000
clusterCheckinInterval: 15000
threadPool:
class: org.quartz.simpl.SimpleThreadPool
threadCount: 10
threadPriority: 5
threadsInheritContextClassLoaderOfInitializingThread: true
#json 时间戳统一转换
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
jpa:
open-in-view: false
aop:
proxy-target-class: true
#配置freemarker
freemarker:
# 设置模板后缀名
suffix: .ftl
# 设置文档类型
content-type: text/html
# 设置页面编码格式
charset: UTF-8
# 设置页面缓存
cache: false
prefer-file-system-access: false
# 设置ftl文件路径
template-loader-path:
- classpath:/templates
template_update_delay: 0
# 设置静态文件路径js,css等
mvc:
static-path-pattern: /**
#Spring Boot 2.6+后映射匹配的默认策略已从AntPathMatcher更改为PathPatternParser,需要手动指定为ant-path-matcher
pathmatch:
matching-strategy: ant_path_matcher
resource:
static-locations: classpath:/static/,classpath:/public/
autoconfigure:
exclude:
- com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceAutoConfigure
datasource:
druid:
stat-view-servlet:
enabled: true
loginUsername: admin
loginPassword: 123456
allow:
web-stat-filter:
enabled: true
dynamic:
druid: # 全局druid参数绝大部分值和默认保持一致。(现已支持的参数如下,不清楚含义不要乱设置)
# 连接池的配置信息
# 初始化大小,最小,最大
initial-size: 5
min-idle: 5
maxActive: 1000
# 配置获取连接等待超时的时间
maxWait: 60000
# 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一个连接在池中最小生存的时间,单位是毫秒
minEvictableIdleTimeMillis: 300000
validationQuery: SELECT 1
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 打开PSCache并且指定每个连接上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置监控统计拦截的filters去掉后监控界面sql无法统计'wall'用于防火墙
filters: stat,wall,slf4j
# 打开mergeSql功能慢SQL记录
stat:
merge-sql: true
slow-sql-millis: 5000
datasource:
master:
url: jdbc:mysql://qiaoqiaoyun-mysql:3306/qiaoqiaoyun?characterEncoding=UTF-8&useUnicode=true&useSSL=false&tinyInt1isBit=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
username: root
password: root
driver-class-name: com.mysql.cj.jdbc.Driver
#redis 配置
redis:
database: 1
host: qiaoqiaoyun-redis
port: 6379
password: ''
#mongodb
data:
mongodb:
uri: mongodb://admin:123456@qiaoqiaoyun-mongo:27017/qiaoqiaoyun
print: true
slowQuery: true
slowTime: 1000
#mybatis plus 设置
mybatis-plus:
mapper-locations: classpath*:org/jeecg/modules/**/xml/*Mapper.xml
global-config:
# 关闭MP3.0自带的banner
banner: false
db-config:
#主键类型 0:"数据库ID自增",1:"该类型为未设置主键类型", 2:"用户输入ID",3:"全局唯一ID (数字类型唯一ID)", 4:"全局唯一ID UUID",5:"字符串全局唯一ID (idWorker 的字符串表示)";
id-type: ASSIGN_ID
# 默认数据库表下划线命名
table-underline: true
configuration:
# 这个配置会将执行的sql打印出来在开发或测试的时候可以用
#log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
# 返回类型为Map,显示null对应的字段
call-setters-on-nulls: true
minidao:
base-package: org.jeecg.modules.jmreport.*,org.jeecg.modules.drag.*
jeecg:
# 自定义资源前缀
custom-resource-prefix-path: qiaoqiaoyun
# 平台上线安全配置
firewall:
# 数据源安全 (开启后Online报表和图表、积木报表的数据源为必填)
dataSourceSafe: false
# 低代码开发模式dev:开发模式prod:发布模式——关闭所有在线开发配置能力)
lowCodeMode: dev
# 签名密钥串(前后端要一致,正式发布请自行修改)
signatureSecret: dd05f1c54d63749eda95f9fa6d49v442a
#签名拦截接口
signUrls: /sys/dict/getDictItems/*,/sys/dict/loadDict/*,/sys/dict/loadDictOrderByValue/*,/sys/dict/loadDictItem/*,/sys/dict/loadTreeData,/sys/api/queryTableDictItemsByCode,/sys/api/queryFilterTableDictInfo,/sys/api/queryTableDictByKeys,/sys/api/translateDictFromTable,/sys/api/translateDictFromTableByKeys
# 本地local\Miniominio\阿里云alioss
uploadType: local
# 前端访问地址
domainUrl:
pc: http://localhost:3100
app: http://localhost:8051
path:
#文件上传根目录 设置
upload: /opt/upFiles
#webapp文件路径
webapp: /opt/webapp
shiro:
excludeUrls: /test/jeecgDemo/demo3,/test/jeecgDemo/redisDemo/**,/bigscreen/category/**,/bigscreen/visual/**,/bigscreen/map/**,/jmreport/bigscreen2/**
#阿里云oss存储和大鱼短信秘钥配置
oss:
accessKey: ??
secretKey: ??
endpoint: oss-cn-beijing.aliyuncs.com
bucketName: jeecgdev
# 短信模板
sms-template:
# 签名
signature:
# 模板code
templateCode:
# 登录短信、忘记密码模板编码
SMS_175435174:
# 修改密码短信模板编码
SMS_465391221:
# 注册账号短信模板编码
SMS_175430166:
# 表单设计器配置
desform:
# 主题颜色(仅支持 16进制颜色代码
theme-color: "#1890ff"
# 文件、图片上传方式可选项qiniu七牛云、system跟随系统配置
upload-type: system
map:
# 配置百度地图的AK申请地址https://lbs.baidu.com/apiconsole/key?application=key#/home
baidu: ??
# 在线预览文件服务器地址配置
file-view-domain: https://fileview.jeecg.com
# minio文件上传
minio:
minio_url: http://minio.jeecg.com
minio_name: ??
minio_pass: ??
bucketName: otatest
#大屏报表参数设置
jmreport:
#多租户模式,默认值为空(created:按照创建人隔离、tenant:按照租户隔离) (v1.6.2+ 大屏和积木报表都采用这个规则)
saasMode:
# 平台上线安全配置(v1.6.2+ 新增)
firewall:
# 数据源安全 (开启后不允许使用平台数据源、SQL执行加签)
dataSourceSafe: true
# 低代码模式dev:开发模式prod:发布模式——关闭在线报表设计能力)
lowCodeMode: dev
pageSize:
- 10
- 20
- 30
- 40
#分布式锁配置
redisson:
address: qiaoqiaoyun-redis:6379
password:
type: STANDALONE
enabled: true
#cas单点登录
cas:
prefixUrl: http://cas.example.org:8443/cas
#swagger
knife4j:
#开启增强配置
enable: true
#开启生产环境屏蔽
production: true
basic:
enable: false
username: jeecg
password: jeecg1314
#第三方登录
justauth:
enabled: true
type:
GITHUB:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/github/callback
WECHAT_ENTERPRISE:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_enterprise/callback
agent-id: 1000002
DINGTALK:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/dingtalk/callback
WECHAT_OPEN:
client-id: ??
client-secret: ??
redirect-uri: http://sso.test.com:8080/jeecg-boot/sys/thirdLogin/wechat_open/callback
cache:
type: default
prefix: 'demo::'
timeout: 1h

View File

@@ -0,0 +1,6 @@
db = db.getSiblingDB('qiaoqiaoyun'); // 切换到 qiaoqiaoyun 数据库
db.createUser({
user: 'admin',
pwd: '123456',
roles: [{ role: 'readWrite', db: 'qiaoqiaoyun' }]
});

Binary file not shown.

View File

@@ -0,0 +1,79 @@
version: '2.0'
services:
qiaoqiaoyun-mysql:
build:
context: .
dockerfile: Dockerfile.mysql
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_ROOT_HOST: '%'
TZ: Asia/Shanghai
restart: always
container_name: qiaoqiaoyun-mysql
image: qiaoqiaoyun-mysql
command:
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--max_allowed_packet=128M
--default-authentication-plugin=caching_sha2_password
ports:
- 3306:3306
networks:
- qiaoqiaoyun
qiaoqiaoyun-redis:
image: registry.cn-hangzhou.aliyuncs.com/jeecgdocker/redis:5.0
ports:
- 6379:6379
restart: always
hostname: qiaoqiaoyun-redis
container_name: qiaoqiaoyun-redis
networks:
- qiaoqiaoyun
qiaoqiaoyun-mongo:
build:
context: .
dockerfile: Dockerfile.mongo
restart: always
container_name: qiaoqiaoyun-mongo
image: qiaoqiaoyun-mongo
ports:
- 27017:27017
networks:
- qiaoqiaoyun
qiaoqiaoyun-system:
build:
context: .
dockerfile: Dockerfile.javax
restart: on-failure
depends_on:
- qiaoqiaoyun-mysql
- qiaoqiaoyun-redis
container_name: qiaoqiaoyun-system
image: qiaoqiaoyun-system
hostname: qiaoqiaoyun-system
ports:
- 8080:8080
networks:
- qiaoqiaoyun
qiaoqiaoyun-nginx:
build:
context: .
dockerfile: Dockerfile.nginx
container_name: qiaoqiaoyun-nginx
image: qiaoqiaoyun-nginx
depends_on:
- qiaoqiaoyun-system
networks:
- qiaoqiaoyun
ports:
- 80:80
networks:
qiaoqiaoyun:
name: qiaoqiaoyun