Skip to main content

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.