Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
67 lines (64 loc) · 2.36 KB
/
Copy pathdocker-compose.yml
File metadata and controls
67 lines (64 loc) · 2.36 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
services:
postgres:
image: postgres:17
environment:
POSTGRES_USER: ${POSTGRES_USER:-postgres}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-postgres}
POSTGRES_DB: ${POSTGRES_DB:-InvoiceDb}
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
healthcheck:
test: [ "CMD-SHELL", "pg_isready -U ${POSTGRES_USER:-postgres}" ]
interval: 5s
timeout: 5s
retries: 10
api:
build:
context: .
dockerfile: src/Invoice.API/Dockerfile
environment:
ASPNETCORE_ENVIRONMENT: Production
ConnectionStrings__DefaultConnection: "Host=postgres;Port=5432;Database=${POSTGRES_DB:-InvoiceDb};Username=${POSTGRES_USER:-postgres};Password=${POSTGRES_PASSWORD:-postgres}"
JWT__Secret: ${JWT_SECRET:?set JWT_SECRET in .env}
# appsettings*.json are gitignored, so a fresh clone builds an image
# without them — supply the base JWT config here.
JWT__Issuer: ${JWT_ISSUER:-Invoice.API}
JWT__Audience: ${JWT_AUDIENCE:-Invoice.API}
JWT__Expiration: ${JWT_EXPIRATION:-120}
Cors__AllowedOrigins__0: ${CORS_ORIGIN:-http://localhost:4200}
EmailConfig__From: ${EMAIL_FROM:-4211ru@gmail.com}
EmailConfig__SmtpServer: ${EMAIL_SMTP_SERVER:-smtp.gmail.com}
EmailConfig__Port: ${EMAIL_PORT:-587}
EmailConfig__UserName: ${EMAIL_USERNAME:?set EMAIL_USERNAME in .env}
EmailConfig__Password: ${EMAIL_PASSWORD:?set EMAIL_PASSWORD in .env}
AdminSeed__Email: ${ADMIN_SEED_EMAIL:-admin@invoice.com}
AdminSeed__Password: ${ADMIN_SEED_PASSWORD:-admin202210BK}
Groq__ApiKey: ${GROQ_API_KEY:?set GROQ_API_KEY in .env}
Groq__Model: ${GROQ_MODEL:-llama-3.3-70b-versatile}
Groq__BaseUrl: ${GROQ_BASE_URL:-https://api.groq.com/openai/v1/}
ASPNETCORE_URLS: "https://+:8081;http://+:8080"
ASPNETCORE_Kestrel__Certificates__Default__Password: "123"
ASPNETCORE_Kestrel__Certificates__Default__Path: /https/aspnetapp.pfx
volumes:
- ${HOME}/.aspnet/https:/https:ro
depends_on:
postgres:
condition: service_healthy
ports:
- "8080:8080"
- "7030:8081"
client:
build:
context: invoice-app
dockerfile: Dockerfile
depends_on:
- api
# volumes:
# - ./invoice-app/.cert:/etc/nginx/certs:ro
ports:
- "4200:80"
# - "8081:80"
volumes:
postgres_data: