# POST_DEPLOY_URL=http://你的服务器IP:8000
# POST_DEPLOY_MSG=打开浏览器访问上述地址创建管理员账号，把扫描的PDF或图片拖进去，AI会自动识别文字并分类。
version: "3.8"
services:
  paperless-ngx:
    image: ghcr.io/paperless-ngx/paperless-ngx:latest
    container_name: paperless-ngx
    restart: unless-stopped
    ports:
      - "8000:8000"
    volumes:
      - ./data:/usr/src/paperless/data
      - ./media:/usr/src/paperless/media
      - ./export:/usr/src/paperless/export
      - ./consume:/usr/src/paperless/consume
    environment:
      - PAPERLESS_REDIS=redis://paperless-redis:6379
      - PAPERLESS_DBENGINE=postgresql
      - PAPERLESS_DBHOST=paperless-db
      - PAPERLESS_DBPORT=5432
      - PAPERLESS_DBNAME=paperless
      - PAPERLESS_DBUSER=paperless
      - PAPERLESS_DBPASS=${DB_PASSWORD:-changeMe123!}
      - PAPERLESS_TIME_ZONE=Asia/Shanghai
      - PAPERLESS_OCR_LANGUAGES=chi_sim eng
      - PAPERLESS_SECRET_KEY=${SECRET_KEY:-change-me-to-a-random-string}
    depends_on:
      paperless-db:
        condition: service_healthy
      paperless-redis:
        condition: service_started

  paperless-db:
    image: postgres:16-alpine
    container_name: paperless-db
    restart: unless-stopped
    volumes:
      - ./db:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=paperless
      - POSTGRES_USER=paperless
      - POSTGRES_PASSWORD=${DB_PASSWORD:-changeMe123!}
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U paperless"]
      interval: 10s
      timeout: 5s
      retries: 5

  paperless-redis:
    image: redis:7-alpine
    container_name: paperless-redis
    restart: unless-stopped
