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.