This action will force synchronization from 金合科技/金合技术中台, which will overwrite any changes that you have made since you forked the repository, and can not be recovered!!!
Synchronous operation will process in the background and will refresh the page when finishing processing. Please be patient.
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
systemctl start docker
systemctl enable docker
mkdir -p /opt/lite/mysql/conf /opt/lite/mysql/data /opt/lite/redis/data /opt/lite/redis/config /opt/lite/minio/data
version: '3.8'
services:
mysql:
image: mysql:8.3.0
ports:
- 3306:3306
volumes:
- /opt/lite/mysql/conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
- /opt/lite/mysql/data/:/var/lib/mysql/
privileged: true
environment:
- MYSQL_ROOT_PASSWORD=Abc123++
- MYSQL_DATABASE=iking_framework
- TZ=Asia/Shanghai
restart: always
container_name: mysql
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
start_period: 60s
redis:
image: redis:7.2.4
ports:
- 6379:6379
volumes:
- /opt/lite/redis/data:/data
- /opt/lite/redis/config/redis.conf:/usr/local/etc/redis/redis.conf
privileged: true
restart: always
container_name: redis
command: redis-server --requirepass Abc123++ --appendonly yes --notify-keyspace-events Ex
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 30s
timeout: 20s
start_period: 60s
minio:
image: minio/minio:RELEASE.2024-01-31T20-20-33Z
ports:
- 9000:9000
- 9090:9090
volumes:
- /opt/lite/minio/data:/data
privileged: true
environment:
- MINIO_ROOT_USER=minio
- MINIO_ROOT_PASSWORD=Abc123++
restart: always
container_name: minio
command: server /data --console-address ":9090" -address ":9000"
healthcheck:
test: ["CMD", "curl", "-f", "http://127.0.0.1:9000/minio/health/live"]
interval: 30s
timeout: 20s
start_period: 60s
lite:
image: ikingtech/lite:1.1.6
ports:
- 8000:8000
privileged: true
environment:
- SRV_PORT=8000
- MYSQL_HOST=172.17.0.1
- MYSQL_PORT=3306
- MYSQL_SCHEMA_NAME=iking_framework
- MYSQL_USERNAME=root
- MYSQL_PASSWORD=Abc123++
- REDIS_HOST=172.17.0.1
- REDIS_PORT=6379
- REDIS_DB=1
- REDIS_PASSWORD=Abc123++
- OSS_ENABLED=true
- OSS_STORAGE_TYPE=AWS_S3
- OSS_HOST=http://172.17.0.1:9000
- OSS_ACCESS_KEY=minio
- OSS_SECRET_KEY=Abc123++
- OSS_DEFAULT_BUCKET=iking
- OSS_REGION=us-east-1
restart: always
container_name: lite
depends_on:
- mysql
- redis
- minio
ui:
image: ikingtech/lite-ui:1.1.6
ports:
- 80:80
privileged: true
restart: always
container_name: lite-ui
docker compose up -d
docker ps -a
💡 特别说明:
如果您的运行环境中已安装了数据库/缓存/对象存储服务等组件,您需要从docker-compose.yml文件中删除相应部分。例如,您的环境中已安装了MySQL数据库,那么从docker-compose.yml中移除以下部分的内容:
mysql:
image: mysql:8.3.0
ports:
- 3306:3306
volumes:
- /opt/lite/mysql/conf/mysql.cnf:/etc/mysql/conf.d/mysql.cnf
- /opt/lite/mysql/data/:/var/lib/mysql/
privileged: true
environment:
- MYSQL_ROOT_PASSWORD=Abc123++
- MYSQL_DATABASE=iking_framework
- TZ=Asia/Shanghai
restart: always
container_name: mysql
command: mysqld --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
interval: 10s
timeout: 5s
start_period: 60s
相应的,您还需要将服务启动时的环境变量进行修改。仍以MySQL为例,您需要将环境变量MYSQL_HOST
、MYSQL_PORT
、MYSQL_SCHEMA_NAME
、MYSQL_USERNAME
、MYSQL_PASSWORD
修改为您的数据库的信息。
所有环境变量的说明请参考以下列表:
变量 | 说明 |
---|---|
SRV_PORT | 服务运行端口 |
MYSQL_HOST | 数据库服务地址 |
MYSQL_PORT | 数据库服务端口 |
MYSQL_SCHEMA_NAME | 数据库名,默认iking_framework |
MYSQL_USERNAME | 数据库服务用户名 |
MYSQL_PASSWORD | 数据库服务密码 |
REDIS_HOST | Redis服务地址 |
REDIS_PORT | Redis服务端口 |
REDIS_DB | Redis DB号 |
REDIS_PASSWORD | Redis密码 |
OSS_ENABLED | 是否启用文件服务 |
OSS_STORAGE_TYPE | 对象存储服务类型,目前仅支持AWS_S3类型 |
OSS_HOST | 对象存储服务地址,格式为http://ip:port |
OSS_ACCESS_KEY | 对象存储服务AccessKey |
OSS_SECRET_KEY | 对象存储服务SecretKey |
OSS_DEFAULT_BUCKET | 默认桶名称 |
OSS_REGION | 桶所在区域标识 |
服务默认使用iking_framework
作为数据库名称,请确保您的数据库实例中没有同名的数据库。如果您希望自定义数据库名,请修改docker-compose.yml文件中的相应配置。
如果您仅需要启动平台服务,无需额外安装数据库/缓存/对象存储服务,则执行以下命令即可。
docker run -d -p 80:80 --restart=always --name=lite-ui --privileged=true ikingtech/lite-ui:1.1.6
docker run -d --name lite -p 8000:8000\
-e SRV_PORT=8000\
-e MYSQL_HOST=${数据库服务地址}\
-e MYSQL_PORT=${数据库服务端口}\
-e MYSQL_SCHEMA_NAME=${数据库名称}\
-e MYSQL_USERNAME=${数据库服务用户名}\
-e MYSQL_PASSWORD=${数据库服务密码}\
-e REDIS_HOST=${Redis服务地址}\
-e REDIS_PORT=${Redis服务端口}\
-e REDIS_DB=${Redis DB号}\
-e REDIS_PASSWORD=${Redis服务密码}\
-e OSS_ENABLED=true\
-e OSS_STORAGE_TYPE=AWS_S3\
-e OSS_HOST=${对象存储服务地址,格式为http(s)://ip:port}\
-e OSS_ACCESS_KEY=${对象存储服务AccessKey}\
-e OSS_SECRET_KEY=${对象存储服务SecretKey}\
-e OSS_DEFAULT_BUCKET=${默认桶名称}\
-e OSS_REGION=${桶所在区域标识}\
--restart=always\
ikingtech/lite:1.1.6
以下说明默认在Windows环境开发。
17.0.2 (build 17.0.2+8)
中的Windows
版本进行下载,大小178M。
https://jdk.java.net/archive/
${解压目录}\jdk-17.0.8
。apache-maven-3.9.6-bin.zip
进行下载,大小9M。
https://maven.apache.org/download.cgi
${解压目录}\apache-maven-3.9.6
。git clone https://gitee.com/ikingtech/iking-platform.git
application.yml
文件包含以下内容,一般不需要改动。
spring:
profiles:
active: lite, oss, redis, magic-api, ${ENV:dev}, ${DATA_BASE:mysql}
application:
name: lite
iking:
framework:
web:
version: @project.version@
arch: single
application-dev.yml
的内容,配置开发环境。配置示例如下:
# 服务端口
SRV_PORT: 8000
# 数据库服务地址
MYSQL_HOST: x.x.x.x
# 数据库服务端口
MYSQL_PORT: 3306
# 数据库名称
MYSQL_SCHEMA_NAME: iking_framework
# 数据库服务用户名
MYSQL_USERNAME: root
# 数据库服务密码
MYSQL_PASSWORD: Abc123++
# 是否开启Flyway,设置为true时则在服务启动时自动建表,设置为false则不会自动建表
FLYWAY_ENABLE: true
# 建表SQL脚本的位置
FLYWAY_SCRIPT_LOCATIONS: classpath:framework/db/migration/mysql/
# Redis服务地址
REDIS_HOST: x.x.x.x
# Redis服务端口
REDIS_PORT: 6379
# Redis DB号
REDIS_DB: 6
# Redis服务密码
REDIS_PASSWORD: Abc123++
# 是否开启文件服务
OSS_ENABLED: true
# 对象存储协议类型,目前仅支持AWS_S3
OSS_STORAGE_TYPE: AWS_S3
# 对象存储服务地址
OSS_HOST: http://x.x.x.x:9000
# 对象存储服务AccessKey
OSS_ACCESS_KEY: minio
# 对象存储服务SecretKey
OSS_SECRET_KEY: Abc123++
# 默认桶名称
OSS_DEFAULT_BUCKET: iking
# 桶所在区域标识
OSS_REGION: us-east-1
lite
模块中添加业务模块的依赖后,启动项目即可。admin/Security123$%^
)登录系统。${租户标识}_admin/Security123$%^
)登录系统,开始使用平台各项功能。sys
)。金合技术开发平台是陕西金合信息科技股份有限公司在内部孵化的技术开发平台,致力于减少项目交付在基础环境上消耗的工时,换而言之金合的技术开发平台是为项目交付而生,让项目不需要在底层的功能或环境上再消耗时间。
目前金合技术中台已经支持交付了内外部40+项目,当前版本为首个开源版本,我们迫切的想听到您的改进意见和功能建议,希望更多的开发者可以参与改进平台,助力更多开发者和企业。
社区力量是开源项目持续发展的唯一动力来源,我们真诚的希望与您一起共建这片学习、交流、成长并且获益的“小宇宙”,您的每一个建议、每一次PR我们都倍感珍惜。
如果您对本项目有任何的想法,请您务必留下您的宝贵意见和建议,当然 Talk is cheap, show me the code
,我们更欢迎您按照如下方式扩展本项目的功能!
git checkout -b feature/awsome-feature
)。git commit -m 'Add some Awsome Feature'
&& git push origin feature/awsome-feature
)。本项目基于 Apache License Version 2.0 开源协议,请遵守以下规范。
LICENSE
文件。此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。