Skip to content

Commit c7d9677

Browse files
committed
agrego compose para levantar proyecto
1 parent 59bc288 commit c7d9677

File tree

2 files changed

+32
-158
lines changed

2 files changed

+32
-158
lines changed

docker-compose.yml

Lines changed: 32 additions & 101 deletions
Original file line numberDiff line numberDiff line change
@@ -7,114 +7,45 @@ services:
77
ports:
88
- "${SERVER_PORT:-8080}:8080"
99
environment:
10-
- SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE}
11-
- SPRING_DATASOURCE_URL=${SPRING_DATASOURCE_URL}
12-
- SPRING_DATASOURCE_USERNAME=${SPRING_DATASOURCE_USERNAME}
13-
- SPRING_DATASOURCE_PASSWORD=${SPRING_DATASOURCE_PASSWORD}
14-
- SPRING_SECURITY_USER_NAME=${SPRING_SECURITY_USER}
15-
- SPRING_SECURITY_USER_PASSWORD=${SPRING_SECURITY_PASSWORD}
16-
- REDIS_HOST=${REDIS_HOST}
17-
- REDIS_PORT=${REDIS_PORT}
18-
- MINIO_ENDPOINT=${MINIO_ENDPOINT}
19-
- MINIO_ACCESS_KEY=${MINIO_ACCESS_KEY}
20-
- MINIO_SECRET_KEY=${MINIO_SECRET_KEY}
21-
- MINIO_BUCKET_IMAGES=${MINIO_BUCKET_IMAGES}
22-
- MINIO_BUCKET_MODELS=${MINIO_BUCKET_MODELS}
10+
# Profile para configuración cloud
11+
- SPRING_PROFILES_ACTIVE=${SPRING_PROFILES_ACTIVE:-cloud}
12+
13+
# Database connection (PostgreSQL Cloud - Render)
14+
- SPRING_DATASOURCE_RENDER_URL=${SPRING_DATASOURCE_RENDER_URL}
15+
- SPRING_DATASOURCE_RENDER_USERNAME=${SPRING_DATASOURCE_RENDER_USERNAME}
16+
- SPRING_DATASOURCE_RENDER_PASSWORD=${SPRING_DATASOURCE_RENDER_PASSWORD}
17+
18+
# Security
19+
- SPRING_SECURITY_USER=${SPRING_SECURITY_USER}
20+
- SPRING_SECURITY_PASSWORD=${SPRING_SECURITY_PASSWORD}
21+
22+
# AWS S3 Configuration
23+
- AWS_ACCESS_KEY_ID=${AWS_ACCESS_KEY_ID}
24+
- AWS_SECRET_ACCESS_KEY=${AWS_SECRET_ACCESS_KEY}
25+
- AWS_REGION=${AWS_REGION}
26+
- AWS_BUCKET_NAME=${AWS_BUCKET_NAME}
27+
28+
# JVM and Logging
2329
- JAVA_OPTS=${JAVA_OPTS}
24-
depends_on:
25-
postgres:
26-
condition: service_healthy
27-
minio:
28-
condition: service_healthy
30+
- LOG_LEVEL_ROOT=${LOG_LEVEL_ROOT}
31+
- LOG_LEVEL_OUTFITLAB=${LOG_LEVEL_OUTFITLAB}
32+
33+
# File upload limits
34+
- MAX_FILE_SIZE=${MAX_FILE_SIZE}
35+
- MAX_REQUEST_SIZE=${MAX_REQUEST_SIZE}
36+
37+
# API Keys
38+
- FASHION_IA_SECRET_KEY=${FASHION_IA_SECRET_KEY}
39+
2940
restart: unless-stopped
3041
networks:
3142
- outfitlab-network
32-
33-
# ===== PostgreSQL Database =====
34-
postgres:
35-
image: postgres:15-alpine
36-
environment:
37-
- POSTGRES_DB=${POSTGRES_DB}
38-
- POSTGRES_USER=${POSTGRES_ROOT_USER}
39-
- POSTGRES_PASSWORD=${POSTGRES_ROOT_PASSWORD}
40-
ports:
41-
- "5432:5432"
42-
volumes:
43-
- postgres_data:/var/lib/postgresql/data
44-
- ./db/init:/docker-entrypoint-initdb.d
45-
healthcheck:
46-
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_ROOT_USER} -d ${POSTGRES_DB}"]
47-
interval: 10s
48-
timeout: 5s
49-
retries: 5
50-
restart: unless-stopped
51-
networks:
52-
- outfitlab-network
53-
54-
# ===== Redis Cache (para queue y cache) =====
55-
redis:
56-
image: redis:7-alpine
57-
ports:
58-
- "6379:6379"
59-
command: redis-server --appendonly yes
60-
volumes:
61-
- redis_data:/data
6243
healthcheck:
63-
test: ["CMD", "redis-cli", "ping"]
64-
interval: 10s
65-
timeout: 3s
66-
retries: 5
67-
restart: unless-stopped
68-
networks:
69-
- outfitlab-network
70-
71-
# ===== MinIO Object Storage (S3-compatible) =====
72-
minio:
73-
image: minio/minio:latest
74-
ports:
75-
- "9000:9000" # API
76-
- "9001:9001" # Console Web UI
77-
environment:
78-
- MINIO_ROOT_USER=${MINIO_ROOT_USER}
79-
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
80-
command: server /data --console-address ":9001"
81-
volumes:
82-
- minio_data:/data
83-
healthcheck:
84-
test: ["CMD", "mc", "ready", "local"]
44+
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/actuator/health"]
8545
interval: 30s
86-
timeout: 20s
46+
timeout: 10s
8747
retries: 3
88-
restart: unless-stopped
89-
networks:
90-
- outfitlab-network
91-
92-
# ===== MinIO Client (crear buckets iniciales) =====
93-
minio-init:
94-
image: minio/mc:latest
95-
depends_on:
96-
minio:
97-
condition: service_healthy
98-
entrypoint: >
99-
/bin/sh -c "
100-
mc alias set myminio http://minio:9000 ${MINIO_ROOT_USER} ${MINIO_ROOT_PASSWORD};
101-
mc mb myminio/outfitlab-images --ignore-existing;
102-
mc mb myminio/outfitlab-models --ignore-existing;
103-
mc anonymous set download myminio/outfitlab-images;
104-
mc anonymous set download myminio/outfitlab-models;
105-
echo 'MinIO buckets created successfully';
106-
"
107-
networks:
108-
- outfitlab-network
109-
110-
# ===== Volumes =====
111-
volumes:
112-
postgres_data:
113-
driver: local
114-
redis_data:
115-
driver: local
116-
minio_data:
117-
driver: local
48+
start_period: 40s
11849

11950
# ===== Networks =====
12051
networks:

src/main/resources/application-docker.properties

Lines changed: 0 additions & 57 deletions
This file was deleted.

0 commit comments

Comments
 (0)