Files
ylhp-ai-project-manager/docs/dev-ops/docker-compose-environment.yml
JiaoTianBo d99509cff5 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配置文件,开放网络访问端口与绑定所有地址
2026-03-26 14:29:51 +08:00

114 lines
2.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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