Monolith Forensics
  • Monolith Resources
    • Accessing Monolith
  • Monolith Features
    • 🏁Getting Started
      • Basic License Terms
      • Monolith Desktop Setup
      • Login & 2FA
      • SSO Login
      • First Steps
    • On-Premises Deployments
      • Managing Licensing
      • Requirements
      • Monolith Containers (Docker)
      • Deployment
        • .env
        • docker-compose.yml
        • Docker Installation
        • How to Deploy
        • Useful Commands
      • Monolith Data
      • Backups
        • Restoring Backups
      • Updates
      • Custom Domains and TLS
      • Connecting to File Shares
      • Update MySQL Container
      • Using External MySQL Database
      • Manually Update User Email
    • Monolith UI Features
      • Tables
      • Query Filter
      • Global Search
    • Cloud Security
      • Security Overview
      • Single Sign On (SSO)
    • Hardware Integrations
      • Dymo Label Printers
      • Printer Recommendations
      • Scanner Recommendations
      • Signature Tablets
    • Case Reports
      • Report Templates
        • Template Variables
        • Template Examples
      • Monolith Case Reports
    • Storage Items
    • Audits
      • Creating Audits
      • Viewing and Accessing Audits
      • Audit Features & Layout
      • Auditing Items
      • Using a scanner
    • People
      • Clients
        • Client Page
    • Lab Management
      • Forensic Software
      • Equipment
    • Settings
      • System
      • Email Notifications
      • Organization Info
      • Editor Templates
      • Relay Settings
        • Basic Details
        • User Management
        • Relay Instructions
        • Custom Field Options
      • Item Number Formats
      • Case Types
      • Case Statuses
      • Case Progress
      • Evidence Types
      • Evidence Progress
      • Item Labels
      • Custom Fields
      • Task Templates
      • Time Entry Categories
      • QA Checklist Items
      • QA Issue Types
      • Admin Log
      • Integrations
  • Monolith API
    • API Access
      • API Endpoints
      • Authentication
    • Info API
    • Cases API
      • Get Cases
      • Create Case
    • Evidence API
      • Get Evidence
      • Create Evidence
      • Update Evidence
      • Delete Evidence
      • Migrate Evidence
    • Locations API
      • Get Locations
    • Chain of Custody API
      • Get COC Records
      • Create COC Records
    • Clients API
      • Get Clients
      • Create Client
    • Inquiries API
      • Get Inquiries
      • Create Inquiries
    • Tasks API
      • Get Tasks
      • Create Task
    • Monolith Endpoints
  • About Monolith Forensics
    • Support
    • Privacy Policy
    • End User License Agreement
Powered by GitBook
On this page
  • Docker
  • How Monolith Works
  • Monolith Containers
  • NGINX proxy
  • Monolith App
  • Monolith API
  • Relay App
  • MySQL DB
  • File System
  • Watchtower
Export as PDF
  1. Monolith Features
  2. On-Premises Deployments

Monolith Containers (Docker)

Monolith utilizes Docker for on-premises deployments

PreviousRequirementsNextDeployment

Last updated 2 years ago

Docker

Docker is a platform that uses OS-level virtualization to deliver software in packages called "containers". Docker is used to deploy, manage, and run containers within a variety of environments.

Monolith is deployed in on-premises environments using containers and Docker is recommended as the container management system to run and manage Monolith.

How Monolith Works

Monolith runs in a server-client configuration where users access and manage data via the Monolith desktop client or web application. A Monolith API server runs on a centralized host and handles HTTP requests from the desktop clients and web application. The API server communicates with a database to create, update, delete, and read data from the database.

The image above illustrates the basic setup of containers within an on-premises deployment. The containerized nature of Monolith allows for flexible and scalable on-premises deployment options.

Monolith Containers

NGINX proxy

This is a web server container that handles incoming requests from clients and proxies traffic to one of 3 containers: Monolith Web App,Monolith API, or the Relay App. This container can be configured to include custom domain TLS certificates.

Monolith App

This is the Monolith web application that can be access via a web browser. To access this application, you just need to navigate to the host system IP address or assigned domain name in a web browser - Ex: https://192.168.1.12

Monolith API

This container hosts an API server that can send authenticated requests for data to and from the Monolith and Relay web applications. This container connects directly to the MySQL server to store data and a file system to store files uploaded to Monolith.

Relay App

The Relay app container runs the Relay application. Relay is a web-based request system that allows non-monolith users to submit requests for forensic services.

MySQL DB

This container runs a MySQL database that stores data accessed and managed by users of Monolith and Relay. The MySQL database does not have to be a container inside Docker. You can use an external hosted MySQL database if you wish.

File System

This is not a container, it represents your chosen file system component to store files that are uploaded to Monolith and Relay. This can be the file system on the host system, AWS S3 object storage, or a network file share.

Watchtower

Watchtower is an optional container that manages automatic updates for the other containers. Watchtower checks for container updates every 30 seconds. When an update is available, Watchtower downloads the new container images and replaces the current containers with new containers built from the updates container images.

Monolith On-Premises Infrastructure