Services

The SMASHDOCs environment is a complement of a few services which are outlined here.

Frontend

Frontend delivers the SMASHDOCs user interface:

The frontend docker container runs a Nginx server which delivers all static content (HTML/CSS/javascript) required for SMASHDOCs web UI.

The container is designed to expect environmental variables for configuration and listens on port 80 by default.

Environmental Variables:

EnvVar Name Description
BASE_URL This resolvable URL tells the frontend where to find the the API backend.
API_KEY_{party name} Generated from the backend.
MODE Use ‘normal’ for SMASHDOCs Stand alone and ‘partner’ for integration mode

Backend

Backenend delivers the SMASHDOCs API:

The Backend docker container provides the API for the Frontend and partner integrations. The container is designed to expect environmental variables for configuration and listens on port 80 by default.

Environmental Variables:

Hint

The EMAIL setup is required, however if no SMTP username and password are supplied, there will be no authentication performed, which is usful for internal mailservers

E-Mail Setup

It is possible to configure a custom SMTP Server for all outgoing emails and to change the subjects of the standard sender email address and the sender name by adding the following environment variables

-e 'EMAIL_STANDARD_EMAIL=info@smashdocs.net' \
-e 'EMAIL_STANDARD_FROM=SMASHDOCs Team' \

MongoDB

The official docker container from MongoDB (https://hub.docker.com/_/mongo/)

NginX

This is a custom NginX build with extra modules which are needed for SMASHDOCs. In a default setup, this container will do the SSL termination.

Overall this container consists of 2 functions:

  1. Web requests and acts as a loadbalancer for frontend and backend connections.
  2. Uploading assets to be stored on disk.

Hint

It is important that this container has access to the same directory on the host system that we create for the backend.