feat: Add Mission Service documentation and update Mining Service deployment, port, and database connection.

This commit is contained in:
Ho Ngoc Hai
2026-01-17 17:55:18 +07:00
parent 8a4abf6bcb
commit 07367b192e
7 changed files with 926 additions and 77 deletions

View File

@@ -420,6 +420,64 @@ services:
- "traefik.http.services.social-service.loadbalancer.healthcheck.path=/health/live"
- "traefik.http.services.social-service.loadbalancer.healthcheck.interval=10s"
# Mining Service .NET - Pi Network-style Point Mining
mining-service-net:
build:
context: ../../services/mining-service-net
dockerfile: Dockerfile
image: goodgo/mining-service-net:latest
container_name: mining-service-net-local
environment:
- ASPNETCORE_ENVIRONMENT=Development
- ASPNETCORE_URLS=http://+:8080
# EN: Database - Neon PostgreSQL
# VI: Cơ sở dữ liệu - Neon PostgreSQL
- ConnectionStrings__DefaultConnection=Host=ep-holy-glitter-a4hongg7-pooler.us-east-1.aws.neon.tech;Port=5432;Database=mining_service;Username=neondb_owner;Password=npg_Ssfy6HKO0cXI;SSL Mode=Require
# EN: IAM Service Communication
# VI: Giao tiếp IAM Service
- IamService__BaseUrl=http://iam-service-net:8080
- IamService__ServiceName=mining-service
# EN: JWT Configuration
# VI: Cấu hình JWT
- Jwt__Authority=http://iam-service-net:8080
- Jwt__Audience=goodgo-api
- Jwt__RequireHttpsMetadata=false
# EN: Redis Cache
# VI: Cache Redis
- Redis__Host=167.114.174.113
- Redis__Port=6379
- Redis__Password=Velik@2026
ports:
- "5006:8080"
depends_on:
iam-service-net:
condition: service_healthy
traefik:
condition: service_started
networks:
- microservices-network
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8080/health/live"]
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
labels:
- "traefik.enable=true"
- "traefik.http.routers.mining-service.rule=PathPrefix(`/api/v1/mining`) || PathPrefix(`/api/v1/circles`) || PathPrefix(`/api/v1/referrals`)"
- "traefik.http.routers.mining-service.entrypoints=web"
- "traefik.http.services.mining-service.loadbalancer.server.port=8080"
- "traefik.http.services.mining-service.loadbalancer.healthcheck.path=/health/live"
- "traefik.http.services.mining-service.loadbalancer.healthcheck.interval=10s"
# EN: SignalR Hub route with sticky sessions
# VI: Route cho SignalR Hub với sticky sessions
- "traefik.http.routers.mining-hub.rule=PathPrefix(`/hubs/mining`)"
- "traefik.http.routers.mining-hub.entrypoints=web"
- "traefik.http.routers.mining-hub.service=mining-service"
- "traefik.http.services.mining-service.loadbalancer.sticky.cookie=true"
- "traefik.http.services.mining-service.loadbalancer.sticky.cookie.name=mining_session"
# Jaeger - Distributed Tracing
# jaeger: