Skip to content

DocShare

A modern, secure document sharing platform. Upload, share, and manage your files with granular permission controls.

Why DocShare?

DocShare was created to solve a simple problem: a private server to host documents. It supports object storage, without bloat.

Features

  • Simple sharing — Share files with individuals or groups in just a few clicks
  • Permission controls — Three levels: view, download, or edit
  • Group management — Organise users into teams with owner/admin/member roles
  • Document previews — Preview Office documents, PDFs, and images directly in the browser
  • Activity tracking — Know what's happening with file uploads, shares, and group changes
  • Audit logging — Complete trail of all actions for compliance and security
  • API tokens — Generate long-lived personal access tokens for CLI and programmatic use
  • Device flow — Authenticate CLI tools and apps via browser approval (OAuth2 RFC 8628)
  • MFA & Passkeys — TOTP authenticator apps and WebAuthn passkeys for enhanced security
  • CLI tool — Upload, download, share, and manage files from the terminal

CLI

Install the CLI to manage files from your terminal:

curl -sSfL https://raw.githubusercontent.com/hayward-solutions/docshare/main/cli/install.sh | sh
docshare login                           # Authenticate via browser
docshare upload report.pdf /Documents    # Upload a file
docshare download /Documents/report.pdf  # Download a file
docshare ls /Documents                   # List files

See the CLI documentation for the full command reference.

Quick Start

DocShare provides two Docker Compose configurations:

File Use Case Storage Builds From
docker-compose.yml Production AWS S3 Pre-built GHCR images
docker-compose.dev.yml Development MinIO (local) Local source code

Development

git clone https://github.com/hayward-solutions/docshare.git
cd docshare
docker-compose -f docker-compose.dev.yml up -d

Access the application at http://localhost:3001

Production

export AWS_ACCESS_KEY_ID=your-access-key
export AWS_SECRET_ACCESS_KEY=your-secret-key
export S3_BUCKET=your-s3-bucket
docker-compose up -d

Documentation

Examples

Ready-to-use configurations for various deployment scenarios:

  • Docker Compose: Minimal, external database, S3-compatible storage, full with SSO
  • Helm: Minimal, production, external database, high availability
  • SSO: Google, GitHub, Keycloak, LDAP

See Examples Overview for all available configurations.

Contributing

See Contributing Guide for development setup and guidelines.