Guide, Resources & FAQ

Installation guide, TLS certificate management (self-signed or provided), deployment best practices and answers to frequently asked questions.

Detailed installation

This guide complements the "Quick Install" on the home page with additional steps useful for production.

Prerequisites

  • Docker (v20+) and Docker Compose
  • Shell access to the server
  • Port 10443 (HTTPS) open if remote access is required
  • Optional: valid TLS certificates or reverse proxy

Step-by-step

# 1) Download and extract
wget -qO- https://dmon.fr/download/Dmon_latest.tar | tar -xvf -

# 2) Enter the folder and start
cd Dmon && docker compose up --build -d

# 3) Access the interface
https://your-server:10443

Update

  1. Stop the old container: docker compose down
  2. Pull the new archive or update the repository
  3. Recreate: docker compose up --build -d

Uninstall

docker compose down --volumes --remove-orphans
# Remove local files if needed
rm -rf /path/to/Dmon

Self-signed certificates

When a CA-signed certificate is not available, Dmon can use a self-signed certificate. The certificate encrypts the connection (HTTPS) but will not be recognized as "trusted" by browsers.

What you will see

  • A red or crossed padlock or a warning icon in the address bar.
  • A browser security warning indicating the certificate is not valid.

What to do?

You can bypass the warning and continue to the site ("Advanced" → "Accept the risk and continue" in Firefox, or "Proceed to site (unsafe)" in Chrome).

Even if the browser shows a warning, the connection is encrypted: data is sent over TLS. The issue is lack of validation by a trusted third party (server authentication). For production, use a certificate issued by a CA (Let's Encrypt, internal CA, or commercial certificate).

Using your own certificates

You can provide your own certificates (Let's Encrypt, internal CA, commercial certificate). Here are example approaches depending on your architecture.

1 - Add your certificates into the container folder

Place your certificate and private key in the project's /certs/ folder.

The files should be named key.pem and cert.pem.

2 - Modify docker-compose.yml

Uncomment the last line: - ./certs:/app/certs:ro

This will override the self-generated certificates.

# docker-compose.yml (excerpt)
services:
  services:
  dmon:
    build: .
    container_name: Dmon
    restart: unless-stopped
    ports:
      - "10443:443"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - /proc:/host/proc:ro

# Uncomment the following line if you have placed your own certificates in the /certs directory
# Leave commented if using self-generated certificates
    #  - ./certs:/app/certs:ro
    - ./certs:/app/certs:ro       <-----------

FAQ — Frequently Asked Questions

Q — Why does my browser show a TLS warning?

A — Because the certificate presented by the server is self-signed (or does not match the domain). Browsers require validation by a recognized certificate authority. You can bypass the warning for private use, but for a public service use Let's Encrypt or a valid certificate.

Q — Are my data encrypted?

A — Yes. TLS encryption works: data transmitted between the browser and the server running your Docker containers is encrypted. A self-signed certificate only affects trust (authentication), not encryption.

Q — Can I run Dmon without Docker?

A — Dmon is designed to run in a container. Running it without containers (native Node.js) is possible but not provided out-of-the-box. Containers simplify installation and isolation.

Q — Does Dmon send external data?

A — No. Dmon is open-source and does not collect data. Only an occasional request to check for a new version may be sent to our server.

Q — Which ports are required?

A — By default Dmon listens on port 10443 for the HTTPS web interface. You can change this port in docker-compose.yml: ports: - "10443:443" (or another).

Q — Where to report a bug or request a feature?

A — Open an issue on the project's GitHub repository (see the main page for the link). Describe context, versions and logs.