File size: 1,938 Bytes
eb72b0e
af6e752
eb72b0e
ebc0ee1
eb72b0e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
dadb978
894004c
eb72b0e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
FROM opensearchproject/opensearch:2.11.0 AS opensearch

FROM redis:7-alpine AS redis

FROM argilla/argilla-server:latest

USER root

RUN apt-get update && apt-get install -y procps curl redis-server && rm -rf /var/lib/apt/lists/*

COPY --from=opensearch /usr/share/opensearch /opt/opensearch

RUN useradd -m -s /bin/bash opensearch || true \
    && mkdir -p /var/lib/argilla \
    && chown -R opensearch:opensearch /opt/opensearch

# Disable OpenSearch security
RUN echo "plugins.security.disabled: true" >> /opt/opensearch/config/opensearch.yml \
    && echo "discovery.type: single-node" >> /opt/opensearch/config/opensearch.yml

RUN sed -i 's/-Xms1g/-Xms256m/g' /opt/opensearch/config/jvm.options \
    && sed -i 's/-Xmx1g/-Xmx256m/g' /opt/opensearch/config/jvm.options

# Argilla server configuration
ENV DISABLE_SECURITY_PLUGIN=true
ENV ARGILLA_ELASTICSEARCH=http://127.0.0.1:9200
ENV ARGILLA_SEARCH_ENGINE=opensearch
ENV ARGILLA_REDIS_URL=redis://127.0.0.1:6379/0

# User credentials (correct variable names!)
ENV USERNAME=argilla
ENV PASSWORD=12345678
ENV API_KEY=argilla.apikey
ENV WORKSPACE=argilla

EXPOSE 7860

CMD redis-server --daemonize yes && \
    cd /opt/opensearch && su opensearch -c "./bin/opensearch -d" && \
    echo "Waiting for OpenSearch..." && \
    for i in $(seq 1 60); do \
      curl -s http://127.0.0.1:9200 > /dev/null 2>&1 && echo "OpenSearch ready!" && break; \
      sleep 3; \
    done && \
    python -m argilla_server database migrate && \
    if [ -n "$USERNAME" ] && [ -n "$PASSWORD" ]; then \
      cmd_args="--first-name $USERNAME --username $USERNAME --password $PASSWORD --role owner"; \
      if [ -n "$API_KEY" ]; then cmd_args="$cmd_args --api-key $API_KEY"; fi; \
      if [ -n "$WORKSPACE" ]; then cmd_args="$cmd_args --workspace $WORKSPACE"; fi; \
      python -m argilla_server database users create $cmd_args; \
    fi && \
    python -m argilla_server start --host 0.0.0.0 --port 7860