SimpleDMS
★ 170About
Community Ratings
No ratings yetNew this week
Read recap →Features
- tag-based document categorization
- shared or private workspaces
- fast document retrieval
- dark mode
Details
- Last Updated
- Oct 29, 2026
- Created
- Dec 1, 2025
- Install Methods
- docker-compose
- Requirements
- GoSQLite
- Runtime / Stack
- Docker
- Privacy & Independence
- No TelemetryCloud: Optional
- User Model
- Multi-UserMulti-Tenant
- Deployment
Deployment: Docker Compose ✓4 Containers — moderate hosting footprintRuns as 4 containers
Run SimpleDMS yourself
Pick how much you want to manage.
HetznerBest match
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
DigitalOcean
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
OVHcloud
Full control
A small server, then Docker Compose.
About 20 minutes with Docker
Is this your project? Sponsor a listing
Run SimpleDMS with Docker Compose
Compose file from the SimpleDMS project repository.
4 services · 4 unclassified (tika, mailpit, versitygw, toxiproxy)
no resource limits declared
needs persistent storage (3 volumes)
docker-compose.yml · @ 8b8b606 · scanned Jun 13, 2026
volumes:
mailpit_data:
versitygw_data:
#garage_meta:
#garage_data:
name: simpledms-dev
services:
#docling:
#image: ghcr.io/docling-project/docling-serve-cpu
#container_name: docling-serve
#ports:
#- 5001:5001
#environment:
#- DOCLING_SERVE_ENABLE_UI=true
tika:
image: apache/tika:latest-full
#command: -c /tika-config.xml
ports:
- "9998:9998"
#volumes:
#- ./tika-config.xml:/tika-config.xml
restart: unless-stopped
# TODO not in production
mailpit:
image: axllent/mailpit
restart: unless-stopped
volumes:
- mailpit_data:/var/lib/mailpit/data
- type: bind
source: ./.secrets
target: /srv/.secrets
read_only: true
ports:
- "8025:8025" # web-client
- "1025:1025" # smtp
environment:
MP_MAX_MESSAGES: 500000
MP_DATABASE: /var/lib/mailpit/data/mailpit.db
MP_SMTP_AUTH_ACCEPT_ANY: 1
MP_SMTP_TLS_CERT: /srv/.secrets/tls_certificate.pem
MP_SMTP_TLS_KEY: /srv/.secrets/tls_private_key.pem
MP_SMTP_REQUIRE_TLS: true
MP_SMTP_AUTH_ALLOW_INSECURE: 0
versitygw:
image: versity/versitygw:latest
restart: unless-stopped
ports:
- "3900:7070" # 3900 is default port of garage
volumes:
- versitygw_data:/data
environment:
ROOT_ACCESS_KEY_ID: unsafe-placeholder-access-key-id
ROOT_SECRET_ACCESS_KEY: unsafe-placeholder-secret-access-key
VGW_BACKEND: posix
VGW_BACKEND_ARG: /data
toxiproxy:
image: shopify/toxiproxy:latest
restart: unless-stopped
depends_on:
- versitygw
ports:
- "8474:8474" # API
- "7071:7071" # s3 proxy listen port for tests
#garage:
#image: dxflrs/garage:v2.1.0
#restart: unless-stopped
#volumes:
#- ./garage.toml:/etc/garage.toml
#- garage_meta:/var/lib/garage/meta
#- garage_data:/var/lib/garage/data
#ports: # TODO all necessary?
#- "3900:3900"
#- "3901:3901"
#- "3902:3902"
#- "3903:3903"
This file may be out of date. Check the SimpleDMS documentation for current setup steps.
Track your self-hosted stack
Bookmark software to try, rate tools you've used, and keep your collection in one place.