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

Talawa-Admin Docker Support Issue #1075

Open
duplixx opened this issue Nov 19, 2023 · 67 comments
Open

Talawa-Admin Docker Support Issue #1075

duplixx opened this issue Nov 19, 2023 · 67 comments
Assignees
Labels
dependencies Pull requests that update a dependency file feature request

Comments

@duplixx
Copy link
Member

duplixx commented Nov 19, 2023

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 PalisadoesFoundation/talawa#359

@github-actions github-actions bot added dependencies Pull requests that update a dependency file unapproved labels Nov 19, 2023
@duplixx
Copy link
Member Author

duplixx commented Nov 19, 2023

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

@noman2002
Copy link
Member

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

@duplixx
Copy link
Member Author

duplixx commented Nov 19, 2023

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.

@aashimawadhwa
Copy link
Member

aashimawadhwa commented Nov 19, 2023

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

@DMills27
Copy link
Member

DMills27 commented Nov 23, 2023

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.

@palisadoes
Copy link
Contributor

@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?

@aarishshahmohsin
Copy link
Contributor

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

@duplixx
Copy link
Member Author

duplixx commented Nov 26, 2023

@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.

@noman2002
Copy link
Member

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

@EshaanAgg
Copy link
Contributor

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.

@noman2002
Copy link
Member

Thanks @EshaanAgg .
Closing this for now.

@noman2002 noman2002 closed this as not planned Won't fix, can't repro, duplicate, stale Nov 30, 2023
@palisadoes
Copy link
Contributor

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

@EshaanAgg
Copy link
Contributor

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

@palisadoes
Copy link
Contributor

palisadoes commented Dec 9, 2023

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 palisadoes reopened this Dec 17, 2023
@Gmin2
Copy link

Gmin2 commented Dec 17, 2023

can i get assigned?

@Gmin2
Copy link

Gmin2 commented Dec 20, 2023

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

@Gmin2 Gmin2 removed their assignment Dec 27, 2023
@shankeleven
Copy link

shankeleven commented Jan 5, 2024

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

@Devesh326
Copy link

@palisadoes can i work on this issue!

@Devesh326
Copy link

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!

@palisadoes
Copy link
Contributor

  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

@Devesh326
Copy link

Okay, thanks!

@vasujain275
Copy link

I have raised the PR for the Docker Support in Talawa Admin, here is the Summary of the changes -

1. Introduction of Docker Support:

  • This PR adds Docker support to Talawa Admin.
  • This enhancement aims to facilitate a smoother developer experience, especially for individuals contributing to Talawa API and Talawa App.

2. Consideration of Docker Methods:

  • Initially, the idea was to implement two Docker methods - dev and production.
  • However, upon scrutinizing the codebase, it was discovered that we are utilizing Create React App and react scripts for the build process.
  • The current build process is evidently not optimized for either production-ready minified binaries or Docker hot reloading.

3. Proposal for Build Process Improvement:

  • To address this limitation, I think we should migrate to a more suitable build process like Vite.
  • This migration is necessary to enable efficient building of both minified production-ready build files and Docker hot reloading.

4. Planned Actions:

  • After this PR is merged, I will raise an issue to migrate from React scripts to the Vite build process, we can have further discussion on build process there.
  • This action will lay the groundwork for future improvements in better and improved Docker support once the Build Process is sorted.

5. Current Status:

  • Currently, separate dev and prod Docker methods have not been implemented due to the inadequacy of the existing build process.
  • The current build process cannot produce minified production-ready build files, and a dev hot reloading Docker setup would be impractical due to the same issue.

@kb-0311 @noman2002 @palisadoes I highly recommand to migrate to VIte Build process, it will make our build process so much efficient, faster, simplified. I would appreciate your insights on this.

Copy link

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 github-actions bot added the no-issue-activity No issue activity label Mar 25, 2024
@vasujain275
Copy link

@Cioppolo14 Any update on pr review?

@github-actions github-actions bot removed the no-issue-activity No issue activity label Mar 26, 2024
@Cioppolo14
Copy link

@vasujain275 Sorry for the delay, I am back on it. I will follow up soon. Feel free to find me on slack too.

Copy link

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 github-actions bot added the no-issue-activity No issue activity label Apr 14, 2024
@Cioppolo14
Copy link

I am working on the review. Starting with API and working my way through.

@Cioppolo14 Cioppolo14 removed the no-issue-activity No issue activity label Apr 14, 2024
Copy link

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.

Copy link

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.

@VanshikaSabharwal
Copy link

VanshikaSabharwal commented Nov 8, 2024

@palisadoes I understand that the primary goal of the PR is to ensure the correct startup of Talawa-Admin within a Docker container, which is a valuable addition to the workflow. However, I believe that creating a Dockerfile for Talawa-Admin would significantly enhance its deployment and scalability. This would allow for a more self-contained and easily deployable application

@VanshikaSabharwal
Copy link

@palisadoes @DMills27 @noman2002 @varshith257 I'm open to collaborating with you and other contributors to implement Docker support for Talawa-Admin. We can discuss specific strategies and potential challenges.

Please let me know if you have any questions or require further assistance.

@VanshikaSabharwal
Copy link

Is this Dockerfile GTG or should i add something more.
image

@varshith257
Copy link
Member

@VanshikaSabharwal You can refer the previous attempt made which is close to what we need

#1726

@VanshikaSabharwal
Copy link

@VanshikaSabharwal You can refer the previous attempt made which is close to what we need

#1726

Okay i get it

@VanshikaSabharwal
Copy link

I was facing this issue while running docker file locally for talawa-admin.
image
. So i had to modify this file vite.config.ts file.
Before.
image

After
image
. After making above changes i am now able to run Docker file for talawa-admin.
image
image

SO should i raise PR now??

@palisadoes
Copy link
Contributor

If the problem is fixed, please open the PR

@palisadoes
Copy link
Contributor

During the week of November 11, 2024 we will start a code freeze on the develop branches in Talawa, Talawa Admin and Talawa-API.

We have completed a project to convert the Talawa-API backend to use PostgreSQL. Work will then begin with us merging code in the develop branches to a new develop-postrgres branch in each repository.

Planning activities for this will be managed in our #talawa-projects slack channel. A GitHub project will be created to track specially labeled issues. We completed a similar exercise last year using a similar methodology.

Starting November 12, California time no new PRs will be accepted against the develop branch. They must be applied to the develop-postrgres branch.

There are some GSoC project features that will need to be merged into develop. These will be the only exceptions.

This activity and the post GSoC 2024 start date was announced in our #general Slack channel last month as a pinned post.

@VanshikaSabharwal
Copy link

If the problem is fixed, please open the PR

Yes, This PR solves the issue. #2414

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file feature request
Projects
None yet
Development

No branches or pull requests