Files
ChatbotAI/docker-compose.yml
2026-05-25 10:20:58 +08:00

98 lines
3.6 KiB
YAML

services:
app:
build:
context: .
dockerfile: Dockerfile
image: chatbotadmin:latest
container_name: chatbotadmin_app
restart: unless-stopped
ports:
- "${APP_PORT:-8080}:80"
env_file:
- path: .env
required: false
environment:
APP_NAME: "${APP_NAME:-Pangkalan Pengetahuan}"
APP_ENV: "${APP_ENV:-production}"
APP_KEY: "${APP_KEY:-}"
APP_DEBUG: "${APP_DEBUG:-false}"
APP_URL: "${APP_URL:-http://localhost}"
APP_LOCALE: "${APP_LOCALE:-ms}"
APP_FALLBACK_LOCALE: "${APP_FALLBACK_LOCALE:-ms}"
DB_CONNECTION: "${DB_CONNECTION:-mysql}"
DB_HOST: "${DB_HOST:-host.docker.internal}"
DB_PORT: "${DB_PORT:-3306}"
DB_DATABASE: "${DB_DATABASE:-knowledge_base}"
DB_USERNAME: "${DB_USERNAME:-root}"
DB_PASSWORD: "${DB_PASSWORD:-}"
CACHE_STORE: "${CACHE_STORE:-database}"
QUEUE_CONNECTION: "${QUEUE_CONNECTION:-database}"
SESSION_DRIVER: "${SESSION_DRIVER:-database}"
FILESYSTEM_DISK: "${FILESYSTEM_DISK:-local}"
OLLAMA_BASE_URL: "${OLLAMA_BASE_URL:-http://host.docker.internal:11434}"
OLLAMA_CHAT_MODEL: "${OLLAMA_CHAT_MODEL:-llama3}"
OLLAMA_EMBEDDING_MODEL: "${OLLAMA_EMBEDDING_MODEL:-nomic-embed-text}"
QDRANT_BASE_URL: "${QDRANT_BASE_URL:-http://host.docker.internal:6333}"
QDRANT_API_KEY: "${QDRANT_API_KEY:-}"
QDRANT_COLLECTION: "${QDRANT_COLLECTION:-knowledge_base}"
QDRANT_VECTOR_SIZE: "${QDRANT_VECTOR_SIZE:-768}"
RUN_LARAVEL_MIGRATIONS: "${RUN_LARAVEL_MIGRATIONS:-false}"
RUN_LARAVEL_STORAGE_LINK: "${RUN_LARAVEL_STORAGE_LINK:-true}"
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- chatbotadmin_storage:/var/www/html/storage
- chatbotadmin_cache:/var/www/html/bootstrap/cache
networks:
- chatbotadmin
queue:
image: chatbotadmin:latest
container_name: chatbotadmin_queue
restart: unless-stopped
depends_on:
- app
env_file:
- path: .env
required: false
environment:
APP_NAME: "${APP_NAME:-Pangkalan Pengetahuan}"
APP_ENV: "${APP_ENV:-production}"
APP_KEY: "${APP_KEY:-}"
APP_DEBUG: "${APP_DEBUG:-false}"
APP_LOCALE: "${APP_LOCALE:-ms}"
APP_FALLBACK_LOCALE: "${APP_FALLBACK_LOCALE:-ms}"
DB_CONNECTION: "${DB_CONNECTION:-mysql}"
DB_HOST: "${DB_HOST:-host.docker.internal}"
DB_PORT: "${DB_PORT:-3306}"
DB_DATABASE: "${DB_DATABASE:-knowledge_base}"
DB_USERNAME: "${DB_USERNAME:-root}"
DB_PASSWORD: "${DB_PASSWORD:-}"
CACHE_STORE: "${CACHE_STORE:-database}"
QUEUE_CONNECTION: "${QUEUE_CONNECTION:-database}"
SESSION_DRIVER: "${SESSION_DRIVER:-database}"
FILESYSTEM_DISK: "${FILESYSTEM_DISK:-local}"
OLLAMA_BASE_URL: "${OLLAMA_BASE_URL:-http://host.docker.internal:11434}"
OLLAMA_CHAT_MODEL: "${OLLAMA_CHAT_MODEL:-llama3}"
OLLAMA_EMBEDDING_MODEL: "${OLLAMA_EMBEDDING_MODEL:-nomic-embed-text}"
QDRANT_BASE_URL: "${QDRANT_BASE_URL:-http://host.docker.internal:6333}"
QDRANT_API_KEY: "${QDRANT_API_KEY:-}"
QDRANT_COLLECTION: "${QDRANT_COLLECTION:-knowledge_base}"
QDRANT_VECTOR_SIZE: "${QDRANT_VECTOR_SIZE:-768}"
extra_hosts:
- "host.docker.internal:host-gateway"
command: ["php", "artisan", "queue:work", "--queue=default", "--sleep=3", "--tries=2", "--timeout=600"]
volumes:
- chatbotadmin_storage:/var/www/html/storage
- chatbotadmin_cache:/var/www/html/bootstrap/cache
networks:
- chatbotadmin
networks:
chatbotadmin:
driver: bridge
volumes:
chatbotadmin_storage:
chatbotadmin_cache: