forked from faros-ai/faros-community-edition
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
156 lines (155 loc) · 5.17 KB
/
docker-compose.yaml
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
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
version: "3.7"
services:
airbyte-init:
profiles: ["airbyte"]
extends:
file: airbyte-services.yaml
service: init
airbyte-bootloader:
profiles: ["airbyte"]
extends:
file: airbyte-services.yaml
service: bootloader
airbyte-worker:
profiles: ["airbyte"]
extends:
file: airbyte-services.yaml
service: worker
airbyte-server:
profiles: ["airbyte"]
extends:
file: airbyte-services.yaml
service: server
airbyte-webapp:
profiles: ["airbyte"]
extends:
file: airbyte-services.yaml
service: webapp
airbyte-temporal:
profiles: ["airbyte"]
extends:
file: airbyte-services.yaml
service: airbyte-temporal
faros-db:
# This service is required to deploy Airbyte (hence the "airbyte" profile).
# It can also be used to host the databases of other services (by including the "faros-db" profile).
profiles: ["airbyte", "faros-db"]
extends:
file: airbyte-services.yaml
service: db
ports:
- ${DATABASE_PORT?}:5432
restart: unless-stopped
faros-init:
profiles: ["default", "faros-init"]
image: ${FAROS_INIT_IMAGE?}
# 3 retries on failure
restart: on-failure:3
environment:
AIRBYTE_API_CALLS_CONCURRENCY: ${AIRBYTE_API_CALLS_CONCURRENCY:-}
AIRBYTE_DESTINATION_HASURA_URL: ${AIRBYTE_DESTINATION_HASURA_URL?}
AIRBYTE_FORCE_SETUP: ${FAROS_AIRBYTE_FORCE_SETUP:-false}
AIRBYTE_URL: ${AIRBYTE_URL?}
FAROS_EMAIL: ${FAROS_EMAIL}
HASURA_URL: ${HASURA_URL?}
LOG_LEVEL: ${FAROS_INIT_LOG_LEVEL:-info}
METABASE_FAROS_DB_HOST: ${METABASE_FAROS_DB_HOST?}
METABASE_PASSWORD: ${METABASE_PASSWORD?}
METABASE_URL: ${METABASE_URL?}
METABASE_USER: ${METABASE_USER?}
METABASE_USE_SSL: ${METABASE_USE_SSL?}
FAROS_DB_NAME: ${FAROS_DB_NAME?}
FAROS_DB_HOST: ${FAROS_DB_HOST?}
FAROS_DB_PORT: ${FAROS_DB_PORT?}
FAROS_DB_USER: ${FAROS_DB_USER?}
FAROS_DB_PASSWORD: ${FAROS_DB_PASSWORD?}
FAROS_CONFIG_DB_HOST: ${FAROS_CONFIG_DB_HOST?}
FAROS_CONFIG_DB_PORT: ${FAROS_CONFIG_DB_PORT?}
FAROS_CONFIG_DB_USER: ${FAROS_CONFIG_DB_USER?}
FAROS_CONFIG_DB_PASSWORD: ${FAROS_CONFIG_DB_PASSWORD?}
HASURA_GRAPHQL_DATABASE_URL: ${HASURA_GRAPHQL_DATABASE_URL:-}
HASURA_DB_NAME: ${HASURA_DB_NAME?}
HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET?}
METABASE_DB_NAME: ${METABASE_DB_NAME?}
N8N_DB_NAME: ${N8N_DB_NAME?}
healthcheck:
test: ["CMD", "psql", "-d", "postgres://${FAROS_CONFIG_DB_USER?}:${FAROS_CONFIG_DB_PASSWORD?}@${FAROS_CONFIG_DB_HOST?}:${FAROS_CONFIG_DB_PORT?}/${N8N_DB_NAME?}", "-c", "SELECT 1"]
interval: 15s
timeout: 5s
start_period: 30s
retries: 5
hasura:
profiles: ["default"]
image: hasura/graphql-engine:${HASURA_VERSION?}
container_name: hasura
ports:
- ${HASURA_PORT?}:8080
depends_on:
faros-init:
condition: service_healthy
restart: unless-stopped
environment:
HASURA_GRAPHQL_ADMIN_SECRET: ${HASURA_GRAPHQL_ADMIN_SECRET?}
HASURA_GRAPHQL_DATABASE_URL: postgres://${FAROS_DB_USER?}:${FAROS_DB_PASSWORD?}@${FAROS_DB_HOST?}:${FAROS_DB_PORT?}/${FAROS_DB_NAME?}
HASURA_GRAPHQL_DEV_MODE: "false"
HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup
HASURA_GRAPHQL_ENABLE_CONSOLE: "true"
HASURA_GRAPHQL_ENABLE_TELEMETRY: "false"
HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://${FAROS_CONFIG_DB_USER?}:${FAROS_CONFIG_DB_PASSWORD?}@${FAROS_CONFIG_DB_HOST?}:${FAROS_CONFIG_DB_PORT?}/${HASURA_DB_NAME?}
metabase:
profiles: ["default"]
build:
context: ./metabase
args:
- METABASE_IMAGE=${METABASE_IMAGE}
- METABASE_VERSION=${METABASE_VERSION}
container_name: metabase
ports:
- ${METABASE_PORT?}:3000
depends_on:
faros-init:
condition: service_healthy
restart: unless-stopped
environment:
MB_ANON_TRACKING_ENABLED: "false"
MB_DB_DBNAME: ${METABASE_DB_NAME?}
MB_DB_HOST: ${FAROS_CONFIG_DB_HOST?}
MB_DB_PASS: ${FAROS_CONFIG_DB_PASSWORD?}
MB_DB_PORT: ${FAROS_CONFIG_DB_PORT?}
MB_DB_TYPE: postgres
MB_DB_USER: ${FAROS_CONFIG_DB_USER?}
MB_PASSWORD_COMPLEXITY: weak
MB_PASSWORD_LENGTH: 1
MB_SEND_EMAIL_ON_FIRST_LOGIN_FROM_NEW_DEVICE: "false"
n8n:
profiles: ["default"]
image: n8nio/n8n:${N8N_VERSION?}
container_name: n8n
ports:
- ${N8N_PORT?}:5678
depends_on:
faros-init:
condition: service_healthy
restart: unless-stopped
environment:
DB_TYPE: postgresdb
DB_POSTGRESDB_HOST: ${FAROS_CONFIG_DB_HOST?}
DB_POSTGRESDB_PORT: ${FAROS_CONFIG_DB_PORT?}
DB_POSTGRESDB_DATABASE: ${N8N_DB_NAME?}
DB_POSTGRESDB_SCHEMA: public
DB_POSTGRESDB_USER: ${FAROS_CONFIG_DB_USER?}
DB_POSTGRESDB_PASSWORD: ${FAROS_CONFIG_DB_PASSWORD?}
N8N_PERSONALIZATION_ENABLED: "false"
N8N_DIAGNOSTICS_ENABLED: "false"
N8N_VERSION_NOTIFICATIONS_ENABLED: "false"
volumes:
- n8n:/home/node/
volumes:
workspace:
name: ${WORKSPACE_DOCKER_MOUNT}
data:
name: ${DATA_DOCKER_MOUNT}
db:
name: ${DB_DOCKER_MOUNT}
n8n:
name: ${N8N_DOCKER_MOUNT}