82 lines
2.5 KiB
YAML
82 lines
2.5 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
# ========================================================
|
|
# BASE DE DATOS: PostgreSQL 16 Alpine con ACID Estricto
|
|
# ========================================================
|
|
postgres:
|
|
image: postgres:16-alpine
|
|
container_name: dian_hub_postgres
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_DB: dian_hub_db
|
|
POSTGRES_USER: postgres
|
|
POSTGRES_PASSWORD: postgres123_secure_hub
|
|
ports:
|
|
- "5432:5432"
|
|
volumes:
|
|
- dian_pgdata:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U postgres -d dian_hub_db"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- dian_hub_network
|
|
|
|
# ========================================================
|
|
# MICROSERVICIO BACKEND: Fastify + Clean Architecture UBL 2.1
|
|
# ========================================================
|
|
backend:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.backend
|
|
container_name: dian_hub_backend
|
|
restart: unless-stopped
|
|
environment:
|
|
PORT: 3001
|
|
HOST: 0.0.0.0
|
|
NODE_ENV: production
|
|
DATABASE_URL: "postgresql://postgres:postgres123_secure_hub@postgres:5432/dian_hub_db?schema=public"
|
|
API_KEY_MASTER: "dev_master_key_innovacion_2026_secure"
|
|
JWT_SECRET: "super_secret_jwt_key_dian_hub_innovacion_2026"
|
|
ENCRYPTION_KEY: "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
|
|
DIAN_ENVIRONMENT: "HABILITACION"
|
|
DIAN_SOFTWARE_ID: "d5e07b47-6aea-43cc-b38c-3c7d46b4a52f"
|
|
DIAN_SOFTWARE_PIN: "75319"
|
|
DIAN_TEST_SET_ID: "c48d035e-c15c-4f76-905c-efbc912389a0"
|
|
DIAN_VPFE_HABILITACION_URL: "https://vpfe-hab.dian.gov.co/WcfDianCustomerServices.svc"
|
|
DIAN_VPFE_PRODUCCION_URL: "https://vpfe.dian.gov.co/WcfDianCustomerServices.svc"
|
|
ports:
|
|
- "3001:3001"
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
networks:
|
|
- dian_hub_network
|
|
|
|
# ========================================================
|
|
# PANEL ADMINISTRATIVO WEB: React 18 + Vite + Nginx Alpine
|
|
# ========================================================
|
|
frontend:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile.frontend
|
|
container_name: dian_hub_frontend
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3000:80"
|
|
depends_on:
|
|
- backend
|
|
networks:
|
|
- dian_hub_network
|
|
|
|
volumes:
|
|
dian_pgdata:
|
|
name: dian_hub_pgdata
|
|
|
|
networks:
|
|
dian_hub_network:
|
|
name: dian_hub_network
|
|
driver: bridge
|