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

Update or deprecate this repo #5

Open
jakkarth opened this issue Apr 23, 2019 · 6 comments
Open

Update or deprecate this repo #5

jakkarth opened this issue Apr 23, 2019 · 6 comments

Comments

@jakkarth
Copy link

Hey there. This repo appears to be extremely out of date compared to the contents of the main repo. There are open issues and pull requests here that don't fully address the problems. For example, the current version of OpenBoxes requires mysql 5.7.7 or higher for the product_demand view to be created properly, but the compose file specifies 5.6.

If this repo is not going to be actively maintained, then the repo should be deleted, or at the very least the README should be updated to indicate it's not maintained and shouldn't be used.

@jhgehrs
Copy link

jhgehrs commented Apr 9, 2022

@jmiranda please archive this repo or put in the readme, that this is not be active devolped, thanks :-)

@jmiranda
Copy link
Member

jmiranda commented Apr 9, 2022

Apologies @jakkarth @jhgehrs. I don't use this repo myself and don't get notifications about these PRs / issues so I was unaware of the issues until @jhgehrs mentioned me. If people are actually using this repo, I'll commit more time to maintaining it, getting PRs reviewed and merged. Thanks @jhgehrs for bringing it to my attention.

@jyeary
Copy link
Contributor

jyeary commented Feb 22, 2024

We are evaluating the project but without a simple deployable Docker build this is nearly impossible. I managed to get the application to eventually run by building the containers by hand. The need for a clean Docker deployment is a necessity these days to attract people to the project.

@jyeary
Copy link
Contributor

jyeary commented Feb 22, 2024

See Updated Docker Build Process #17 for an updated approach

@jmiranda
Copy link
Member

jmiranda commented Feb 23, 2024

@jyeary I was drafting the following response somewhere between your first and second comment, but didn't get a chance to finish until just now. Thank you so much for the PR. I'll review that as soon as I can.


@jyeary I completely agree. And we could use your help if you're interested / have time.

Here's a Dockerfile for Grails 1 / Java 7.
https://github.com/openboxes/openboxes-docker/blob/master/grails-java7/Dockerfile

Note: This is for a development instance of OpenBoxes which is good enough for evaluation, but should never be executed in a production environment.

For a "production" environment, the docker compose might look more like the one in our main repository
https://github.com/openboxes/openboxes/tree/develop/docker

However, this requires you to build the WAR file from source (or download the WAR file from our releases page) and the docker compose maps a volume to where the Docker tomcat instance can find it. Not the most elegant way of using Docker, in my opinion, but it was the best we could do at the time.

A better approach might be to define a Dockerfile based on a version of Tomcat 7 and then start pushing Docker images to a repository (DockerHub, AWS ECR, GitHub packages, etc) using our CI/CD pipeline. Then a user can just map a volume for the OpenBoxes config file and they'd be off.

Finding the time to do that has been a challenge and I didn't have much luck finding a suitable Tomcat 7 docker image, so I postponed the work until we were able to finish the migration to Grails 3.

@jmiranda
Copy link
Member

That brings us to today. Or to two months ago, rather.

Back at the end of December, we finished development and testing of OpenBoxes v0.9.0, which included a long-awaited migration to Grails 3. This version was deployed to production servers owned and operated by Partners In Health (pih.org), the main organization behind OpenBoxes. Everything with the migration and deployment went smoothly.

However, there is still a huge list of tasks that we need to complete before we can release the new version to the community (see screenshot of Jira epic below).

The Docker work you mentioned above should be part of that release process, but given that this is an open-source project (where there are more needs than resources) it probably won't get done in the timeliest of manners.

But I will create some ticket(s) to track the Docker work that needs to be completed for the new release and include it in the aforementioned epic.

Here's what I think we need/want to do. Let me know if I'm missing any obvious tasks.

  • [Should] Spike: Investigate using Gradle to generate Dockerfile and build image https://guides.grails.org/grails4/grails-as-docker-container/guide/index.html

  • [Should] Create new Dockerfile which executes standalone JAR (running embedded Tomcat 8 instance)

      FROM azul/zulu-openjdk-alpine:8-latest
      MAINTAINER OpenBoxes "[email protected]"
      EXPOSE 8080
      WORKDIR /app
      COPY *.jar application.jar
      CMD ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/application.jar"]
    
  • [Should] Create a new Dockerfile using Tomcat 8 or 9 as base image and deployable WAR (https://hub.docker.com/_/tomcat)

  • [Could] Execute CI/CD pipeline for major branches (develop, main, etc) to build docker image using new Dockerfile

  • [Must] Manually publish latest versions of OpenBoxes images to DockerHub and other repositories (i.e. GitHub packages)

  • [Could] Automate publishing of docker images to DockerHub and other repositories (GitHub packages)

  • [Must] Document approach for getting started using Docker (including instructions for setting up a MySQL/MariaDB instance)

  • [Must] Document approach for overriding runtime configuration properties using environment variables, properties file on mapped volumes

  • [Should] Create a new docker compose file to upgrade dependencies (JDK 8, Grails 3.3.16, MySQL 8) for running OpenBoxes in developer mode

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants