meldestelle/.dockerignore
Stefan Mogeritsch e8dd8cf48f build: switch to hybrid build for Kotlin/JS web-app and optimize Docker setup
Replaced multi-stage Docker builds with a hybrid approach that pre-builds frontend artifacts locally and copies them into the container. Removed Kotlin Multiplatform configurations from the root project to resolve NodeJsRootPlugin conflicts. Adjusted `.dockerignore` to allow pre-built artifacts and increased Gradle/Kotlin daemon memory for faster builds. Updated Caddyfile for runtime stability and added documentation for new build processes.
2026-02-04 15:34:40 +01:00

227 lines
6.1 KiB
Plaintext

# ===================================================================
# Docker Ignore File for Meldestelle Project
# Optimizes build performance by excluding unnecessary files
# ===================================================================
# ===================================================================
# Version Control and Git
# ===================================================================
.git
.gitignore
.gitattributes
.gitmodules
**/.git
**/.gitignore
# ===================================================================
# Documentation and README files
# ===================================================================
*.md
**/README*
**/CHANGELOG*
**/LICENSE*
**/CONTRIBUTING*
docs/
**/*.md
# ===================================================================
# IDE and Editor files
# ===================================================================
.idea/
.vscode/
.settings/
.project
.classpath
*.swp
*.swo
*~
.DS_Store
Thumbs.db
*.sublime-*
*.iml
*.iws
*.ipr
# ===================================================================
# Build artifacts and cache directories
# ===================================================================
**/build/
**/target/
**/out/
**/.gradle/
**/node_modules/
**/dist/
**/tmp/
**/.cache/
**/.tmp/
**/kotlin-js-store/
# ===================================================================
# Test and Coverage reports
# ===================================================================
**/test-results/
**/coverage/
**/reports/
**/*.log
**/logs/
**/.coverage
**/.nyc_output
# ===================================================================
# Environment and Configuration files
# ===================================================================
# .env
# .env.example
# ===================================================================
# Docker and Container files
# ===================================================================
Dockerfile*
docker-compose*
.dockerignore
**/.dockerignore
# ===================================================================
# Development data and temporary files
# ===================================================================
dev-data/
temp-data/
*.tmp
*.temp
**/temp/
**/.temp/
# Exception: Allow temp/ping-service for Docker builds
!services/ping/ping-service/
# ===================================================================
# Gradle wrapper executable (keep gradle wrapper jar)
# ===================================================================
!gradle/wrapper/gradle-wrapper.jar
# ===================================================================
# Kotlin Multiplatform specific
# ===================================================================
**/build/js/
**/build/compileSync/
**/build/klib/
# ===================================================================
# Client build artifacts
# ===================================================================
**/build/distributions/
**/build/webpack-config-cache/
**/build/webpack/
# ===================================================================
# Monitoring and Logging (exclude from builds)
# ===================================================================
**/prometheus-data/
**/grafana-data/
**/*.log.*
**/log/
# ===================================================================
# Backup and Archive files
# ===================================================================
*.bak
*.backup
*.old
*.orig
*.zip
*.tar.gz
*.tar.bz2
*.tgz
# ===================================================================
# OS specific files
# ===================================================================
.DS_Store?
._*
.Spotlight-V100
.Trashes
ehthumbs.db
# ===================================================================
# JetBrains IDE
# ===================================================================
out/
.idea_modules/
# ===================================================================
# Package managers lock files (keep for reproducible builds)
# ===================================================================
# Keep these files for consistent dependency versions
!package-lock.json
!yarn.lock
!gradle.lockfile
# ===================================================================
# Build and deployment scripts (exclude from builds)
# ===================================================================
scripts/deploy/
scripts/backup/
scripts/monitoring/
Makefile
deploy.sh
backup.sh
# ===================================================================
# Security and certificates (never include in builds)
# ===================================================================
config/backend/infrastructure/ssl/
**/*.key
**/*.pem
**/*.p12
**/*.jks
**/*.crt
secrets/
**/*secret*
**/*password*
**/*credential*
# ===================================================================
# Database and data files
# ===================================================================
**/*.db
**/*.sqlite
**/*.sqlite3
**/postgres-data/
**/redis-data/
# ===================================================================
# Application specific exclusions
# ===================================================================
TODO*.md
NOTES*.md
**/.junie/
# ===================================================================
# Keep essential files (override exclusions)
# ===================================================================
# Gradle wrapper
!gradle/wrapper/gradle-wrapper.properties
# Essential configuration files for builds
!src/main/resources/application*.yml
!src/main/resources/application*.yaml
!src/main/resources/application*.properties
# Essential client configuration
!client/**/src/
!platform/
!core/
# Essential documentation for build
!docs/
# ===================================================================
# HYBRID BUILD EXCEPTIONS (Must be at the end!)
# ===================================================================
# We need to explicitly un-ignore the path to the pre-built artifacts.
# Since **/build/ and **/dist/ are ignored above, we must un-ignore
# the specific chain of directories.
!frontend/shells/meldestelle-portal/build/
!frontend/shells/meldestelle-portal/build/dist/
!frontend/shells/meldestelle-portal/build/dist/js/
!frontend/shells/meldestelle-portal/build/dist/js/productionExecutable/