profileShare

rasmusjy / splitapp-backend-microservices

Read-only snapshot

No repository description.

main default branch 501 files Expires Sep 13, 2026, 9:06 AM
docker-compose.yml 2,610 bytes
1 services:
2 rabbitmq:
3 image: rabbitmq:3-management
4 container_name: phase4-rabbitmq
5 restart: unless-stopped
6 ports:
7 - "5672:5672"
8 - "15672:15672"
9 healthcheck:
10 test: ["CMD", "rabbitmq-diagnostics", "ping"]
11 interval: 10s
12 retries: 10
13
14 db-monolith:
15 image: postgres:16
16 container_name: phase4-db-monolith
17 restart: unless-stopped
18 environment:
19 POSTGRES_DB: splitapp
20 POSTGRES_USER: postgres
21 POSTGRES_PASSWORD: postgres
22 volumes:
23 - phase4-monolith-pgdata:/var/lib/postgresql/data
24
25 db-users:
26 image: postgres:16
27 container_name: phase4-db-users
28 restart: unless-stopped
29 environment:
30 POSTGRES_DB: splitapp_users
31 POSTGRES_USER: postgres
32 POSTGRES_PASSWORD: postgres
33 volumes:
34 - phase4-users-pgdata:/var/lib/postgresql/data
35
36 users-service:
37 build:
38 context: .
39 dockerfile: Dockerfile.usersservice
40 container_name: phase4-users-service
41 restart: unless-stopped
42 ports:
43 - "98:8080"
44 environment:
45 - ConnectionStrings__DefaultConnection=Host=db-users;Port=5432;Database=splitapp_users;Username=postgres;Password=postgres
46 - JWT__Key=dev-only-signing-key-override-in-production-0123456789
47 - JWT__Issuer=splitapp
48 - JWT__Audience=splitapp
49 - JWT__ExpiresInSeconds=1800
50 - Messaging__RabbitMq__HostName=rabbitmq
51 - ASPNETCORE_URLS=http://+:8080
52 healthcheck:
53 test: ["CMD", "curl", "-fsS", "http://localhost:8080/health"]
54 interval: 5s
55 retries: 30
56 start_period: 30s
57 depends_on:
58 rabbitmq:
59 condition: service_healthy
60 db-users:
61 condition: service_started
62
63 webapp:
64 build:
65 context: .
66 dockerfile: Dockerfile
67 container_name: phase4-webapp
68 restart: unless-stopped
69 ports:
70 - "97:8080"
71 environment:
72 - ConnectionStrings__DefaultConnection=Host=db-monolith;Port=5432;Database=splitapp;Username=postgres;Password=postgres
73 - JWT__Key=dev-only-signing-key-override-in-production-0123456789
74 - JWT__Issuer=splitapp
75 - JWT__Audience=splitapp
76 - JWT__ExpiresInSeconds=1800
77 - Messaging__RabbitMq__HostName=rabbitmq
78 - UsersService__BaseUrl=http://users-service:8080
79 - ASPNETCORE_URLS=http://+:8080
80 volumes:
81 - phase4-webapp-keys:/app/keys
82 depends_on:
83 rabbitmq:
84 condition: service_healthy
85 users-service:
86 condition: service_healthy
87 db-monolith:
88 condition: service_started
89
90 volumes:
91 phase4-monolith-pgdata:
92 phase4-users-pgdata:
93 phase4-webapp-keys:
94