forked from coollabsio/coolify
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathargilla.yaml
126 lines (125 loc) · 4.56 KB
/
argilla.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
# documentation: https://docs.argilla.io/latest/
# slogan: Argilla is a collaboration tool for AI engineers and domain experts who need to build high-quality datasets for their projects.
# tags: workflow, orchestration, data-pipeline, python, argilla, ai, elasticsearch, datasets, data, machine-learning, data-science, nlp
# logo: svgs/argilla.png
# port: 6900
services:
argilla:
image: "argilla/argilla-server:v2.2.0"
environment:
- SERVICE_FQDN_ARGILLA_6900
- ARGILLA_HOME_PATH=/var/lib/argilla
- ARGILLA_ELASTICSEARCH=http://elasticsearch:9200
- ARGILLA_DATABASE_URL=postgresql+asyncpg://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB}
- ARGILLA_REDIS_URL=redis://redis:6379/0
- ARGILLA_AUTH_SECRET_KEY=${SERVICE_PASSWORD_AUTHSECRET}
- ARGILLA_ENABLE_TELEMETRY=${ARGILLA_ENABLE_TELEMETRY:-0}
- HF_HUB_DISABLE_TELEMETRY=${HF_HUB_DISABLE_TELEMETRY:-1}
- REINDEX_DATASETS=${REINDEX_DATASETS:-1}
- DEFAULT_USER_ENABLED=${DEFAULT_USER_ENABLED:-true}
- USERNAME=${ARGILLA_USERNAME:-argilla}
- PASSWORD=${SERVICE_PASSWORD_ARGILLA}
- API_KEY=${SERVICE_PASSWORD_APIKEY}
- DEFAULT_USER_PASSWORD=${SERVICE_PASSWORD_ARGILLA}
- DEFAULT_USER_API_KEY=${SERVICE_PASSWORD_APIKEY}
- WORKSPACE=${WORKSPACE:-default}
depends_on:
elasticsearch:
condition: service_healthy
redis:
condition: service_healthy
postgres:
condition: service_healthy
volumes:
- "argilla-data:/var/lib/argilla"
healthcheck:
test:
- CMD-SHELL
- 'python -c "import requests as r;r.get(\"http://localhost:6900/api/_status\").raise_for_status()"'
interval: 10s
timeout: 10s
retries: 5
worker:
image: "argilla/argilla-server:v2.2.0"
environment:
- ARGILLA_HOME_PATH=/var/lib/argilla
- ARGILLA_ELASTICSEARCH=http://elasticsearch:9200
- ARGILLA_DATABASE_URL=postgresql+asyncpg://${SERVICE_USER_POSTGRES}:${SERVICE_PASSWORD_POSTGRES}@postgres:5432/${POSTGRES_DB}
- ARGILLA_REDIS_URL=redis://redis:6379/0
- ARGILLA_AUTH_SECRET_KEY=${SERVICE_PASSWORD_AUTHSECRET}
- ARGILLA_ENABLE_TELEMETRY=${ARGILLA_ENABLE_TELEMETRY:-0}
- HF_HUB_DISABLE_TELEMETRY=${HF_HUB_DISABLE_TELEMETRY:-1}
- REINDEX_DATASETS=${REINDEX_DATASETS:-1}
- DEFAULT_USER_ENABLED=${DEFAULT_USER_ENABLED:-true}
- USERNAME=${ARGILLA_USERNAME:-argilla}
- PASSWORD=${SERVICE_PASSWORD_ARGILLA}
- API_KEY=${SERVICE_PASSWORD_APIKEY}
- DEFAULT_USER_PASSWORD=${SERVICE_PASSWORD_ARGILLA}
- DEFAULT_USER_API_KEY=${SERVICE_PASSWORD_APIKEY}
- BACKGROUND_NUM_WORKERS=${BACKGROUND_NUM_WORKERS:-1}
- WORKSPACE=${WORKSPACE:-default}
depends_on:
elasticsearch:
condition: service_healthy
redis:
condition: service_healthy
postgres:
condition: service_healthy
volumes:
- "argilla-data:/var/lib/argilla"
command: "sh -c 'python -m argilla_server worker --num-workers $${BACKGROUND_NUM_WORKERS}'"
healthcheck:
test:
- CMD-SHELL
- pwd
interval: 10s
timeout: 10s
retries: 5
postgres:
image: "postgres:14"
environment:
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_DB=${POSTGRES_DB:-argilla}
volumes:
- "pg-data:/var/lib/postgresql/data"
healthcheck:
test:
- CMD-SHELL
- "pg_isready -h localhost -U $${POSTGRES_USER} -d $${POSTGRES_DB}"
interval: 5s
timeout: 5s
retries: 3
redis:
image: "redis:7"
volumes:
- "redis-data:/data"
healthcheck:
test:
- CMD-SHELL
- "redis-cli -h localhost -p 6379 ping"
interval: 5s
timeout: 5s
retries: 3
elasticsearch:
image: "docker.elastic.co/elasticsearch/elasticsearch:8.12.2"
environment:
- node.name=${NODE_NAME:-elasticsearch}
- cluster.name=${CLUSTER_NAME:-es-argilla-local}
- discovery.type=${DISCOVERY_TYPE:-single-node}
- "ES_JAVA_OPTS=${ES_JAVA_OPTS:-\"-Xms512m -Xmx512m\"}"
- cluster.routing.allocation.disk.threshold_enabled=${CLUSTER_ROUTING_ALLOCATION_DISK_THRESHOLD_ENABLED:-false}
- xpack.security.enabled=${XPACK_SECURITY_ENABLED:-false}
ulimits:
memlock:
soft: -1
hard: -1
volumes:
- "elasticsearch-data:/usr/share/elasticsearch/data/"
healthcheck:
test:
- CMD-SHELL
- "curl --silent --fail http://elasticsearch:9200"
interval: 10s
timeout: 10s
retries: 5