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

How to deploy apicurio back-end as well as front-end? #1394

Closed
yjoshi opened this issue Jan 28, 2021 · 4 comments
Closed

How to deploy apicurio back-end as well as front-end? #1394

yjoshi opened this issue Jan 28, 2021 · 4 comments
Labels

Comments

@yjoshi
Copy link

yjoshi commented Jan 28, 2021

We are trying to customise apicurio after making changes in both frontend and backend,we followed the steps to deploy the backend
1)ran "mvn clean install" on the root directory and then created dockerfile to build the image with wildfly as base image.
2)We are doubtful on the main jar that needs to be run in the container.
3)We will be deploying it to azure app service by pushing the image.

We are trying to deploy backend and frontend separately.

This is the Dockerfile for reference:

FROM jboss/base-jdk:11
ENV WILDFLY_VERSION 21.0.2.Final
ENV WILDFLY_SHA1 fd8c3cfce206485bcc187fb77df7783717d2b98b
ENV JBOSS_HOME /opt/jboss/wildfly

USER root

RUN cd $HOME \
    && curl -O https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz \
    && sha1sum wildfly-$WILDFLY_VERSION.tar.gz | grep $WILDFLY_SHA1 \
    && tar xf wildfly-$WILDFLY_VERSION.tar.gz \
    && mv $HOME/wildfly-$WILDFLY_VERSION $JBOSS_HOME \
    && rm wildfly-$WILDFLY_VERSION.tar.gz \
    && chown -R jboss:0 ${JBOSS_HOME} \
    && chmod -R g+rw ${JBOSS_HOME}


ENV LAUNCH_JBOSS_IN_BACKGROUND true

USER jboss


EXPOSE 8180


ADD init.sh /usr/local/bin/init.sh
Run mv ./distro/quickstart/target/apicurio-studio-0.2.48-SNAPSHOT/jboss-modules.jar /jboss-modules.jar/
ENTRYPOINT ["/usr/local/bin/init.sh", "-jar", "/jboss-modules.jar","-Djboss.socket.binding.port-offset=100"]
@EricWittmann
Copy link
Member

If you are deploying the components separately, I think you will need three separate components:

I wouldn't recommend trying to use the Wildfly based quickstart for this - the quickstart is not intended to be a production deployment.

My suggestion is to build using maven, then build the above docker images (tag them however you want) and push them to some docker repository. For example, the official images on docker hub are build like this:

https://github.com/Apicurio/apicurio-studio/blob/master/.github/workflows/release.yaml#L109-L114

And then they are later pushed like this:

https://github.com/Apicurio/apicurio-studio/blob/master/.github/workflows/release.yaml#L165-L167

Once that is done, you can see how to configure those docker images by looking at the OpenShift template here:

https://github.com/Apicurio/apicurio-studio/blob/master/distro/openshift/apicurio-template.yml

Or if you prefer Docker Compose, you can see that here:

https://github.com/Apicurio/apicurio-studio/tree/master/distro/docker-compose

Either of those should contain all of the configuration settings you should need to get it working.

Please note that you will also need a database (e.g. a postgresql database) and a running and configured instance of Keycloak. More information on all of this can be found in this article:

https://www.apicur.io/studio/docs/running-apicurio-on-openshift-or-docker

Other articles may be useful - they are all listed here: https://www.apicur.io/studio/docs/

@yjoshi
Copy link
Author

yjoshi commented Jan 29, 2021

Thanks @EricWittmann this was helpful !!

@Surbhi27946
Copy link

Hi @EricWittmann
WE also are looking to deploy all the components - Api, UI and WS individually.
Can you please refer the individual repositories for these 3 components, if there are any. And also the Dockerfiles that we can refer to individually deploy these 3 components.

Thanks.

@EricWittmann
Copy link
Member

@Surbhi27946 Some of your questions are answered here:

https://www.apicur.io/studio/docs/running-apicurio-on-openshift-or-docker

There is only one source repository. The sub-modules for the runtime components currently used in our docker images are here:

https://github.com/Apicurio/apicurio-studio/tree/master/platforms/thorntail

There is a Dockerfile in each of those folders.

Please note, however, that in the future we will be moving away from Thorntail and onto Quarkus. So I might recommend that you try the Quarkus platform first:

https://github.com/Apicurio/apicurio-studio/tree/master/platforms/quarkus

You'll possibly be a little ahead of us, but that's the future. Thorntail will be deprecated soon.

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

No branches or pull requests

3 participants