bolt Valebyte VPS from $4/mo — NVMe, 60s deploy.

Get a VPS arrow_forward

Docmost on VPS: installation, configuration, and maintenance

calendar_month June 16, 2026 schedule 15 min read visibility 32 views
person
Valebyte Team
Docmost on VPS: installation, configuration, and maintenance

Docmost on VPS is a powerful solution for centralized document management, allowing you to securely store, organize, and collaborate on files, ensuring full control over data and privacy on your own server.

In a world where the volume of information grows exponentially, efficient document management becomes not just a convenience, but a necessity. From small teams to large enterprises, the need for reliable and accessible file storage, with collaboration capabilities and strict access control, remains constant. Docmost is a modern open-source solution designed for these purposes. However, to unlock its full potential, especially in the context of security, performance, and scalability, the optimal choice is to install Docmost on your own Virtual Private Server (VPS).

Using Docmost on VPS offers unique advantages compared to cloud services: you fully own your data, control the infrastructure, and can configure the system precisely to your needs, avoiding vendor lock-in and monthly payments for every gigabyte or user. In this article, we will detail what Docmost is, how to install and configure it on a VPS using Docker, secure it with HTTPS, and keep it up-to-date.

What is Docmost and why should you use it on a VPS?

Docmost is a modern Document Management System (DMS) designed for organizing, storing, and collaborating on files. It offers an intuitive interface and a rich set of features aimed at simplifying document workflows in any organization or for personal use. Unlike many proprietary solutions, Docmost is an open-source project, giving users the freedom to modify and audit it.

Key Features of Docmost

  • Centralized Storage: All documents are in one place, simplifying search and access.
  • Version Control: Track changes and revert to previous document versions.
  • Full-text Search: Fast search within document content.
  • Access Control: Flexible permission system for users and groups, allowing precise configuration of who can view, edit, or delete documents.
  • Collaboration: Ability to co-edit and comment on documents.
  • Integrations: Support for integration with other services and systems.
  • Security: Data encryption, user activity auditing.
  • Support for various formats: Work with PDF, DOCX, XLSX, ODT, and many others.

Advantages of a self-hosted solution on a VPS

Choosing Docmost self-hosted on a VPS from Valebyte.com provides several critical advantages:

  • Full Data Control: Your documents are stored on a server that you control. This means full compliance with privacy requirements and regulations, especially important for companies handling sensitive information.
  • High Performance: You don't share resources with thousands of other users. Your VPS is dedicated specifically to your needs, ensuring stable and fast Docmost operation, even under high loads.
  • Flexible Configuration: On a VPS, you can install any additional software, configure firewalls, backups, and monitoring exactly as you need. This allows you to optimize the system for the unique requirements of your workflow.
  • Cost-Effectiveness: In the long run, owning your own server can be significantly cheaper than subscribing to cloud DMS, especially for growing teams with large data volumes or many users.
  • Provider Independence: You are not tied to the terms and policy changes of third-party cloud services. You decide when and how to update the system.
  • Scalability: As your needs grow, you can easily upgrade VPS resources (RAM, CPU, disk space) without data migration or complex reconfiguration.

Docmost on a server managed by you becomes not just a DMS, but a part of your controlled digital infrastructure, ensuring peace of mind and efficiency.

Docmost System Requirements: Which VPS to choose?

Before proceeding with Docmost installation, it's important to understand what resources will be required for its stable and efficient operation. Docmost, like most modern web applications, can run on various configurations, but for optimal performance and scalability, several key factors must be considered.

Minimum Requirements for Docmost

For a test installation or for a very small number of users (1-2 people) with a minimal volume of documents, Docmost can run on modest resources:

  • Processor: 1 vCPU with a frequency of 2 GHz or higher.
  • RAM: 2 GB.
  • Disk Space: 20-30 GB NVMe/SSD. Docmost will store the database, files, and Docker images. NVMe or SSD will significantly speed up file and database operations.
  • Operating System: Ubuntu 22.04 LTS, Debian 11/12, or another modern Linux system.
  • Docker and Docker Compose: For Docmost deployment.

These minimum requirements are sufficient for familiarizing yourself with Docmost, but for productive work, they will quickly become a bottleneck.

Recommendations for choosing a VPS for Docmost

For a production environment where Docmost will be actively used by several users and store a significant volume of documents, the following configuration is recommended:

  • Processor: 2-4 vCPU with a frequency of 2.5 GHz or higher. Docmost actively uses the processor for document indexing, full-text search, and file processing.
  • RAM: 4-8 GB. This will provide sufficient buffer for the database, file caching, and stable operation of all Docker container components.
  • Disk Space: 100-200 GB NVMe/SSD. The volume depends on the planned number and size of documents. NVMe drives are critically important for fast access to files and the database, directly impacting Docmost's speed.
  • Network Bandwidth: 100-200 Mbit/s. For fast uploading and downloading of documents.
  • Operating System: Ubuntu 22.04 LTS or Debian 12. These are stable and well-supported distributions.

Valebyte.com offers various VPS tariff plans that are ideally suited for deploying Docmost on VPS. Choose a plan that meets your current and future needs to avoid the necessity of frequent upgrades.

Looking for a reliable server for your projects?

VPS from $10/month and dedicated servers from $9/month with NVMe, DDoS protection, and 24/7 support.

View offers →

Preparing the VPS for Docmost Installation

Before proceeding with Docmost deployment, you need to prepare your VPS. This stage includes updating the system, installing Docker and Docker Compose, and creating the necessary directory structure.

System Update and Docker Installation

The first step should always be to update your operating system. This ensures that you have all the latest security patches and packages installed.

sudo apt update && sudo apt upgrade -y

Next, we will install Docker. It is recommended to use the official Docker installation script to get the latest version:

sudo apt install ca-certificates curl gnupg lsb-release -y
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin -y

After installation, add your user to the docker group to run Docker commands without sudo (you will need to log out and log back in):

sudo usermod -aG docker $USER

Verify Docker installation:

docker --version
docker compose version

You should see the Docker and Docker Compose versions.

Creating a User and Directories

For better organization and security, it is recommended to create a separate user for running Docmost and a corresponding directory structure.

sudo adduser docmostuser
sudo usermod -aG docker docmostuser
sudo mkdir -p /opt/docmost
sudo chown -R docmostuser:docmostuser /opt/docmost

Switch to the new user:

su - docmostuser

Create directories for Docmost data. Docmost stores its data in several locations: for configuration, for the database, and for uploaded files. We will create them inside /opt/docmost:

mkdir -p /opt/docmost/data/db
mkdir -p /opt/docmost/data/files
mkdir -p /opt/docmost/config

Ensure that the docmostuser has permissions for these directories.

Now your VPS is ready for Docmost installation using Docker Compose.

rocket_launch Quick pick

Need a dedicated server?

Compare prices from top providers. Configure and order in minutes.

Browse dedicated servers arrow_forward

Step-by-step Docmost Installation on VPS with Docker Compose

The most convenient and recommended way to deploy Docmost is by using Docker Compose. This allows you to define all services, their dependencies, and configurations in a single file, simplifying startup and management.

docker-compose.yml file for Docmost

Create a docker-compose.yml file in the /opt/docmost directory (if you are currently logged in as docmostuser, then in /home/docmostuser/docmost or wherever you decided to store the configuration). For simplicity, we will use the path /opt/docmost.

cd /opt/docmost
nano docker-compose.yml

Paste the following content. This file defines three main services: Docmost (the main application), PostgreSQL (the database), and Redis (for caching and queues).

version: '3.8'

services:
  db:
    image: postgres:15-alpine
    restart: always
    environment:
      POSTGRES_DB: docmost
      POSTGRES_USER: docmostuser
      POSTGRES_PASSWORD: your_strong_db_password # <-- YOU MUST CHANGE THIS
    volumes:
      - ./data/db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U docmostuser -d docmost"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    restart: always
    volumes:
      - ./data/redis:/data

  docmost:
    image: docmost/docmost:latest
    restart: always
    environment:
      DATABASE_URL: postgresql://docmostuser:your_strong_db_password@db:5432/docmost # <-- YOU MUST CHANGE THIS
      REDIS_URL: redis://redis:6379/0
      DOCMOST_SECRET_KEY: your_super_secret_key # <-- YOU MUST CHANGE THIS, GENERATE A RANDOM STRING
      DOCMOST_MEDIA_ROOT: /app/media
      DOCMOST_STATIC_ROOT: /app/static
      # DOCMOST_ALLOW_REGISTRATION: "false" # Uncomment to disable new user registration
      # DOCMOST_EMAIL_HOST: smtp.yourprovider.com
      # DOCMOST_EMAIL_PORT: 587
      # DOCMOST_EMAIL_USE_TLS: "true"
      # DOCMOST_EMAIL_HOST_USER: [email protected]
      # DOCMOST_EMAIL_HOST_PASSWORD: your_email_password
      # DOCMOST_DEFAULT_FROM_EMAIL: [email protected]
    volumes:
      - ./data/files:/app/media
      - ./config:/app/config # For additional Docmost configuration files
    ports:
      - "8000:8000" # Docmost port, can be changed if 8000 is occupied
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started

Important notes:

  • your_strong_db_password: YOU MUST replace this with a complex, unique database password. It must be the same in both the db and docmost sections.
  • your_super_secret_key: YOU MUST generate a unique secret key. This can be done, for example, with the command python3 -c 'import os; print(os.urandom(32).hex())'. This key is used for Docmost's cryptographic operations.
  • ports: "8000:8000": The first port is the port on the host machine (VPS), the second is the port inside the Docmost container. You can change the host port, for example, to "8080:8000" if 8000 is occupied.
  • volumes: Define where data will be stored on your VPS. We use relative paths ./data/db, ./data/files, ./data/redis, which will be created inside /opt/docmost.
  • DOCMOST_ALLOW_REGISTRATION: Enabled by default. If you want only the administrator to be able to create users, uncomment and set to "false".
  • Email settings: Uncomment and configure the DOCMOST_EMAIL_* section if Docmost needs to send email notifications.

Save the file (Ctrl+X, Y, Enter).

Starting and Initial Configuration of Docmost

After creating docker-compose.yml, you can start the Docmost Docker containers:

docker compose up -d

The -d command runs the containers in the background. The first startup may take some time as Docker will download the images.

Check the container status:

docker compose ps

All services should be in the running state. If you encounter problems, you can view the logs:

docker compose logs docmost

After successful startup, Docmost will be accessible via your VPS's IP address and port 8000 (e.g., http://YOUR_VPS_IP:8000). Open this address in your browser.

Upon first access, you will need to create an administrator account. Fill out the registration form, and you will become the first user and administrator of the Docmost system.

Now that Docmost on the server is running, the next step is to ensure secure access via a domain name and HTTPS.

Configuring Reverse Proxy and HTTPS for Docmost (Nginx/Caddy)

Direct access to Docmost via an IP address and port 8000 is not secure or convenient for a production environment. It is necessary to configure a reverse proxy and ensure traffic encryption using HTTPS. We will consider configuring Nginx, as one of the most popular solutions.

For this, you will need:

  1. A registered domain or subdomain (e.g., docs.yourdomain.com) pointing to your VPS's IP address.
  2. Open ports 80 (HTTP) and 443 (HTTPS) on your VPS.

Configuring Nginx as a reverse proxy

First, install Nginx on your VPS (if it's not already installed):

sudo apt install nginx -y

Create a configuration file for your domain. Suppose you want Docmost to be accessible at docs.valebyte.com. Create the file /etc/nginx/sites-available/docs.valebyte.com:

sudo nano /etc/nginx/sites-available/docs.valebyte.com

Paste the following content, replacing docs.valebyte.com with your actual domain:

server {
    listen 80;
    server_name docs.valebyte.com;

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    server_name docs.valebyte.com;

    ssl_certificate /etc/letsencrypt/live/docs.valebyte.com/fullchain.pem; # Will be created by Certbot
    ssl_certificate_key /etc/letsencrypt/live/docs.valebyte.com/privkey.pem; # Will be created by Certbot
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
    ssl_prefer_server_ciphers on;

    location / {
        proxy_pass http://localhost:8000; # Or another port if you changed it in docker-compose.yml
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_buffering off;
        proxy_request_buffering off;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Save the file. Then create a symbolic link to this file in the sites-enabled directory and remove the default config:

sudo ln -s /etc/nginx/sites-available/docs.valebyte.com /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Check Nginx syntax:

sudo nginx -t

If everything is okay, restart Nginx:

sudo systemctl restart nginx

Automatic Acquisition of SSL Certificates with Let's Encrypt

For HTTPS, we need an SSL certificate. Let's Encrypt provides free certificates that can be easily obtained using Certbot.

sudo apt install certbot python3-certbot-nginx -y

Run Certbot to obtain a certificate for your domain:

sudo certbot --nginx -d docs.valebyte.com

Certbot will automatically detect your Nginx configuration, obtain the certificate, and configure Nginx to use HTTPS. It will also add a cron job for automatic certificate renewal. Follow Certbot's instructions (usually, it's sufficient to choose "Redirect" to redirect HTTP to HTTPS).

Now your Docmost on VPS should be accessible at https://docs.valebyte.com (replace with your domain) with a secure HTTPS connection.

Docmost Maintenance: Backups, Updates, and Monitoring

Keeping Docmost self-hosted up-to-date and operational requires regular maintenance, including creating backups, timely updates, and performance monitoring. These steps are critical for ensuring the stability and security of your system.

Docmost Backup Strategies

Backup is the most important aspect of maintaining any system. For Docmost, two main components need to be backed up: the PostgreSQL database and the file directory.

1. PostgreSQL Database Backup:

Execute the command from the root directory /opt/docmost (or where your docker-compose.yml is located) as the docmostuser:

docker compose exec db pg_dump -U docmostuser docmost > ./backups/docmost_db_$(date +%Y%m%d_%H%M%S).sql

This command will dump the database and save it to the ./backups directory. Make sure this directory exists: mkdir -p /opt/docmost/backups.

2. Docmost File Backup:

Simply copy the data/files directory, which contains all user-uploaded documents:

tar -czvf ./backups/docmost_files_$(date +%Y%m%d_%H%M%S).tar.gz ./data/files

Automating Backups:

To automate, create a backup.sh script:

#!/bin/bash
BACKUP_DIR="/opt/docmost/backups"
TIMESTAMP=$(date +%Y%m%d_%H%M%S)

mkdir -p $BACKUP_DIR

echo "Creating database backup..."
docker compose -f /opt/docmost/docker-compose.yml exec db pg_dump -U docmostuser docmost > "$BACKUP_DIR/docmost_db_$TIMESTAMP.sql"

echo "Creating file backup..."
tar -czvf "$BACKUP_DIR/docmost_files_$TIMESTAMP.tar.gz" -C /opt/docmost data/files

echo "Deleting old backups (older than 7 days)..."
find $BACKUP_DIR -type f -name "docmost_db_*.sql" -mtime +7 -delete
find $BACKUP_DIR -type f -name "docmost_files_*.tar.gz" -mtime +7 -delete

echo "Backup complete."

Make the script executable: chmod +x /opt/docmost/backup.sh. Then add it to cron for daily execution (e.g., at 3:00 AM):

crontab -e

Add the line:

0 3 * * * /opt/docmost/backup.sh >> /var/log/docmost_backup.log 2>&1

Important: Store backups not only on the VPS but also on remote storage. For this, you can use rsync, SCP, or specialized tools like Restic.

Updating Docmost via Docker

Updating Docmost via Docker Compose is very simple. It is recommended to regularly check for new versions of the Docmost image.

cd /opt/docmost
docker compose pull # Downloads the latest image versions
docker compose down # Stops and removes current containers
docker compose up -d # Starts new containers with updated images

Before updating, it is always advisable to create a backup, as described above.

Monitoring Docmost Performance on the Server

Monitoring your VPS resources will help identify performance issues or resource shortages in time. Track the following metrics:

  • CPU Usage: High load can indicate intensive indexing or a large number of active users.
  • RAM Usage: If Docmost or the database consumes too much memory, it can lead to slowdowns or crashes.
  • Disk Usage: Ensure you have enough free space, especially if document volume is expected to grow.
  • Disk I/O: High read/write activity can indicate a bottleneck in the disk subsystem.
  • Network Traffic: Monitoring incoming/outgoing traffic will help understand Docmost usage intensity.

For monitoring, you can use command-line utilities (htop, iotop, df -h) or install specialized monitoring systems, such as Netdata, which provide convenient dashboards and alerts.

rocket_launch Quick pick

Need a dedicated server?

Compare prices from top providers. Configure and order in minutes.

Browse dedicated servers arrow_forward

Optimal VPS Configuration for Docmost under Real Load

Choosing the right VPS configuration for Docmost on VPS is critically important for ensuring stable operation and scalability. Below is a table with recommendations for VPS configurations depending on the anticipated load.

Comparison Table of VPS Configurations for Docmost

Usage Scenario vCPU RAM Disk (NVMe/SSD) Bandwidth Approximate Cost Valebyte.com
Personal Use / Test (1-2 users, <1000 docs) 1 core (2+ GHz) 2 GB 50 GB NVMe 100 Mbit/s From $5/month
Small Team (3-5 users, 1000-5000 docs) 2 cores (2.5+ GHz) 4 GB 100 GB NVMe 200 Mbit/s From $10/month
Medium Team (5-15 users, 5000-20000 docs) 4 cores (2.5+ GHz) 8 GB 200 GB NVMe 500 Mbit/s From $20/month
Large Team / Department (15-30 users, 20000+ docs) 6 cores (2.8+ GHz) 16 GB 400 GB NVMe 1 Gbit/s From $40/month
Enterprise / High Load (30+ users, >50000 docs) 8+ cores (3+ GHz) 32+ GB 800+ GB NVMe 1 Gbit/s From $80/month

Important notes:

  • NVMe Drives: Priority should always be given to NVMe or, at minimum, SSD drives. Disk subsystem speed is one of the key performance factors for DMS, especially for full-text search and working with large files.
  • Scalability: Start with a configuration that meets your current needs, but always keep in mind the possibility of quickly upgrading VPS resources as the load grows.
  • Backup: Be sure to account for backup space when planning disk space, or configure external storage for backups.

Valebyte.com Recommendations

For most users starting with Docmost on a server, we at Valebyte.com recommend choosing a tariff plan with 2-4 vCPU, 4-8 GB RAM, and 100-200 GB NVMe disk. This will ensure comfortable operation for a small to medium team and provide room for growth. Our VPS servers are optimized for Docker containers and provide high performance and reliability.

Remember that investing in an adequate VPS for Docmost self-hosted will pay off with stability, speed, and confidence in the security of your data.

Conclusion

Docmost on VPS is a powerful and flexible document management solution that provides full control over your data and infrastructure. By following the provided instructions for Docmost installation using Docker Compose, configuring a reverse proxy and HTTPS, and performing regular maintenance, you can create a reliable and secure system for your team. Choosing the right VPS configuration from Valebyte.com will ensure optimal performance and scalability for your needs.

Ready to choose a server?

VPS and dedicated servers in 72+ countries with instant activation and full root access.

Get started now →
support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.