Multi-architecture Docker image for SeedDMS, a document management system. This image (andy008/seeddms) provides native support for both linux/amd64 and linux/arm64 architectures, making it ideal for ARM-based systems like Apple Silicon Macs, Raspberry Pi, and other ARM64 servers.
While other SeedDMS Docker images may only support linux/amd64, this image is built with multi-architecture support using Docker Buildx, ensuring optimal performance on ARM64 systems without emulation overhead.
docker run -d \
--name seeddms \
-p 8080:80 \
-v seeddms-data:/var/seeddms/seeddms60x/data \
-v seeddms-conf:/var/seeddms/seeddms60x/conf \
andy008/seeddms:latest
Then open your browser and navigate to http://localhost:8080 to start the SeedDMS installation wizard.
services:
seeddms:
image: andy008/seeddms:latest
ports:
- "8080:80"
volumes:
- seeddms-data:/var/seeddms/seeddms60x/data
- seeddms-conf:/var/seeddms/seeddms60x/conf
volumes:
seeddms-data:
seeddms-conf:
This image supports the following architectures:
The correct image for your platform is automatically selected when you pull the image.
The following volumes are exposed for data persistence:
/var/seeddms/seeddms60x/data - Document storage and database files/var/seeddms/seeddms60x/conf - Configuration filesImportant: Make sure to mount these volumes to persist your data across container restarts.
SeedDMS requires a database. You can use MySQL/MariaDB or PostgreSQL. Here's an example with MariaDB:
version: '3.8'
services:
db:
image: mariadb:latest
environment:
MYSQL_ROOT_PASSWORD: rootpassword
MYSQL_DATABASE: seeddms
MYSQL_USER: seeddms
MYSQL_PASSWORD: seeddms
volumes:
- db-data:/var/lib/mysql
seeddms:
image: andy008/seeddms:latest
ports:
- "8080:80"
volumes:
- seeddms-data:/var/seeddms/seeddms60x/data
- seeddms-conf:/var/seeddms/seeddms60x/conf
depends_on:
- db
volumes:
db-data:
seeddms-data:
seeddms-conf:
andy008/php4seeddmsThis image includes a lightweight scheduler that automatically runs SeedDMS scheduled tasks.
How it works:
Configuration:
The scheduler interval can be customized using the SEEDDMS_SCHEDULER_INTERVAL environment variable (in seconds). Default is 300 seconds (5 minutes).
services:
seeddms:
image: andy008/seeddms:latest
environment:
- SEEDDMS_SCHEDULER_INTERVAL=600 # Run every 10 minutes
Or with docker run:
docker run -e SEEDDMS_SCHEDULER_INTERVAL=600 andy008/seeddms:latest
Required Setup:
The scheduler requires a SeedDMS user named cli_scheduler to exist. This is a SeedDMS user (not a system user) that must be created through the SeedDMS admin interface:
cli_schedulerImportant: The scheduler will fail with an error if this user doesn't exist. You'll see errors like:
Execution of tasks failed because of missing user 'cli_scheduler'. Will exit now.
Testing the scheduler:
# List all scheduled tasks
docker exec seeddms /var/seeddms/seeddms60x/seeddms/utils/seeddms-schedulercli --mode=list
# Run tasks immediately (dry-run)
docker exec seeddms /var/seeddms/seeddms60x/seeddms/utils/seeddms-schedulercli --mode=dryrun
Note: Scheduler output is logged to Apache's error log. View with:
docker logs seeddms 2>&1 | grep -i scheduler
This image includes a custom extension that automatically classifies PDF documents using Large Language Models (LLMs).
Features:
See the extension documentation for configuration details.
This repository includes automated workflows that:
To build the image locally:
docker buildx build --platform linux/amd64,linux/arm64 -t andy008/seeddms:latest .
Or for a single architecture:
docker build -t andy008/seeddms:latest .
cli_scheduler UserIf you see errors like:
Execution of tasks failed because of missing user 'cli_scheduler'. Will exit now.
This means the required scheduler user hasn't been created yet. See the Built-in Scheduler section above for instructions on creating the cli_scheduler user in SeedDMS.
If you encounter permission issues with the data or conf directories, ensure the volumes are properly mounted and have correct permissions:
docker exec seeddms chown -R www-data:www-data /var/seeddms/seeddms60x/data
docker exec seeddms chown -R www-data:www-data /var/seeddms/seeddms60x/conf
On ARM64 systems, make sure you're using the native ARM64 image. You can verify this by checking the image architecture:
docker inspect andy008/seeddms:latest | grep Architecture
SeedDMS is licensed under the GPL v2. See the SeedDMS website for more information.
This project is actively maintained, but no support is provided.
For SeedDMS-specific issues, please refer to the SeedDMS community forums.
Content type
Image
Digest
sha256:bb902e73e…
Size
539.5 MB
Last updated
25 days ago
docker pull andy008/seeddms