version: '3.8' | |
services: | |
app: | |
build: . | |
ports: | |
- "7860:7860" | |
env_file: .env | |
networks: | |
- app-network | |
depends_on: | |
ollama: | |
condition: service_healthy | |
required: false | |
argilla: | |
condition: service_healthy | |
required: false | |
ollama: | |
image: ollama/ollama:${OLLAMA_HARDWARE:-latest} | |
profiles: | |
- with-ollama | |
ports: | |
- "11434:11434" | |
volumes: | |
- ollama_data:/root/.ollama | |
networks: | |
- app-network | |
healthcheck: | |
test: ["CMD", "curl", "-f", "http://localhost:11434/api/health"] | |
interval: 30s | |
timeout: 10s | |
retries: 3 | |
command: ollama serve | |
elasticsearch: | |
image: docker.elastic.co/elasticsearch/elasticsearch:7.17.13 | |
environment: | |
- discovery.type=single-node | |
- xpack.security.enabled=false | |
volumes: | |
- es_data:/usr/share/elasticsearch/data | |
networks: | |
- app-network | |
healthcheck: | |
test: ["CMD", "curl", "-f", "http://localhost:9200"] | |
interval: 30s | |
timeout: 10s | |
retries: 3 | |
argilla: | |
image: argilla/argilla-server:latest | |
profiles: | |
- with-argilla | |
ports: | |
- "6900:6900" | |
env_file: .env | |
environment: | |
- USERNAME=${ARGILLA_USERNAME} | |
- PASSWORD=${ARGILLA_PASSWORD} | |
- API_KEY=${ARGILLA_API_KEY} | |
- ELASTICSEARCH_URL=http://elasticsearch:9200 | |
volumes: | |
- argilla_data:/argilla | |
networks: | |
- app-network | |
depends_on: | |
elasticsearch: | |
condition: service_healthy | |
healthcheck: | |
test: ["CMD", "curl", "-f", "http://localhost:6900/api/health"] | |
interval: 30s | |
timeout: 10s | |
retries: 3 | |
volumes: | |
ollama_data: | |
argilla_data: | |
es_data: | |
networks: | |
app-network: | |
driver: bridge |