File size: 1,360 Bytes
92678a7
 
 
 
19f4044
09e89a6
 
92678a7
09e89a6
2c8418e
09e89a6
 
 
898bea3
 
 
2c8418e
19f4044
09e89a6
 
898bea3
09e89a6
2c8418e
14437ff
09e89a6
 
92678a7
 
 
 
 
09e89a6
92678a7
09e89a6
92678a7
09e89a6
1e26229
 
 
92678a7
 
 
 
 
1bcd8bd
92678a7
 
 
 
 
 
 
 
 
 
 
 
 
baf9ef4
 
19f4044
 
baf9ef4
14437ff
1dd39e4
 
baf9ef4
 
 
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
68
69
70
version: '3.7'

services:
  app:
    build: .
    command: uvicorn app.api:app --reload --host 0.0.0.0 --port 8000
    container_name: "app"
    ports:
      - 8001:8000
    volumes:
      - .:/home/user/app
    environment:
      - PYTHONPATH=/home/user/app
    depends_on:
      - prometheus

  app2:
    build: .
    command: uvicorn app.api:app --reload --host 0.0.0.0 --port 8000
    container_name: "app2"
    ports:
      - 8002:8000
    volumes:
      - .:/home/user/app
    environment:
      - PYTHONPATH=/home/user/app
    depends_on:
      - prometheus

  nginx:
    image: nginx:latest
    container_name: "nginx"
    ports:
      - "8080:8080"
    volumes:
      - ./nginx/nginx.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - app
      - app2

  prometheus:
    image: prom/prometheus
    container_name: prometheus
    volumes:
      - ./prometheus/prometheus.yml:/etc/prometheus/prometheus.yml
    ports:
      - "9090:9090"

  grafana:
    image: grafana/grafana
    container_name: grafana
    ports:
      - "3000:3000"
    environment:
      - GF_SECURITY_ADMIN_PASSWORD=admin
    depends_on:
      - prometheus

  tests:
    build:
      context: .
      dockerfile: Dockerfile.Test
    volumes:
      - .:/home/user/app
    environment:
      - PYTHONPATH=/home/user/app
    depends_on:
      - app
    command: pytest tests