deer-flow/.dockerignore

121 lines
2.8 KiB
Plaintext

**/.env
Dockerfile
.dockerignore
.git
.gitignore
docker/
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
env/
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
*.egg-info/
.installed.cfg
*.egg
.venv/
# Web
node_modules
npm-debug.log
.next
# IDE
.idea/
.vscode/
*.swp
*.swo
# OS
.DS_Store
Thumbs.db
# Project specific
conf.yaml
web/
docs/
examples/
assets/
tests/
*.log
# Exclude directories not needed in Docker context
# Frontend build only needs frontend/
# Backend build only needs backend/
scripts/
logs/
docker/
skills/
frontend/.next
frontend/node_modules
# Frontend unit tests can import fixtures outside frontend/ (for example, examples/),
# so exclude them from the frontend-only Docker build context.
frontend/tests
backend/.venv
backend/htmlcov
backend/.coverage
# Runtime data written by a running DeerFlow, not build inputs. backend/Dockerfile
# does `COPY backend ./backend`, so leaving these in the context both bakes the
# sqlite database, per-user uploads and the JWT secret into the image and breaks
# the build outright once the app has created directories owned by the container's
# root that the build client cannot read.
**/.deer-flow/
backend/sandbox/
# Local configuration holds model API keys, MCP credentials, frontend secrets and
# local HTTPS keys (frontend/*.pem, the frontend .gitignore's mkcert pair).
# Compose and Helm supply it at runtime. The config resolvers still read the legacy
# backend/ copies, and `COPY backend ./backend` / `COPY frontend ./frontend` would
# otherwise bake them into every image layer built from this checkout.
config.yaml
config.yaml.bak
extensions_config.json
mcp_config.json
backend/config.yaml
backend/config.yaml.bak
backend/extensions_config.json
backend/mcp_config.json
**/.env*.local
frontend/*.pem
*.md
!README.md
!frontend/README.md
!backend/README.md
# Extension manager snapshots must enter the backend builder intact. A Python
# package may require README metadata, native modules, or package assets that
# the general image-context exclusions above intentionally omit elsewhere.
!backend/extensions/
!backend/extensions/sources/
!backend/extensions/sources/**
# The re-inclusion above wins over every earlier rule, so the files the extension
# manager refuses to snapshot (deerflow/extensions/manager.py) are excluded again
# here. A snapshot the manager wrote never contains them; one edited by hand
# must not carry credentials into the image either.
backend/extensions/sources/**/.env
backend/extensions/sources/**/.env.*
backend/extensions/sources/**/.npmrc
backend/extensions/sources/**/.pypirc
backend/extensions/sources/**/credentials.json
backend/extensions/sources/**/*.key
backend/extensions/sources/**/*.pem
backend/extensions/sources/**/*.p12
backend/extensions/sources/**/*.pfx