docker-compose.yml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. services:
  2. es:
  3. image: elasticsearch:9.2.1
  4. container_name: local-es
  5. environment:
  6. - discovery.type=single-node
  7. - xpack.security.enabled=false
  8. - "ES_JAVA_OPTS=-Xms512m -Xmx512m"
  9. ports:
  10. - "9200:9200"
  11. volumes:
  12. - es-data:/usr/share/elasticsearch/data
  13. networks:
  14. - simple-kb-network
  15. # restart: unless-stopped
  16. tika:
  17. image: apache/tika:latest
  18. container_name: simple-kb-tika
  19. ports:
  20. - "9998:9998"
  21. networks:
  22. - simple-kb-network
  23. restart: unless-stopped
  24. libreoffice:
  25. build:
  26. context: ./libreoffice-server
  27. dockerfile: Dockerfile
  28. container_name: simple-kb-libreoffice
  29. ports:
  30. - "8100:8100"
  31. volumes:
  32. - ./uploads:/app/uploads
  33. - ./temp:/temp
  34. networks:
  35. - simple-kb-network
  36. restart: unless-stopped
  37. ollama:
  38. image: ollama/ollama:latest
  39. container_name: simple-kb-ollama
  40. ports:
  41. - "11434:11434"
  42. environment:
  43. - OLLAMA_CPU_ONLY=1
  44. volumes:
  45. - ollama-data:/root/.ollama
  46. networks:
  47. - simple-kb-network
  48. restart: unless-stopped
  49. entrypoint: ["/bin/sh", "-c"]
  50. command: >
  51. "ollama serve &
  52. sleep 10 &&
  53. ollama pull qwen2.5:3b &&
  54. ollama pull nomic-embed-text:latest &&
  55. ollama pull llava-phi3:3.8b &&
  56. echo 'All models pulled successfully!' &&
  57. wait"
  58. # server:
  59. # build:
  60. # context: ./server
  61. # dockerfile: Dockerfile
  62. # container_name: simple-kb-server
  63. # environment:
  64. # - NODE_ENV=production
  65. # - NODE_OPTIONS=--max-old-space-size=8192
  66. # - PORT=3001
  67. # - DATABASE_PATH=/app/data/metadata.db
  68. # - ELASTICSEARCH_HOST=http://es:9200
  69. # - TIKA_HOST=http://tika:9998
  70. # - LIBREOFFICE_URL=http://libreoffice:8100
  71. # - JWT_SECRET=13405a7d-742a-41f5-8b34-012735acffea
  72. # - UPLOAD_FILE_PATH=/app/uploads
  73. # - DEFAULT_VECTOR_DIMENSIONS=2048
  74. # - TEMP_DIR=/app/temp
  75. # - CHUNK_BATCH_SIZE=50
  76. # volumes:
  77. # - ./data:/app/data
  78. # - ./uploads:/app/uploads
  79. # - ./temp:/app/temp
  80. # depends_on:
  81. # - es
  82. # - tika
  83. # - libreoffice
  84. # # restart: unless-stopped
  85. # networks:
  86. # - simple-kb-network
  87. # web:
  88. # build:
  89. # context: .
  90. # dockerfile: ./web/Dockerfile
  91. # args:
  92. # - VITE_API_BASE_URL=/api
  93. # container_name: simple-kb-web
  94. # depends_on:
  95. # - server
  96. # ports:
  97. # - "80:80"
  98. # - "443:443"
  99. # volumes:
  100. # - ./nginx/conf.d:/etc/nginx/conf.d
  101. # networks:
  102. # - simple-kb-network
  103. networks:
  104. simple-kb-network:
  105. driver: bridge
  106. volumes:
  107. es-data:
  108. driver: local
  109. ollama-data:
  110. driver: local
  111. simple-kb-data:
  112. driver: local