Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
283 changes: 31 additions & 252 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,277 +1,56 @@
# Generated by Athena v0.1.0 from MODERN_ECOMMERCE deployment
# Generated by Athena v0.1.0 from test_no_conflicts deployment
# Developed by UNFAIR Team: https://github.com/Jeck0v/Athena
# Project Version: 2.0.0
# Generated: 2025-10-05 20:42:54 UTC
# Generated: 2025-10-12 15:38:11 UTC
# Features: Intelligent defaults, optimized networking, enhanced health checks

# Services: 7 configured with intelligent defaults
# Services: 3 configured with intelligent defaults

services:
monitoring:
image: prom/prometheus:latest
container_name: modern-ecommerce-monitoring
ports:
- 9090:9090
volumes:
- ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro
restart: unless-stopped
deploy:
resources:
limits:
cpus: '0.3'
memory: 512M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
networks:
- ecommerce_network
pull_policy: missing
labels:
athena.service: monitoring
athena.project: MODERN_ECOMMERCE
athena.type: generic
athena.generated: 2025-10-05

cache:
image: redis:7-alpine
container_name: modern-ecommerce-cache
volumes:
- redis_data:/data
healthcheck:
test:
- CMD-SHELL
- redis-cli ping || exit 1
interval: 15s
timeout: 3s
retries: 3
start_period: 20s
restart: always
deploy:
resources:
limits:
cpus: '0.3'
memory: 512M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
networks:
- ecommerce_network
pull_policy: missing
labels:
athena.generated: 2025-10-05
athena.type: cache
athena.project: MODERN_ECOMMERCE
athena.service: cache

product_service:
build:
context: .
dockerfile: Dockerfile
args:
SEARCH_ENGINE: elasticsearch
CATALOG_VERSION: v1.5
container_name: modern-ecommerce-product_service
environment:
- DATABASE_URL=${DATABASE_URL}
depends_on:
- database
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost:3000/health || exit 1
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
restart: unless-stopped
deploy:
resources:
limits:
cpus: '0.3'
memory: 256M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
networks:
- ecommerce_network
pull_policy: missing
labels:
athena.type: generic
athena.project: MODERN_ECOMMERCE
athena.service: product_service
athena.generated: 2025-10-05

nginx_reverse_proxy:
app1:
image: nginx:alpine
container_name: modern-ecommerce-nginx_reverse_proxy
container_name: test-no-conflicts-app1
ports:
- 80:80
- 443:443
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d:ro
depends_on:
- api_gateway
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost:80/health || exit 1
interval: 20s
timeout: 5s
retries: 3
start_period: 30s
- 8080:80
restart: always
deploy:
resources:
limits:
cpus: '0.2'
memory: 256M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
networks:
- ecommerce_network
- test_no_conflicts_network
pull_policy: missing
labels:
athena.project: MODERN_ECOMMERCE
athena.service: nginx_reverse_proxy
athena.generated: 2025-10-05
athena.project: test_no_conflicts
athena.type: proxy
athena.service: app1
athena.generated: 2025-10-12

auth_service:
build:
context: .
dockerfile: Dockerfile
args:
AUTH_PROVIDER: oauth2
SESSION_TIMEOUT: 1h
container_name: modern-ecommerce-auth_service
environment:
- JWT_SECRET=${JWT_SECRET}
- DATABASE_URL=${DATABASE_URL}
depends_on:
- database
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost:3000/health || exit 1
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
restart: unless-stopped
deploy:
resources:
limits:
cpus: '0.2'
memory: 256M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
networks:
- ecommerce_network
pull_policy: missing
labels:
athena.service: auth_service
athena.generated: 2025-10-05
athena.project: MODERN_ECOMMERCE
athena.type: generic

api_gateway:
build:
context: .
dockerfile: Dockerfile
args:
JWT_EXPIRY: 24h
NODE_ENV: production
API_VERSION: v2.1
container_name: modern-ecommerce-api_gateway
environment:
- JWT_SECRET=${JWT_SECRET}
- DATABASE_URL=${DATABASE_URL}
- REDIS_URL=${REDIS_URL}
depends_on:
- database
- cache
healthcheck:
test:
- CMD-SHELL
- curl -f http://localhost:3000/health || exit 1
interval: 30s
timeout: 10s
retries: 3
start_period: 40s
app2:
image: httpd:alpine
container_name: test-no-conflicts-app2
ports:
- 8081:8000
restart: unless-stopped
deploy:
resources:
limits:
cpus: '0.5'
memory: 512M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
networks:
- ecommerce_network
- test_no_conflicts_network
pull_policy: missing
labels:
athena.service: api_gateway
athena.generated: 2025-10-05
athena.project: MODERN_ECOMMERCE
athena.project: test_no_conflicts
athena.generated: 2025-10-12
athena.type: generic
athena.service: app2

database:
image: postgres:15
container_name: modern-ecommerce-database
environment:
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
- POSTGRES_DB=${POSTGRES_DB}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test:
- CMD-SHELL
- pg_isready -U ${POSTGRES_USER} || exit 1
interval: 10s
timeout: 5s
retries: 5
start_period: 60s
app3:
image: apache:latest
container_name: test-no-conflicts-app3
ports:
- 9000:80
restart: always
deploy:
resources:
limits:
cpus: '1.0'
memory: 1024M
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
window: 120s
networks:
- ecommerce_network
- test_no_conflicts_network
pull_policy: missing
labels:
athena.project: MODERN_ECOMMERCE
athena.generated: 2025-10-05
athena.service: database
athena.type: database
athena.project: test_no_conflicts
athena.type: proxy
athena.service: app3
athena.generated: 2025-10-12
networks:
ecommerce_network:
test_no_conflicts_network:
driver: bridge
volumes:
redis_data:
driver: local
postgres_data:
driver: local
name: MODERN_ECOMMERCE
name: test_no_conflicts
Loading