Initial commit: Material Texture API service

- Go + Gin + GORM + PostgreSQL backend
- RESTful API for material management
- Docker deployment support
- Database partitioning for billion-scale data
- API documentation

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
likegears
2025-12-11 15:29:49 +08:00
commit 85ba15c564
31 changed files with 1518167 additions and 0 deletions

44
docker-compose.yml Normal file
View File

@@ -0,0 +1,44 @@
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "8081:8080"
environment:
- SERVER_PORT=8080
- DATABASE_URL=postgres://postgres:postgres@db:5432/material_db?sslmode=disable
- API_TOKEN=${API_TOKEN:-seatons3d}
depends_on:
db:
condition: service_healthy
restart: unless-stopped
networks:
- material-network
db:
image: postgres:15-alpine
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=material_db
volumes:
- postgres_data:/var/lib/postgresql/data
- ./migrations:/docker-entrypoint-initdb.d:ro
ports:
- "5433:5432"
healthcheck:
test: ["CMD-SHELL", "pg_isready -U postgres"]
interval: 5s
timeout: 5s
retries: 5
restart: unless-stopped
networks:
- material-network
volumes:
postgres_data:
networks:
material-network:
driver: bridge