SeeDMS installation

Below is the exact procedure that worked for your specific machine.

Environment

Online machine

  • Ubuntu Linux
  • Internet access

Offline machine

  • Windows 11
  • XAMPP installed in:
D:\xampp
  • SeedDMS installed in:
D:\xampp\htdocs\seeddms
  • SeedDMS version:
6.0.40

Step 1 - Download SeedDMS on Ubuntu

Download:

seeddms-6.0.40

and extract it.


Step 2 - Remove symlink problems for Windows

On Ubuntu:

tar xzf seeddms-6.0.40.tar.gz
cp -aL seeddms-6.0.40 seeddms-win
zip -r seeddms-win.zip seeddms-win

The important part is:

cp -aL

which dereferences symlinks and converts them to real files.

Copy the ZIP to USB.


Step 3 - Install XAMPP on Windows

Install:

D:\xampp

Required components:

  • Apache
  • MySQL
  • PHP

Start:

Apache
MySQL

Verify:

http://localhost

opens the XAMPP page.


Step 4 - Extract SeedDMS

Extract ZIP to:

D:\xampp\htdocs\seeddms

Final structure became:

D:\xampp\htdocs\seeddms\
conf
data
vendor
www
seeddms
seeddms-6.0.40

This structure worked.

Do NOT change it.


Step 5 - Enable required PHP extensions

Open:

D:\xampp\php\php.ini

Enable:

extension=gd
extension=zip
extension=sqlite3
extension=pdo_sqlite

Remove any leading semicolon.

Example:

;extension=gd

becomes:

extension=gd

Save.

Restart Apache.


Step 6 - Open Installer

Open:

http://localhost/seeddms/www/install

You should see:

Welcome to installation of SeedDMS

Click:

Start Installation

Step 7 - Server Settings Page

Installer prefilled:

Root directory:
D:/xampp/htdocs/seeddms/www/

Http Root:
/seeddms/www/install/install.php/

Content directory:
D:\xampp\htdocs\seeddms\data\

Directory for full text index:
D:\xampp\htdocs\seeddms\data\lucene\

Directory for partial uploads:
D:\xampp\htdocs\seeddms\data\staging\

Cache directory:
D:\xampp\htdocs\seeddms\data\cache\

Change ONLY:

Http Root

from:

/seeddms/www/install/install.php/

to:

/seeddms/www/

Leave all other paths unchanged.


Step 8 - Database Page

Although installer initially mentioned SQLite, it asked for:

Server name
Username
Password
Create database tables

Use:

Server name: localhost
Username: root
Password: (blank)
Create database tables: checked

Step 9 - Fix Existing Database Error

Installer failed with:

tblACLs already exists

Cause:

D:\xampp\htdocs\seeddms\data\content.db

already existed and contained tables.

File size was:

380 KB

Rename:

content.db

to:

content.db.old

or delete it.


Step 10 - Run Installer Again

Open:

http://localhost/seeddms/www/install

Repeat installation.

Installer successfully created a fresh:

D:\xampp\htdocs\seeddms\data\content.db

and completed.


Step 11 - Final Message

Installer reported:

The installation has been successfully completed.

and instructed:

Delete ENABLE_INSTALL_TOOL

Step 12 - Disable Installer

Go to:

D:\xampp\htdocs\seeddms\conf

Delete:

ENABLE_INSTALL_TOOL

or rename it:

ENABLE_INSTALL_TOOL.old

Step 13 - Login

Open:

http://localhost/seeddms/www/

Login:

Username: admin
Password: admin

Change password immediately.


Important Files

SeedDMS data

D:\xampp\htdocs\seeddms\data\

Contains:

content.db
cache
lucene
staging

Configuration

D:\xampp\htdocs\seeddms\conf\

Backup Procedure

To back up the entire SeedDMS installation, copy:

D:\xampp\htdocs\seeddms\data
D:\xampp\htdocs\seeddms\conf

Those two folders contain:

  • documents
  • metadata
  • users
  • permissions
  • configuration

For a full machine backup, also keep:

D:\xampp\htdocs\seeddms

and your XAMPP installation under:

D:\xampp

This is the exact sequence that succeeded on your Windows 11 offline system with SeedDMS 6.0.40.






















Now that SeedDMS is running, the biggest mindset change is:

Don't think of it as a shared folder. Think of it as a document library with version control, permissions, metadata, search, and workflows. (seeddms.dalescott.net)

First Login

Open:

http://localhost/seeddms/www/

Login:

admin
admin

Immediately change the password.


Recommended Folder Structure

For a personal/offline installation, create top-level folders like:

Documents
├── Personal
├── Finance
├── Insurance
├── Property
├── Medical
├── Manuals
├── Projects
└── Archive

To create a folder:

  1. Open a folder.
  2. Folder Menu → Add Subfolder.
  3. Enter name.
  4. Save. (seeddms.dalescott.net)

Uploading Documents

Method 1 (Recommended)

  1. Open destination folder.
  2. Click Add Document.
  3. Select file.
  4. Enter:
    • Name
    • Comment
    • Keywords
  5. Save.

Example

Instead of:

LIC_POLICY_2025_FINAL.pdf

Use:

Name:
LIC Policy

Keywords:
insurance life lic

Comment:
Policy issued 2025

Later, searching becomes much easier.


Version Control (Very Important)

Suppose you upload:

HousePlan.pdf

Six months later you receive a revised version.

Do not upload as a new document.

Instead:

  1. Open document.
  2. Choose:
Add New Version
  1. Upload revised file.

SeedDMS keeps all versions and tracks history. (seeddms.dalescott.net)


Search

SeedDMS can search:

  • Document names
  • Comments
  • Keywords
  • Metadata
  • Full text (if indexing is configured) (seeddms.org)

Example searches:

lic
invoice
passport
tax 2025

Tags / Keywords

Use consistent keywords.

Examples:

Document

Keywords

Passport

identity government

PAN Card

identity tax

Insurance Policy

insurance life

Car RC

vehicle registration

Good keywords make searching far easier than folder navigation.


Access Rights

Even on a single-PC installation it's useful to understand.

Each document and folder can have:

  • Read access
  • Write access
  • Full control

assigned to:

If later you add family members, you can create:

Family
Parents
Children

groups and restrict folders accordingly.


Users

Admin menu → Users

Create users such as:

father
mother
accounts
guest

Roles include Administrator, User, and Guest. (seeddms.dalescott.net)


Workflows (Advanced)

SeedDMS supports review and approval workflows. (seeddms.dalescott.net)

Example:

Draft Contract
↓
Review by Legal
↓
Approval by Manager
↓
Released

For a personal installation you can ignore workflows initially.


Useful Personal Use Cases

1. Insurance Vault

Insurance
├── LIC
├── Health
├── Vehicle
└── Home

Upload:

  • Policies
  • Premium receipts
  • Claim documents

2. Medical Records

Medical
├── Prescriptions
├── Lab Reports
├── Scans
└── Vaccinations

3. House Documents

Property
├── Sale Deed
├── Tax Receipts
├── Electricity
└── Maintenance

4. Software Licenses

Licenses
├── Windows
├── Office
├── CAD
└── Utilities

Store:

  • License PDFs
  • Keys
  • Purchase invoices

Backup (Most Important)

Your actual data lives in:

D:\xampp\htdocs\seeddms\data

Configuration lives in:

D:\xampp\htdocs\seeddms\conf

For backup, copy both folders. SeedDMS's own documentation notes that conf and data are the critical directories that must be preserved. (seeddms.org)


What NOT To Do

Don't edit files inside data

Never manipulate files directly inside:

D:\xampp\htdocs\seeddms\data

Use the SeedDMS interface.

Don't replace documents manually

Use:

Add New Version

instead.

Don't keep installer enabled

You already removed:

ENABLE_INSTALL_TOOL

which is correct.


A Good Beginner Workflow

For the first week:

  1. Create folders:
    • Personal
    • Finance
    • Insurance
    • Medical
    • Manuals
  2. Upload 20–30 documents.
  3. Add meaningful keywords.
  4. Practice:
    • Search
    • New Version
    • Move Document
    • Delete Document
  5. Take a backup of:
    • data
    • conf

Once you're comfortable with that, the next useful topics are:

  • Full-text indexing (search inside PDFs)
  • OCR for scanned documents
  • WebDAV drive mapping
  • Multi-user permissions
  • Automated document review workflows.














there can be file size limits, but in your setup the limit is usually determined by PHP/XAMPP, not by SeedDMS itself.

Check your current limits

Open:

http://localhost/dashboard/phpinfo.php

Search for:

upload_max_filesize
post_max_size
memory_limit
max_execution_time

Typical XAMPP defaults are often:

upload_max_filesize = 40M
post_max_size = 40M

or similar.

The maximum uploadable file is effectively limited by the smaller of:

upload_max_filesize
post_max_size

Increase the limit

Edit:

D:\xampp\php\php.ini

Find:

upload_max_filesize=
post_max_size=
memory_limit=
max_execution_time=
max_input_time=

For example, for large PDFs, videos, CAD drawings, etc.:

upload_max_filesize = 1024M
post_max_size = 1024M
memory_limit = 2048M
max_execution_time = 600
max_input_time = 600

Save the file.

Restart Apache from XAMPP.


Practical recommendations

For a personal offline document archive:

upload_max_filesize = 512M
post_max_size = 512M

is usually more than enough.

For large scanned PDFs or engineering files:

upload_max_filesize = 2048M
post_max_size = 2048M

can work if you have sufficient disk space and RAM.


SeedDMS storage

Uploaded files are stored in:

D:\xampp\htdocs\seeddms\data

so the real upper limit becomes:

  • Free disk space
  • PHP limits
  • Windows filesystem limits

There is no small built-in SeedDMS document limit such as "10 MB per file."


Quick test

Upload:

  1. A 1 MB file
  2. A 50 MB file
  3. A 200 MB file

If a file is rejected, note the exact error message. It will usually indicate whether the limit is coming from:

  • PHP (upload_max_filesize)
  • Web server timeout
  • SeedDMS configuration

For your offline Windows setup, I would set:

upload_max_filesize = 1024M
post_max_size = 1024M

and restart Apache. That gives you uploads up to roughly 1 GB per file.









Since SeedDMS is running on your Windows 11 PC at:

D:\xampp

other machines on your network can access it through the PC's IP address.

Step 1: Find the IP address of the SeedDMS PC

On the Windows PC, open Command Prompt:

ipconfig

Look for something like:

IPv4 Address . . . . . . : 192.168.1.100

Write down the IPv4 address.


Step 2: Test from the SeedDMS PC

Open a browser on the same PC:

http://192.168.1.100/seeddms/www/

(replace with your actual IP)

If this works locally, continue.


Step 3: Allow Apache through Windows Firewall

On the SeedDMS PC:

Open:

Windows Defender Firewall

Go to:

Allow an app through firewall

Ensure:

Apache HTTP Server

is allowed on:

  • Private networks
  • Domain networks (if applicable)

If Apache isn't listed, create a rule.

Manual firewall rule

Open PowerShell as Administrator:

New-NetFirewallRule `
-DisplayName "Apache HTTP" `
-Direction Inbound `
-Protocol TCP `
-LocalPort 80 `
-Action Allow

Step 4: Access from another machine

From another PC on the same LAN:

http://192.168.1.100/seeddms/www/

You should see the SeedDMS login page.


Step 5: Optional - Use a hostname

Instead of:

http://192.168.1.100/seeddms/www/

you can use the Windows computer name.

Find it:

hostname

Suppose it returns:

DOCSERVER

Then try:

http://DOCSERVER/seeddms/www/

This often works automatically on small Windows networks.


Step 6: Multiple users

Create separate users in SeedDMS:

Admin → Users → Add User

For example:

john
mary
accounts

Avoid sharing the admin account.


If another machine cannot connect

Check from the other machine:

ping 192.168.1.100

If ping fails:

  • Network issue
  • Firewall issue

If ping works but browser fails:

  • Apache firewall rule missing
  • Apache listening only on localhost

Verify Apache is listening on all interfaces

Open:

D:\xampp\apache\conf\httpd.conf

Search for:

Listen 80

It should be:

Listen 80

and not:

Listen 127.0.0.1:80

If it is bound to 127.0.0.1, change it to:

Listen 80

and restart Apache.


Recommended URL for your setup

Once everything is working, users should use:

http://<SeedDMS-PC-IP>/seeddms/www/

Example:

http://192.168.1.100/seeddms/www/

That will work for any machine on the same local network.

powered by lykhari