MrDoc Deployment Guide
Simple Run
Deployment guide
Deploy MrDoc with Docker (recommended)
Docker image deployment
Deploy with Docker Compose
Manage Docker containers
Deploy MrDoc on Linux
Deploy MrDoc with Nginx + uWSGI
One-click deployment script (no longer maintained)
Baota Panel "Python Project Manager 1.9" deployment
Official Docker image deployment
Deploy MrDoc on Windows
Deploy with Waitress
Windows deployment panel
NAS deployment
Deploying on Zspace NAS
Feiniu FnOS deployment
Update upgrade notes - Open Source Edition
Update upgrade notes - Pro edition
System dependency library description
Migrating native deployment to Docker deployment
Configuration guide
Custom database configuration
Configure PDF generation for collections
Full-text search configuration
Using MySQL database with Docker
Configuring MySQL database to support emoji
Host static file resources with Nginx
Enable SSL with Nginx / Set up HTTPS
Configure reverse proxy/bind domain with Nginx
Nginx handling local video playback
Custom uWSGI configuration
Configuration file description
Data security
Site data backup/site migration
Professional data export and import
Open source data export and import
Data migration from open source to professional edition
Frequently asked questions
What to do if SQLite3 version error occurs?
What if the admin forgets the password?
Error: SyntaxError: invalid syntax
MySQLdb._exceptions.OperationalError: (1366, "Incorrect string value:")
Baota Panel "Python Project Manager" virtual environment usage issues.
View logs/log storage location
403 errors on POST/PUT requests for login, publish, upload, and edit under Nginx/HTTPS
What if I can't access the backend after switching the default login method?
Troubleshooting
Tip sponsorship records
MrDoc deployment server configuration recommendations
Powered by MrDoc Pro
-
+
home
MrDoc deployment server configuration recommendations
# MrDoc Deployment Server Configuration Recommendations This page provides server configuration recommendations for users deploying MrDoc. MrDoc runs on a **Django + uWSGI** architecture by default, with **4 uWSGI workers** enabled by default and thread mode enabled. The choice of server configuration directly affects concurrent processing capability and overall performance. You can also customize the uWSGI configuration according to your server specifications. See: https://doc.mrdoc.pro/doc/45739/ --- ## 1. Recommended Server Configurations (by Usage Scale) ### Lightweight Team (fewer than 10 people) Suitable for individuals or small teams with low access frequency. | Item | Recommended Configuration | | ------- | --------- | | **CPU** | 2 cores | | **Memory** | 4GB | | **System Disk** | 40GB+ SSD | | **Bandwidth** | ≥2 Mbps | Note: With the default 4 uWSGI workers, a 2-core CPU and 4GB of memory are sufficient to maintain stable operation, suitable for small-scale collaboration. --- ### Medium Team (10–100 people) Suitable for medium-scale teams with a certain level of concurrent access. | Item | Recommended Configuration | | ------- | -------------- | | **CPU** | 4 cores | | **Memory** | 8GB | | **System Disk** | 80GB–200GB SSD | | **Bandwidth** | ≥5 Mbps | Note: In higher concurrency scenarios, a 4-core CPU gives uWSGI workers better throughput; 8GB of memory avoids memory bottlenecks during document preview, export, and attachment operations. --- ### Large Team or High-Traffic Scenarios (100+ people) Suitable for intensive access, large numbers of attachments, and sustained high concurrency scenarios. | Item | Recommended Configuration | | ------- | --------------- | | **CPU** | 8 cores | | **Memory** | 16GB | | **System Disk** | 200GB–500GB SSD | | **Bandwidth** | ≥10 Mbps | Note: Suitable for enterprise-level use. Depending on actual concurrency, you can increase the number of uWSGI workers, enable caching, or adopt a load balancing architecture. --- ## 2. Minimum Operating Requirements (Runnable but Not Recommended) | Item | Minimum Configuration | | ------- | -------------- | | **CPU** | 1 core | | **Memory** | 1GB | | **System Disk** | 20GB SSD or HDD | Note: Suitable for personal environments, **not recommended for team production environments**. --- ## 3. Reference Principles for Configuration Selection ### 3.1 Relationship Between CPU and uWSGI Workers MrDoc defaults: * `workers = 4` * `threads = 2` General recommendation: > **Number of CPU cores ≥ Number of uWSGI workers** If traffic is high, you can appropriately increase the number of workers, or use load balancing across multiple servers. --- ### 3.2 Memory Requirements Each uWSGI worker typically uses around **150–250MB** of memory, plus: * Django runtime usage * Database connection pool * File operations / memory cache * System overhead Therefore: * 4GB is suitable for lightweight use * 8GB can satisfy medium teams * 16GB is suitable for high concurrency scenarios --- ### 3.3 Disk I/O and Attachment Uploads MrDoc supports: * Image uploads * Office files * Attachment storage * Import / export operations Therefore SSD recommendation level: ⭐⭐⭐⭐⭐ (strongly recommended) If there are many attachments, reserve sufficient disk space. --- ### 3.4 Bandwidth Requirements Access performance is directly related to server bandwidth: * A small number of documents: 2Mbps is sufficient * If uploading and downloading frequently: 5–10Mbps is smoother * When deploying in overseas data centers, it is recommended to appropriately increase bandwidth --- ## 4. Frequently Asked Questions (FAQ) ### Q1: How should user scale match the server? You can use the following rule of thumb: > **Expected concurrent online users ÷ 3 ≈ Recommended number of uWSGI workers ≈ Number of CPU cores** For example: * Expected 15 concurrent online users → 15/3 ≈ 5 → Recommended 4–6 core CPU * Small team (3–5 people) → 2 cores is sufficient for stable operation --- ### Q2: Can Docker be used for deployment? Yes, and we recommend using Docker for deployment. The configuration recommendations remain the same in a Docker environment; just ensure: * Docker container memory limit ≥ 2GB * Data disk has proper volume mount mapping --- ### **Q3: Will the database consume a lot of resources?** Usually not. MrDoc uses **SQLite/** by default, and can be configured to use **MySQL / MariaDB / PostgreSQL**. Database usage depends on the amount of data. If the team is large, you can consider moving the database to a separate server. --- ## 5. Summary | Scenario | CPU | Memory | Disk | Bandwidth | | -------- | --- | ---- | --------------- | ------- | | **Lightweight Team** | 2 cores | 4GB | 40GB SSD | ≥2Mbps | | **Medium Team** | 4 cores | 8GB | 80GB–200GB SSD | ≥5Mbps | | **Large Team** | 8 cores | 16GB | 200GB–500GB SSD | ≥10Mbps | Selecting a server according to the above specifications will ensure stable operation of MrDoc.
mrdoc
Sept. 29, 2026, 6:35 p.m.
Forward
Favorites
Last
Next
Scan the QR Code
Copy link
Scan the QR code to share.
Copy link
share
link
type
password
Update password
Validity period
Markdown file
Word document
PDF document (print)