- 添加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配置文件,开放网络访问端口与绑定所有地址
114 lines
2.7 KiB
YAML
114 lines
2.7 KiB
YAML
# 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
|