# syntax=docker/dockerfile:1
#----------------------------------------------------------------------
# Docker Build Context Optimization
#
# This .dockerignore file excludes unnecessary files from the Docker
# build context to improve build performance and security.
#----------------------------------------------------------------------
#----------------------------------------------------------------------
# 1. Development and source directories (not needed in production)
#----------------------------------------------------------------------
agent_runtimes/
charts/
deployment/
docs/
deployment/k8s/
mcp-servers/
tests/
test/
attic/
*.md
.benchmarks/
.claude
# Development environment directories
.devcontainer/
.github/
.vscode/
.idea/
# AI agent configuration directories
.agent/
.agents/
.rovodev/
.windsurf/
.serena/
_bmad/
_bmad-output/
#----------------------------------------------------------------------
# 2. Version control
#----------------------------------------------------------------------
.git/
.gitignore
.gitattributes
.gitmodules
#----------------------------------------------------------------------
# 3. Python build artifacts and caches
#----------------------------------------------------------------------
# Byte-compiled files
__pycache__/
*.py[cod]
*.pyc
*$py.class
# C extensions
*.so
# Distribution / packaging
.Python
build/
develop-eggs/
dist/
downloads/
eggs/
.eggs/
lib/
lib64/
parts/
sdist/
var/
wheels/
share/python-wheels/
*.egg-info/
.installed.cfg
*.egg
MANIFEST
.wily/
# PyInstaller
*.manifest
*.spec
# Unit test / coverage reports
htmlcov/
.tox/
.nox/
.coverage
.coverage.*
.cache
nosetests.xml
coverage.xml
*.cover
*.py,cover
.hypothesis/
.pytest_cache/
cover/
# Translations
*.mo
*.pot
# mypy
.mypy_cache/
.dmypy.json
dmypy.json
# Pyre type checker
.pyre/
.pytype/
# Cython debug symbols
cython_debug/
#----------------------------------------------------------------------
# 4. Virtual environments
#----------------------------------------------------------------------
.env
.venv
.venv/
**/.venv
**/.venv/
env/
venv/
ENV/
env.bak/
venv.bak/
.python37/
.python39/
.python-version
# PDM
pdm.lock
.pdm.toml
.pdm-python
# uv
uv.lock
**/uv.lock
#----------------------------------------------------------------------
# 5. Package managers and dependencies
#----------------------------------------------------------------------
# Node.js
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
.npm
.yarn
# pip
pip-log.txt
pip-delete-this-directory.txt
#----------------------------------------------------------------------
# 6. Docker and container files (avoid recursive copies)
#----------------------------------------------------------------------
Dockerfile
Dockerfile.*
Containerfile
Containerfile.*
docker-compose.yml
docker-compose.*.yml
podman-compose*.yaml
.dockerignore
#----------------------------------------------------------------------
# 7. IDE and editor files
#----------------------------------------------------------------------
# JetBrains
.idea/
*.iml
*.iws
*.ipr
# VSCode
.vscode/
*.code-workspace
# Vim
*.swp
*.swo
*~
# Emacs
*~
\#*\#
.\#*
# macOS
.DS_Store
.AppleDouble
.LSOverride
#----------------------------------------------------------------------
# 8. Build tools and CI/CD configurations
#----------------------------------------------------------------------
# Testing configurations
.coveragerc
.pylintrc
.flake8
pytest.ini
tox.ini
.pytest.ini
# Linting and formatting
.hadolint.yaml
.pre-commit-config.yaml
.pycodestyle
.pyre_configuration
.pyspelling.yaml
.ruff.toml
.shellcheckrc
# Build configurations
Makefile
setup.cfg
pyproject.toml.bak
MANIFEST.in
# CI/CD
.travis.*
.gitlab-ci.yml
.circleci/
.github/
azure-pipelines.yml
Jenkinsfile
# Code quality
sonar-code.properties
sonar-project.properties
.scannerwork/
whitesource.config
.whitesource
# Other tools
.bumpversion.cfg
.editorconfig
mypy.ini
#----------------------------------------------------------------------
# 9. Application runtime files (should not be in image)
#----------------------------------------------------------------------
# MindsDB runtime data (created by docker volume mount, may have root-owned files)
mindsdb_data/
# Databases
*.db
*.sqlite
*.sqlite3
mcp.db
db.sqlite3
# Explicit database file patterns in application directories
mcpgateway/*.db
mcpgateway/*.sqlite
mcpgateway/*.sqlite3
mcpgateway/mcp.db
mcpgateway/test_migration.db
# Logs
*.log
logs/
log/
# Certificates and secrets
certs/
jwt/
*.pem
*.key
*.crt
*.csr
.env
.env.*
# Generated files
public/
static/
media/
# Application instances
instance/
local_settings.py
#----------------------------------------------------------------------
# 10. Framework-specific files
#----------------------------------------------------------------------
# Django
*.log
local_settings.py
db.sqlite3
db.sqlite3-journal
media/
# Flask
instance/
.webassets-cache
# Scrapy
.scrapy
# Sphinx documentation
docs/_build/
docs/build/
# PyBuilder
target/
# Jupyter Notebook
.ipynb_checkpoints
*.ipynb
# IPython
profile_default/
ipython_config.py
# celery
celerybeat-schedule
celerybeat.pid
# SageMath parsed files
*.sage.py
# Spyder project settings
.spyderproject
.spyproject
# Rope project settings
.ropeproject
# mkdocs documentation
/site
#----------------------------------------------------------------------
# 11. Backup and temporary files
#----------------------------------------------------------------------
*.bak
*.backup
*.tmp
*.temp
*.orig
*.rej
.backup/
backup/
tmp/
temp/
#----------------------------------------------------------------------
# 12. Documentation and miscellaneous
#----------------------------------------------------------------------
*.md
!README.md
# Application configuration files (explicitly include)
!mcp-catalog.yml
LICENSE
CHANGELOG
AUTHORS
CONTRIBUTORS
TODO
TODO.md
DEVELOPING.md
CONTRIBUTING.md
# Spelling
.spellcheck-en.txt
*.dic
# Shell scripts (if not needed in container)
test.sh
scripts/test/
scripts/dev/
#----------------------------------------------------------------------
# 13. OS-specific files
#----------------------------------------------------------------------
# Windows
Thumbs.db
ehthumbs.db
Desktop.ini
$RECYCLE.BIN/
# Linux
*~
.fuse_hidden*
.directory
.Trash-*
.nfs*
# Scratchpad (local notes, reviews, plans)
.scratchpad/
#----------------------------------------------------------------------
# End of .dockerignore
#----------------------------------------------------------------------