Files
hkuds--lightrag/docker-compose.podman.yml
T
2026-07-13 12:08:54 +08:00

41 lines
1.5 KiB
YAML

# Podman-compatible compose file for LightRAG
#
# Usage:
# podman-compose -f docker-compose.podman.yml up -d
#
# Key differences from docker-compose.yml:
# - Uses top-level `restart` instead of `deploy.restart_policy`
# (Podman does not support the deploy block for restart policies)
# - No `extra_hosts` with `host-gateway` (Podman fails on this special
# value; Podman auto-provides host.containers.internal for host access)
# - When connecting to host services (e.g. LLM, embedding, rerank),
# use `host.containers.internal` instead of `host.docker.internal`
# in your .env binding host configuration
services:
lightrag:
image: ghcr.io/hkuds/lightrag:latest
build:
context: .
dockerfile: Dockerfile
tags:
- ghcr.io/hkuds/lightrag:latest
ports:
- "${HOST:-0.0.0.0}:${PORT:-9621}:9621"
volumes:
- ./data/rag_storage:/app/data/rag_storage
- ./data/inputs:/app/data/inputs
- ./data/prompts:/app/data/prompts
- ./config.ini:/app/config.ini
- ./.env:/app/.env
restart: on-failure:10
environment:
WORKING_DIR: "/app/data/rag_storage"
INPUT_DIR: "/app/data/inputs"
PROMPT_DIR: "/app/data/prompts"
# The container must listen on 0.0.0.0 to be reachable via the published port.
# SECURITY: set LIGHTRAG_API_KEY (or AUTH_ACCOUNTS with TOKEN_SECRET) in .env
# so the exposed server is authenticated — without it every endpoint is public.
HOST: "0.0.0.0"
PORT: "9621"