Hosting

For hosting, there are two essential parts that need to be hosted. These are the Xeditor client and the Xeditor middleware.

Xeditor Client

We can take the xeditor client productive through different ways. We now describe hosting via Docker and hosting via the operating system itself:

Docker

Prerequirements

  • Docker

Configuration

FROM docker.hub.xeditor.com/alpine-node-java:latest as builder
WORKDIR /usr/app
ARG XEDITOR_NPM_USER=""
ARG XEDITOR_NPM_PASSWORD=""
ARG XEDITOR_NPM_REGISTRY="https://hub.xeditor.com/repository/xeditor"
ARG XEDITOR_NPM_EMAIL="docker-login@xeditor.com"
RUN /opt/npm-login.sh ${XEDITOR_NPM_USER} ${XEDITOR_NPM_PASSWORD} ${XEDITOR_NPM_EMAIL} ${XEDITOR_NPM_REGISTRY} @xeditor
COPY ./package*.json ./
RUN npm clean-install
COPY . .
RUN npm run build:production
FROM nginx:alpine
COPY --from="builder" /usr/app/dist /usr/share/nginx/html

Xeditor Middleware

This topic is explained separately in the chapter of the middleware.

Using a reverse proxy

Ideally, there is a reverse proxy before the middleware and the Xeditor client. This allows the middleware and the Xeditor client to run on the same host/port. This avoids cross site scripting errors and additional OPTION requests.