-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
91 lines (80 loc) · 2.97 KB
/
docker-compose.yml
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
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
services:
# TEMPLATES
fast_api: # FastAPI for backend API services
container_name: fast_api_container
build:
context: ./services/_templates/fast_api
dockerfile: fastapi.dockerfile
network: host
args:
- ENVIRONMENT=${ENVIRONMENT-dev}
environment:
- GOOGLE_APPLICATION_CREDENTIALS=/tmp/keys/application_default_credentials.json
- GOOGLE_CLOUD_PROJECT=${GOOGLE_CLOUD_PROJECT:-VAR_GCP_PROJECT_NAME}
# - POSTGRES_DB=${POSTGRES_DB:-db}
ports:
- 8000:8000
volumes:
- ./services/_templates/fast_api/src:/app
- ~/.config/gcloud/application_default_credentials.json:/tmp/keys/application_default_credentials.json
command: uvicorn app.main:app --reload --workers 1 --host 0.0.0.0 --port ${PORT-8000} --log-level info
# tty: true
flask_dash: # a plotly dash service that runs ontop of flask, for doing charts with just python
container_name: temp_dash_container
build:
context: ./services/_template/_flsk_dash
dockerfile: flask.dash.dockerfile
ports: # 8888 ports for kernel in jupytor notebooks
- 8888:8888
environment:
- FLASK_APP=app/main.py
- FLASK_ENV=development
- GOOGLE_APPLICATION_CREDENTIALS=${GOOGLE_APPLICATION_CREDENTIALS:-/tmp/keys/application_default_credentials.json}
- GOOGLE_CLOUD_PROJECT=${GOOGLE_CLOUD_PROJECT:-your_gcp_project_name}
volumes:
- ./services/fleet_flask/src:/app
- ~/.config/gcloud/application_default_credentials.json:${GOOGLE_APPLICATION_CREDENTIALS:-/tmp/keys/application_default_credentials.json}
command: flask run --host=0.0.0.0 --port=5002
grafana_oss: # Grafana Open Source for monitoring and analytics
container_name: grafana_oss_container
# image: grafana/grafana-oss
build:
context: ./services/_templates/grafana_os
dockerfile: grafana.dockerfile
network: host
depends_on:
- db-local
environment:
- GF_DATABASE_TYPE=postgres
- GF_DATABASE_URL=postgres://postgres:postgres@db-local:5432/grafana
- GF_DATABASE_SSL_MODE=disable
volumes:
- grafana-data:/var/lib/grafana
ports:
- 9000:8080
# tty: true
# command: "yarn start --host 0.0.0.0"
web_admin: # Angular frontend for management console, admin panel, dashboards, etc
container_name: web_admin_container
build:
context: ./services/_templates/web_admin
dockerfile: web.admin.dockerfile
network: host
ports:
- 4200:4200
volumes:
- ./services/_templates/web_admin/frontend:/home/node/app
command: "yarn start --host 0.0.0.0"
# tty: true
web_app: # Angular Ionic frontend for user-facing cross-platform progresive web app
container_name: web_app_container
build:
context: ./services/_templates/web_app
dockerfile: web.app.dockerfile
network: host
ports:
- 8100:8100
volumes:
- ./services/_templates/web_app/src:/home/node/app
command: ionic serve --external
# tty: true