Skip to content

Conversation

andiariffin
Copy link

Add Docker deployment support

This PR adds Docker deployment configuration for the Carbon app, enabling easy containerized deployment across different environments and architectures.

What's Added

  • Multi-stage Dockerfile - Optimized build with separate deps, builder, and runtime stages
  • Docker Compose configuration - Simple orchestration with health checks and restart policies
  • Docker ignore file - Excludes unnecessary files for faster builds and smaller images
  • Deployment README - Complete documentation with setup instructions and troubleshooting

File Structure

deploy/
└── docker/
    ├── Dockerfile
    ├── docker-compose.yml
    ├── .dockerignore
    └── README.md

Quick Start

cd deploy/docker
docker-compose up --build -d

Access at http://localhost:3000

Features

  • Platform agnostic - Works on x86_64, ARM64, and other Docker-supported architectures
  • Production ready - Non-root user, health checks, and optimized builds
  • Developer friendly - Simple commands with comprehensive documentation
  • Lightweight - Multi-stage build reduces final image size
  • Secure - Runs as non-privileged user with minimal attack surface

Configuration

Environment variables can be customized in docker-compose.yml:

  • NODE_ENV - Runtime environment
  • NEXT_TELEMETRY_DISABLED - Telemetry settings
  • PORT - Application port

Testing

  • Builds successfully on x86_64
  • Builds successfully on ARM64 (Apple Silicon)
  • Application starts and serves correctly
  • Health checks pass
  • Documentation is complete and accurate

Closes

Addresses community requests for official Docker support mentioned in #1378

Copy link

vercel bot commented Jul 9, 2025

@andiariffin is attempting to deploy a commit to the Carbon Team on Vercel.

A member of the Team first needs to authorize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant