Spaces:
Sleeping
Sleeping
| 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 | |