Skip to content

FEATURE REQUEST:Add Docker Support for Backend to Simplify Local Development #189

@iamdwaseem

Description

@iamdwaseem

Is your feature request related to a problem?

  • Yes, it is related to a problem

Describe the feature you'd like

🌟 Feature Description

Introduce Docker support for the backend to simplify local development and ensure a consistent environment across different operating systems.

The goal is to provide a containerized development setup that allows contributors to run the backend with a single command instead of manually installing and configuring dependencies.

This would include adding:

A Dockerfile

A docker-compose.yml file

A .dockerignore file

Updated README instructions for Docker usage

🔍 Problem Statement

Currently, contributors must manually:

Install Python

Manage virtual environments

Install project dependencies

Configure environment variables

Ensure compatible versions of required tools

This can lead to:

Environment mismatch issues

Setup failures across different operating systems

Dependency conflicts

Increased onboarding time for new contributors

These issues can slow down development and discourage first-time contributors.

🎯 Expected Outcome

After implementing Docker support:

Contributors can start the backend using:

docker compose up --build

The backend runs inside an isolated, reproducible environment

Setup becomes faster and more reliable

Environment-related issues are significantly reduced

CI/CD integration becomes easier

📷 Screenshots and Design Ideas

Proposed repository additions:

/Dockerfile
/docker-compose.yml
/.dockerignore

Suggested workflow:

git clone
cd
docker compose up --build

The container would:

Build and run the Flask backend

Install all dependencies automatically

Expose the API on a local port

Optionally mount SQLite as a Docker volume

📋 Additional Context

Tech Stack:

Frontend: React Native

Backend: Flask (Python)

AI/NLP: LangChain

Database: SQLite

Record

  • I agree to follow this project's Code of Conduct
  • I want to work on implementing this feature

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions