
Features: - Complete project management system with Epic/Story/Task hierarchy - Vue.js 3 + Element Plus frontend with kanban board - Go backend with Gin framework and GORM - OAuth2 integration with Gitea - Docker containerization with MySQL - RESTful API for project, task, and user management - JWT authentication and authorization - Responsive web interface with dashboard
42 lines
994 B
YAML
42 lines
994 B
YAML
version: '3.8'
|
|
|
|
services:
|
|
mysql:
|
|
image: mysql:8.0
|
|
container_name: giteapm_mysql
|
|
environment:
|
|
MYSQL_ROOT_PASSWORD: password
|
|
MYSQL_DATABASE: giteapm
|
|
MYSQL_USER: giteapm
|
|
MYSQL_PASSWORD: giteapm_password
|
|
ports:
|
|
- "3306:3306"
|
|
volumes:
|
|
- mysql_data:/var/lib/mysql
|
|
- ./schema.sql:/docker-entrypoint-initdb.d/schema.sql
|
|
command: --default-authentication-plugin=mysql_native_password
|
|
healthcheck:
|
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
|
timeout: 20s
|
|
retries: 10
|
|
|
|
giteapm:
|
|
build: .
|
|
container_name: giteapm_app
|
|
ports:
|
|
- "8080:8080"
|
|
depends_on:
|
|
mysql:
|
|
condition: service_healthy
|
|
environment:
|
|
- DB_HOST=mysql
|
|
- DB_PORT=3306
|
|
- DB_USER=root
|
|
- DB_PASSWORD=password
|
|
- DB_NAME=giteapm
|
|
volumes:
|
|
- ./config/config.yaml:/root/config/config.yaml
|
|
command: ["./giteapm", "-config", "config/config.yaml"]
|
|
|
|
volumes:
|
|
mysql_data: |