In v4, if you want to run Grouper in a different OS, e.g. centos, you need to look at the ship SP Dockerfile that Grouper uses, and the Grouper Dockerfile, and do the OS stuff, and copy the Grouper built stuff
Here is an example that works with Grouper v4.1.2. Going forward you should perdiocially check on changes to the Dockerfiles to make sure you incorporate any applicable changes
This will be in git under Grouper: Dockerfile_centos in 4.1.5+
FROM i2incommon/grouper:4.1.2 as grouperContainer FROM centos:centos7 COPY --from=grouperContainer /opt /opt COPY --from=grouperContainer /usr/local/bin /usr/local/bin LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \ Vendor="TIER" \ ImageType="Grouper" \ ImageName=$imagename \ ImageOS=centos7 ARG GROUPER_CONTAINER_VERSION ENV GROUPER_VERSION=4.1.2 \ GROUPER_CONTAINER_VERSION=4.1.2 \ JAVA_HOME=/usr/lib/jvm/java-17-amazon-corretto \ PATH=$PATH:$JAVA_HOME/bin \ GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF # net-tools curl mlocate strace telnet man vim rsyslog cron httpd mod_ssl cronie RUN rm -fr /var/cache/yum/* && yum clean all && yum -y install --setopt=tsflags=nodocs epel-release \ && yum update -y \ && yum install -y logrotate python3-pip rsync sudo patch supervisor wget tar unzip dos2unix file net-tools curl mlocate logrotate strace telnet man vim rsyslog cronie httpd mod_ssl findutils \ && pip3 install --upgrade setuptools \ && yum clean -y all \ && groupadd -r tomcat \ && useradd -r -m -s /sbin/nologin -g tomcat tomcat # Install Corretto Java JDK #Corretto download page: https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html # Install Corretto Java JDK (newer more arch independent way) RUN rpm --import https://yum.corretto.aws/corretto.key \ && curl -L -o /etc/yum.repos.d/corretto.repo https://yum.corretto.aws/corretto.repo \ && yum install -y java-17-amazon-corretto-devel RUN /opt/container_files/docker-build-bin/containerDockerfileInstallPermissions.sh tomcat root # testing container # docker build -f Dockerfile_centos -t mygrouper # see output with # DOCKER_BUILDKIT=0 docker build --progress=plain -t mygrouper . # docker run --detach --name mygrouper mygrouper:latest # docker exec -it mygrouper bash # docker run --detach -e GROUPER_SELF_SIGNED_CERT=true -e GROUPER_MAX_MEMORY='3g' -e GROUPER_RUN_SHIB_SP=false -e GROUPERSYSTEM_QUICKSTART_PASS=pass -e GROUPER_UI_GROUPER_AUTH=true -e GROUPER_DATABASE_URL=jdbc:postgresql://host.docker.internal:5433/grouper -e GROUPER_DATABASE_USERNAME=grouper -e GROUPER_DATABASE_PASSWORD=pass -e GROUPER_AUTO_DDL_UPTOVERSION='v4.*.*' -e GROUPER_UI_CONFIGURATION_EDITOR_SOURCEIPADDRESSES='0.0.0.0/0' -e GROUPER_START_DELAY_SECONDS=10 --publish 8081:8080 -e GROUPER_RUN_APACHE=false --name mygrouper mygrouper:latest ui WORKDIR /opt/grouper/grouperWebapp/WEB-INF/ EXPOSE 80 443 HEALTHCHECK NONE ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] #ENTRYPOINT ["ping"] #CMD ["google.com"]