talawa-admin icon indicating copy to clipboard operation
talawa-admin copied to clipboard

Talawa-Admin Docker Support Issue

Open duplixx opened this issue 9 months ago • 57 comments

Talawa-Admin Docker Support Issue:

Title: Adding Docker Support to Talawa-Admin

Description:

Problem: Talawa-Admin currently lacks Docker support, hindering its ease of deployment and scalability. Adding Docker support is essential to streamline the deployment process and make it more accessible to a broader audience.

Solution: Implementing Docker support for Talawa-Admin would involve creating a Dockerfile and configuration to package the application into a Docker container. This containerization would simplify deployment, improve consistency across environments, and enhance scalability.

Approach: To achieve Docker support for Talawa-Admin, we can follow these steps:

  1. Create a Dockerfile specifying the necessary dependencies and configuration.
  2. Configure the application to work seamlessly within a Docker container.
  3. Document the steps for building and running Talawa-Admin using Docker in the project's README.

Additional Context: Adding Docker support aligns with modern development practices, making it easier for developers to set up and run Talawa-Admin in various environments. Docker containers provide isolation, portability, and reproducibility, contributing to a more robust and user-friendly development and deployment experience.

Potential internship candidates Please read this if you are planning to apply for a Palisadoes Foundation internship https://github.com/PalisadoesFoundation/talawa/issues/359

duplixx avatar Nov 19 '23 05:11 duplixx

Hey @palisadoes please assign me this issue. Thanks !!

duplixx avatar Nov 19 '23 06:11 duplixx

@duplixx Do we even need docker on the admin? If yes, please explain why we need it.

noman2002 avatar Nov 19 '23 11:11 noman2002

Hey @noman2002 , I strongly believe that integrating Docker into Talawa-Admin is essential. It effectively addresses significant challenges faced by developers and contributors.

  • Reduces Setup Issues for Contributors:

    • Docker ensures a standardized environment, minimizing setup issues for contributors.
    • Facilitates a more consistent development environment for everyone involved.
  • Eliminates "It Works on My Machine" Problem:

    • Docker eliminates the common challenge of code working differently on different machines.
    • Developers can confidently share and collaborate on the same codebase without encountering environment-related discrepancies.
  • Ensures Consistency Across Environments:

    • Talawa-Admin benefits from consistent environments across development, testing, and production.
    • Docker ensures that the application behaves uniformly, mitigating issues related to environment variations.
  • Confident Collaboration:

    • Developers can work on the same codebase without concerns about environment differences.
    • Docker fosters confident collaboration, enabling a smoother development process.

In summary, leveraging Docker in Talawa-Admin significantly improves collaboration, consistency, and reduces common challenges associated with environment setups.

duplixx avatar Nov 19 '23 16:11 duplixx

@kb-0311 @beingnoble03 @DMills27 @EshaanAgg would like to hear your thoughts on this.

aashimawadhwa avatar Nov 19 '23 17:11 aashimawadhwa

Docker is essentially being used as a stop gap, at the moment, until we can put in place a more sustainable means to achieve reproducibility. I propose we have a single Docker image that generates the API, Admin and Talawa Mobile Frontend. My reasoning is that it would incur additional complexity to create separate Docker images for these and then connect them; it is also inefficient in terms of computational resources that would be used.

DMills27 avatar Nov 23 '23 01:11 DMills27

@DMills27

  1. You mean API and the web Admin/User portal correct?
  2. How would we best approach this if we are using separate repos for the API and Admin?

palisadoes avatar Nov 23 '23 02:11 palisadoes

I could make a dockerfile for Talawa-Admin. I there is a need, Please assign this issue to me.

aarishshahmohsin avatar Nov 26 '23 13:11 aarishshahmohsin

@DMills27

  1. You mean API and the web Admin/User portal correct?
  2. How would we best approach this if we are using separate repos for the API and Admin?

In my view we should follow this approach

1. Dockerfile for Each Component

  • Create a Dockerfile for API and Admin.
  • Specify base images with necessary dependencies.

2. Docker Compose for Multi-Container Setup

  • Use Docker Compose for a multi-container setup.
  • Define services, networks, and volumes in docker-compose.yml.

3. Service Orchestration

  • Define dependencies between services.
  • Use container names for inter-service communication.

duplixx avatar Nov 26 '23 14:11 duplixx

@DMills27 @palisadoes Is this issue required or should we close this for now ??

noman2002 avatar Nov 30 '23 07:11 noman2002

It would only make sense for this issue if we publish the Talawa-API as a docker image on DockerHub, and then use it to setup the admin via Compose. Otherwise there is no need for the same as of now IMO.

EshaanAgg avatar Nov 30 '23 11:11 EshaanAgg

Thanks @EshaanAgg . Closing this for now.

noman2002 avatar Nov 30 '23 11:11 noman2002

@EshaanAgg As you spoke about publishing Talawa* on Docker Hub, should we reopen this issue?

palisadoes avatar Dec 07 '23 16:12 palisadoes

We are yet to make a docker image for Talawa APi. It would be apt to reopen the same after it.

EshaanAgg avatar Dec 09 '23 11:12 EshaanAgg

We are yet to make a docker image for Talawa APi. It would be apt to reopen the same after it.

The API got its docker instance created about 2 weeks ago. So we should reopen this issue.

palisadoes avatar Dec 09 '23 12:12 palisadoes

can i get assigned?

Gmin2 avatar Dec 17 '23 14:12 Gmin2

@EshaanAgg @noman2002 is the talawa image is published on dockerhub i cant see it?

Gmin2 avatar Dec 20 '23 18:12 Gmin2

@palisadoes please assign this issue to me, would love to work

shankeleven avatar Jan 05 '24 17:01 shankeleven

@palisadoes can i work on this issue!

Devesh326 avatar Jan 10 '24 18:01 Devesh326

Hey @aashimawadhwa and @palisadoes

I'm currently working on dockerizing Talawa Admin. To set up the Docker Compose file, I need the Docker image for Talawa API, but I couldn't find it anywhere.

Could you please guide me in the right direction or provide information about where I can obtain the Talawa API Docker image?

Thanks!

Devesh326 avatar Jan 13 '24 17:01 Devesh326

  1. You'll need to assume that the API is up and running.
  2. You will also need to update the setup script to accommodate the Docker support you'll be adding
    • https://github.com/PalisadoesFoundation/talawa-admin/issues/1233

palisadoes avatar Jan 13 '24 19:01 palisadoes

Okay, thanks!

Devesh326 avatar Jan 13 '24 19:01 Devesh326

  1. You'll need to assume that the API is up and running.

  2. You will also need to update the setup script to accommodate the Docker support you'll be adding

Hi @palisadoes,

I have created a PR to add dockerization support for talawa admin. Will update the setup script once that pr is merged to avoid conflicts.

Devesh326 avatar Jan 19 '24 10:01 Devesh326

This issue did not get any activity in the past 10 days and will be closed in 180 days if no update occurs. Please check if the develop branch has fixed it and report again or close the issue.

github-actions[bot] avatar Jan 30 '24 00:01 github-actions[bot]

Unassigning due to inactivity

palisadoes avatar Feb 06 '24 00:02 palisadoes

@Cioppolo14 I would like to work on it

varshith257 avatar Feb 06 '24 00:02 varshith257

Reviewing the previously attempted work

varshith257 avatar Feb 13 '24 12:02 varshith257

@palisadoes @Cioppolo14 @noman2002 Can I raise an issue for potential improvements to Talawa-API's Docker support? It's mandatory for this issue and also i need to publish the Talawa-Api docker image on DockerHub.

varshith257 avatar Feb 17 '24 20:02 varshith257

It would only make sense for this issue if we publish the Talawa-API as a docker image on DockerHub, and then use it to setup the admin via Compose. Otherwise there is no need for the same as of now IMO.

This is what I intended to do

varshith257 avatar Feb 17 '24 20:02 varshith257

@palisadoes Can I have an update on this?

varshith257 avatar Feb 19 '24 12:02 varshith257

@palisadoes @Cioppolo14 @noman2002 Can I raise an issue for potential improvements to Talawa-API's Docker support? It's mandatory for this issue and also i need to publish the Talawa-Api docker image on DockerHub.

We already have a docker API issue

palisadoes avatar Feb 19 '24 13:02 palisadoes