You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@ofbiz.apache.org by "Daniel Watford (Jira)" <ji...@apache.org> on 2023/02/10 14:40:00 UTC

[jira] [Created] (OFBIZ-12757) Experiment with deploying OFBiz containers to the demo sites server

Daniel Watford created OFBIZ-12757:
--------------------------------------

             Summary: Experiment with deploying OFBiz containers to the demo sites server
                 Key: OFBIZ-12757
                 URL: https://issues.apache.org/jira/browse/OFBIZ-12757
             Project: OFBiz
          Issue Type: New Feature
          Components: Demo
    Affects Versions: Upcoming Branch
            Reporter: Daniel Watford
            Assignee: Daniel Watford


This ticket has been created to track and report on progress with deploying OFBiz to the demo server (ofbiz-vm1.apache.org) using docker containers.

The rest of this ticket's description is an excerpt from a message sent to the PMC requesting server access and describing the intention behind the request. It is included here are it gives an overview of the experiment:
 
... I would like to explore the configuration of the VM and experiment with hosting an instance of OFBiz in a docker container.
 
If experimentation with container based deployments of OFBiz demo sites is successful, I believe the project could leverage such deployments in future to avoid issues around the installed JDK version not being compatible with all current demo sites.
h1. Proposed approach:
 * Create a branch in the ofbiz-framework repository from trunk where Dockerfiles and other changes to the build process needed to produce Docker containers for demo sites can be implemented.
 * Create one or more CNAME DNS entries, pointing to [ofbiz-vm1.apache.org|http://ofbiz-vm1.apache.org/], which can be used to access any experimental container-based demo site instances.
 * Deploy Traefik as a reverse proxy to access the experimental demo sites, assuming this approach does not conflict with any reverse proxy solution already in place on the VM - hence the need to gain access and explore the current server configuration.
 * Create build configuration(s) for the new branch to build the ofbiz-framework as a container image with pre-loaded demo data, and push the container image to an appropriate container repository.
 * Implement scripts at the VM to pull and deploy the latest version of the demo container image daily.

h1. Items to explore/resolve:
h2. How should we build container images? 
We should be able to use either BuildBot or GitHub Actions for this. I assume BuildBot is preferred since we already have builds running in that service and it is managed directly by the ASF.
h2. Where should we store built container images? 
Infra have advised (via Slack) that the ASF has a space within Docker Hub and also has an Artifactory instance ([apache.jfrog.io|http://apache.jfrog.io/]). It looks like we are free to use either to host container images. I imagine we would want to use whichever service helps us manage the lifecycle of container images (e.g. expire older images).
h2. How to create DNS entries?
I imagine Infra will advise.
h1. Expected benefits if experiment is successful:
 * All dependencies used by OFBiz, including the JDK, are packaged in the container image. We should be able to deploy different instances of OFBiz on the same VM without fear of JDK version clash.
 * Act as a catalyst to help the project settle on an approach to containerisation and further alter OFBiz to better support container deployments.
 * Provide an alternative deployment option for users to deploy and evaluate OFBiz.
 * Help committers test PRs:
 ** I often test PRs by creating a trunk container image with demo data loaded. From this I then create a second image, specific to the PR under test, which is fast to build and load since the bulk of computation and data processing has already been handled in the base image. Once testing is complete I throw away the second image and can quickly resume work from the base image.

h1. Future work if experiment is successful:
 * Incorporate container build scripts into trunk.
 * Build versions of the OFBiz demo container that include plugins.
 * Start using containers for demo site deployments.
 * Promote containers as a supported deployment mechanism:

 ** Develop guidance for connecting OFBiz containers with external databases.
 ** See this GitHub repository for a setup of OFBiz with PostgreSQL: [danwatford/docker-postgres-ofbiz (github.com)|https://github.com/danwatford/docker-postgres-ofbiz]

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)