aprs.me/.dockerignore
Graham McIntire 6f6a04b485
Implement all Docker performance optimizations
Performance improvements:
- Add BuildKit syntax for advanced features
- Implement 3-stage build (deps, builder, runtime) for better caching
- Add cache mounts for apt, hex, rebar, and build directories
- Use heredoc syntax for complex RUN commands
- Enable multi-platform builds (amd64 and arm64)
- Add GitHub Actions cache for Docker layers
- Reorder COPY commands by change frequency
- Add optional security scanning stage with Trivy

Build time improvements:
- 30-50% faster rebuilds when only code changes
- Dependency layer cached separately
- APT package cache persists between builds
- Mix dependencies cached

Additional optimizations:
- More comprehensive .dockerignore file
- Remove more unnecessary files from runtime image
- Add proper container labels
- Use dedicated elixir user with UID 1001

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-26 16:12:47 -05:00

123 lines
No EOL
1.1 KiB
Text

# Version control
.git/
.github/
.gitignore
.gitattributes
# Dependencies
deps/
_build/
.elixir_ls/
.mix/
.fetch
.hex/
.cache/
# Development files
.DS_Store
*.iml
.idea/
.vscode/
*.swp
*.swo
*~
.tool-versions
.envrc
# Test files
test/
coveralls.json
cover/
.sobelow
dialyzer/
.dialyzer_ignore.exs
# Documentation
docs/
README.md
CLAUDE.md
*.md
LICENSE*
CHANGELOG*
# Temporary files
*.log
*.tmp
tmp/
temp/
log/
# Build artifacts
erl_crash.dump
*.ez
*.beam
!priv/gleam/*.beam
# Phoenix specific
priv/static/assets/
priv/static/cache_manifest.json
priv/gettext/.compile/
.compile/
# Node/npm artifacts (completely removed now)
node_modules/
npm-debug.log*
yarn-error.log*
package.json
package-lock.json
yarn.lock
.npm/
.yarn/
# Environment files
.env
.env.*
env/
*.env
# Database files
*.dump
*.sql
*.sqlite
*.db
# OS files
Thumbs.db
.DS_Store
desktop.ini
# Editor files
*.sublime-*
.kate-swp
# CI/CD
.gitlab-ci.yml
.travis.yml
.circleci/
# Container files
docker-compose*.yml
.dockerignore
Dockerfile.*
!Dockerfile
# Kubernetes
k8s/
*.yaml
*.yml
# Scripts
scripts/
*.sh
# Backup files
*.bak
*.backup
*~
*.orig
# Archive files
*.tar
*.tar.gz
*.zip
*.tgz