Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker Support for Issue Docker Support #85 #112

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

SANTHOSH-SACHIN
Copy link

@SANTHOSH-SACHIN SANTHOSH-SACHIN commented Feb 22, 2025

Docker Support for Data Formulator

Overview

This PR adds comprehensive Docker support to Data Formulator, enabling easier deployment and development. The implementation includes multi-stage builds, environment variable management, and production-ready configurations.

Key Changes

  • Added multi-stage Dockerfile optimized for both development and production
  • Implemented docker-compose.yml for simplified deployment
  • Added docker-entrypoint.sh with production/development mode support
  • Enhanced environment variable handling for API keys and configuration
  • Updated documentation with Docker setup instructions

Features

  • Multi-stage Build: Optimized image size by separating frontend build from runtime
  • Environment Management: Flexible configuration through environment variables
  • Development Mode: Volume mounting for live code updates
  • Production Mode: Gunicorn support for production deployments
  • API Key Management: Secure handling of provider API keys

Documentation Updates

  • Added Docker deployment instructions to README.md
  • Created comprehensive DOCKER.md guide
  • Updated DEVELOPMENT.md with Docker workflow
  • Added configuration documentation

Related Files

  • Dockerfile
  • docker-compose.yml
  • docker-entrypoint.sh
  • DOCKER.md
  • Updated README.md and DEVELOPMENT.md

Dependencies

  • Python 3.12
  • Node.js 18
  • Required Python packages in requirements.txt
  • Frontend dependencies in package.json

Security Considerations

  • API keys managed through environment variables
  • No sensitive data in Docker images
  • Production-ready Gunicorn configuration
  • Proper permission handling in containers

Breaking Changes

None. This is an additive change that maintains backward compatibility with existing deployment methods.

Future Work

  • Container orchestration support (Kubernetes)
  • Additional deployment environment configurations
  • CI/CD pipeline integration
    @Chenglong-MS @danmarshall

@SANTHOSH-SACHIN
Copy link
Author

@microsoft-github-policy-service agree

@danmarshall
Copy link
Collaborator

Thanks for the PR, but we already have an existing PR for this: #90 . Would you mind looking at that one and let us know how this differs?

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.

2 participants