File size: 3,001 Bytes
7758a4b
 
d9fea7f
 
 
4d9d78e
 
 
 
116bb4e
d9fea7f
4d9d78e
 
116bb4e
4d9d78e
116bb4e
 
 
4d9d78e
116bb4e
4d9d78e
 
 
 
 
116bb4e
 
 
 
 
 
 
 
 
 
4d9d78e
 
 
 
 
 
116bb4e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4d9d78e
 
 
 
116bb4e
 
 
 
 
 
d9fea7f
4d9d78e
116bb4e
 
 
 
4d9d78e
 
 
116bb4e
4d9d78e
 
 
 
 
 
 
116bb4e
 
 
 
7758a4b
116bb4e
 
 
d9fea7f
116bb4e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7758a4b
116bb4e
 
d9fea7f
116bb4e
d9fea7f
116bb4e
d9fea7f
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
services:
  app:
    extends:
      file: docker-compose.yml
      service: app
    depends_on:
      argilla:
        condition: service_healthy
        required: false
    environment:
      - ARGILLA_API_URL=http://argilla:6900

  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:8.17.0
    environment:
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
      - node.name=elasticsearch
      - cluster.name=es-argilla-local
      - discovery.type=single-node
      - cluster.routing.allocation.disk.threshold_enabled=false
      - xpack.security.enabled=false
    volumes:
      - es_data:/usr/share/elasticsearch/data
    networks:
      - app-network
    ports:
      - "9200:9200"
      - "9300:9300"
    ulimits:
      memlock:
        soft: -1
        hard: -1
      nofile:
        soft: 65536
        hard: 65536
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:9200"]
      interval: 30s
      timeout: 10s
      retries: 3

  postgres:
    image: postgres:14
    environment:
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres
      POSTGRES_DB: argilla
    networks:
      - app-network
    volumes:
      - postgres_data:/var/lib/postgresql/data

  redis:
    image: redis
    networks:
      - app-network

  argilla:
    image: argilla/argilla-server:latest
    ports:
      - "6900:6900"
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:6900/api/ready"]
      interval: 30s
      timeout: 10s
      retries: 3
    env_file:
      - .env
    environment:
      - ARGILLA_HOME_PATH=/var/lib/argilla
      - ARGILLA_ELASTICSEARCH=http://elasticsearch:9200
      - ARGILLA_DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/argilla
      - ARGILLA_REDIS_URL=redis://redis:6379/0
      - USERNAME=${ARGILLA_USERNAME}
      - PASSWORD=${ARGILLA_PASSWORD}
      - API_KEY=${ARGILLA_API_KEY}
      - WORKSPACE=default
    volumes:
      - argilla_data:/argilla
    networks:
      - app-network
    depends_on:
      elasticsearch:
        condition: service_healthy
      postgres:
        condition: service_started
      redis:
        condition: service_started

  worker:
    image: argilla/argilla-server:latest
    env_file:
      - .env
    environment:
      - ARGILLA_HOME_PATH=/var/lib/argilla
      - ARGILLA_ELASTICSEARCH=http://elasticsearch:9200
      - ARGILLA_DATABASE_URL=postgresql+asyncpg://postgres:postgres@postgres:5432/argilla
      - ARGILLA_REDIS_URL=redis://redis:6379/0
      - BACKGROUND_NUM_WORKERS=2
      - USERNAME=${ARGILLA_USERNAME}
      - PASSWORD=${ARGILLA_PASSWORD}
      - API_KEY=${ARGILLA_API_KEY}
      - WORKSPACE=default
    networks:
      - app-network
    depends_on:
      - postgres
      - elasticsearch
      - redis
    command: sh -c 'python -m argilla_server worker --num-workers $${BACKGROUND_NUM_WORKERS}'

volumes:
  es_data:
    name: synthetic-data-es
  argilla_data:
    name: synthetic-data-argilla
  postgres_data:
    name: synthetic-data-postgres