feat(database): 初始化AI项目管理平台数据库设计与环境配置
- 添加PostgreSQL数据库设计,包含部门、用户、角色、权限、项目、任务、工单、 风险、数据录入及文件附件等核心表结构及索引 - 启用pgvector和uuid-ossp扩展,支持向量存储和UUID生成 - 增加数据库表详细注释,便于后续维护与理解 - 配置Spring Boot项目支持Java 17及相关依赖(Web、PostgreSQL、MyBatis Plus、 MinIO、AWS SDK S3) - 新增Dockerfile及构建镜像脚本,支持amd及arm架构容器构建 - 提供完整Docker Compose环境配置,包含MySQL、Redis、Redis Admin、MinIO、 PhpMyAdmin及应用服务容器 - 新增Nginx反向代理配置文件,支持Admin和Client前端分离部署 - 添加一键启动Shell脚本,简化环境及应用服务启动流程 - 更新Spring Boot配置,设置active profile为dev及服务默认端口8080 - 新增Redis配置文件,开放网络访问端口与绑定所有地址
This commit is contained in:
113
docs/dev-ops/docker-compose-environment.yml
Normal file
113
docs/dev-ops/docker-compose-environment.yml
Normal file
@@ -0,0 +1,113 @@
|
||||
# docker 代理和使用文档;https://bugstack.cn/md/road-map/docker.html
|
||||
version: '3.9'
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:8.0.32
|
||||
container_name: mysql
|
||||
command: --default-authentication-plugin=mysql_native_password
|
||||
restart: always
|
||||
environment:
|
||||
TZ: Asia/Shanghai
|
||||
MYSQL_ROOT_PASSWORD: 123456
|
||||
ports:
|
||||
- "13306:3306"
|
||||
volumes:
|
||||
- ./mysql/data:/var/lib/mysql
|
||||
- ./mysql/my.cnf:/etc/mysql/conf.d/mysql.cnf:ro
|
||||
- ./mysql/sql:/docker-entrypoint-initdb.d
|
||||
healthcheck:
|
||||
test: [ "CMD", "mysqladmin" ,"ping", "-h", "localhost" ]
|
||||
interval: 5s
|
||||
timeout: 10s
|
||||
retries: 10
|
||||
start_period: 15s
|
||||
networks:
|
||||
- my-network
|
||||
|
||||
# phpmyadmin https://hub.docker.com/_/phpmyadmin
|
||||
phpmyadmin:
|
||||
image: phpmyadmin:5.2.1
|
||||
container_name: phpmyadmin
|
||||
hostname: phpmyadmin
|
||||
restart: always
|
||||
ports:
|
||||
- 8899:80
|
||||
environment:
|
||||
- PMA_HOST=mysql
|
||||
- PMA_PORT=3306
|
||||
- MYSQL_ROOT_PASSWORD=123456
|
||||
depends_on:
|
||||
mysql:
|
||||
condition: service_healthy
|
||||
networks:
|
||||
- my-network
|
||||
|
||||
# Redis
|
||||
redis:
|
||||
image: redis:6.2
|
||||
container_name: redis
|
||||
restart: always
|
||||
hostname: redis
|
||||
privileged: true
|
||||
ports:
|
||||
- 16379:6379
|
||||
volumes:
|
||||
- ./redis/redis.conf:/usr/local/etc/redis/redis.conf
|
||||
command: redis-server /usr/local/etc/redis/redis.conf
|
||||
networks:
|
||||
- my-network
|
||||
healthcheck:
|
||||
test: [ "CMD", "redis-cli", "ping" ]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
|
||||
# RedisAdmin https://github.com/joeferner/redis-commander
|
||||
# 账密 admin/admin
|
||||
redis-admin:
|
||||
image: spryker/redis-commander:0.8.0
|
||||
container_name: redis-admin
|
||||
hostname: redis-commander
|
||||
restart: always
|
||||
ports:
|
||||
- 8081:8081
|
||||
environment:
|
||||
- REDIS_HOSTS=local:redis:6379
|
||||
- HTTP_USER=admin
|
||||
- HTTP_PASSWORD=admin
|
||||
- LANG=C.UTF-8
|
||||
- LANGUAGE=C.UTF-8
|
||||
- LC_ALL=C.UTF-8
|
||||
networks:
|
||||
- my-network
|
||||
depends_on:
|
||||
redis:
|
||||
condition: service_healthy
|
||||
|
||||
# MinIO https://hub.docker.com/r/minio/minio
|
||||
# 默认账密:minioadmin/minioadmin
|
||||
minio:
|
||||
image: minio/minio:latest
|
||||
container_name: minio
|
||||
restart: always
|
||||
hostname: minio
|
||||
ports:
|
||||
- "9000:9000" # API端口
|
||||
- "9001:9001" # Web控制台端口
|
||||
environment:
|
||||
MINIO_ROOT_USER: minioadmin
|
||||
MINIO_ROOT_PASSWORD: minioadmin
|
||||
TZ: Asia/Shanghai
|
||||
volumes:
|
||||
- ./minio/data:/data
|
||||
command: server /data --console-address ":9001"
|
||||
healthcheck:
|
||||
test: [ "CMD", "curl", "-f", "http://localhost:9000/minio/health/live" ]
|
||||
interval: 30s
|
||||
timeout: 20s
|
||||
retries: 3
|
||||
networks:
|
||||
- my-network
|
||||
networks:
|
||||
my-network:
|
||||
driver: bridge
|
||||
Reference in New Issue
Block a user