-
Notifications
You must be signed in to change notification settings - Fork 493
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
Dataverse container-based development environment #9423
Comments
I just tried That is to say, it spun up Docker containers for PostgreSQL, Solr, and a mail server. Then installed Payara locally, ran the installer, and now I have a working Dataverse installation! With a good portion of it running in containers! This is actually really convenient for me because I just bought a new Macbook at home and I only use PostgreSQL for Dataverse so running it in a container seems fine. I'd say we're well on our way toward containerizing the services (for dev): Next we'll need to think hard about an approach for containerizing Dataverse itself (for dev): Great job, @GPortas!! 🎉 🚀 Since the mail server for dev is new (I guess it's called MailDev), here's a screenshot. This was me clicking the "Support" link in the header and filling out a form. |
Should we close this issue in favor of this one... ... and then just fix stuff along the way as more developers use Docker? |
@GPortas and I agree. Close it! See https://preview.guides.gdcc.io/en/develop/container/dev-usage.html for how to use containers! 🎉 |
Overview of the Feature Request
The goal is making Dataverse development environment setup and management easier, from the initial installation to the day-to-day development. The following points have been considered when opting for a container-based development environment:
In addition, introducing this, currently development-oriented, offers the following advantages, which are transferable and beneficial for a future container-based production environment.
For Dataverse, a custom Docker image is required. As for now is just for development purposes only, we can resort to fake properties or dependencies when needed (such as fake DOI values or SMTP server). Ideally this image will be evolved for productive use as well.
For Dataverse dependencies (PostgreSQL, Solr, etc) we should use official images where possible or create custom ones if the official ones are not enough. In the case of Keycloak, it would become part of these services too, based on the existing docker (and docker-compose) configuration recently added to the code base.
The ultimate goal is to have a docker-compose file that we can manage to have a full dev environment deployed locally (with persistent volumes when necessary). We can take inspiration from this: https://github.com/harvard-lts/drs-import-management-service/blob/main/docker-compose-dev.yml
What kind of user is the feature intended for?
Developers
What inspired the request?
docker-compose up --build
- to build dependencies and start the containersdocker-compose run server ./migrate.sh
- for dev, it's ok to run a script to do some config after the container is runningdocker-compose down --rmi
- to delete all containersWhat existing behavior do you want changed?
Dataverse development environment setup
Any brand new behavior do you want to add to Dataverse?
No, should be the same.
Any related open or closed issues to this feature request?
The text was updated successfully, but these errors were encountered: