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
- Stop the old container: docker compose down
- Pull the new archive or update the repository
- 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.