supertokens / supertokens-node

Node SDK for SuperTokens core
https://supertokens.com
Other
278 stars 72 forks source link

Add Dockerfile and Docker-Compose for Easy Setup #851

Open anuragmerndev opened 3 weeks ago

anuragmerndev commented 3 weeks ago

As a recent contributor to this project, I encountered significant challenges setting up the development environment on my Windows system. The setup process required installing WSL/Ubuntu and downloading Java for testing, which was time-consuming and complex. To simplify the setup for future contributors and ensure a consistent development environment across different operating systems, I propose adding a Dockerfile and Docker-Compose configuration to the repository.

Problem

Solution:

anuragmerndev commented 3 weeks ago

@rishabhpoddar I would like to take this issue to add docker and docker-compose setup, Can I work on the same ?

rishabhpoddar commented 3 weeks ago

Hey @anuragmerndev sure! Go for it. This is definitely a great idea. We had attempted a gitpod integration (see the readme here: https://github.com/supertokens/supertokens-root), but not sure if that still works.

anuragmerndev commented 3 weeks ago

Sure thank you will check that

anuragmerndev commented 3 weeks ago

@rishabhpoddar I am checking the gitpod for the containerization and development for the windows developers. Cause with the windows there's a thing that for windows docker is not correctly supporting bind mounts (hot reloading). So I am trying to understand and find a workaround for the docker bind mounts for windows and also looking into gitpod.

anuragmerndev commented 2 weeks ago

Hello @rishabhpoddar

To simplify the setup and testing process, especially for windows users, I am thinking about this approach:

Docker Support:

Gitpod Configuration:

Also for working on linux directly for supertokens-node on local machine. I did found one solution Vagrant they provide exactly what we need. It allows us to set up and run a virtual machine where developers can code directly from their IDE. The files will be synced with our host machine . However, developers will need to install and set up the virtual machine for this.

This approach ensures a consistent environment and simplifies setup with docker-compose up, Gitpod, or Vagrant.

Let me know if I can proceed.

rishabhpoddar commented 2 weeks ago

@anuragmerndev the approach you mentioned makes sense! thanks