Skip to content

Repository files navigation

ShareDock

简体中文

ShareDock is a self-hosted file relay for personal developers and small teams. It makes temporary file sharing, screenshot delivery, reverse uploads, and automation uploads straightforward while keeping data under your control.

ShareDock is deliberately not a cloud drive or a file-manager replacement. It is for short-lived transfers that need a clean link, clear expiration, and a small operational surface.

Highlights

  • Create expiring share links with passwords, visitor limits, and deletion controls.
  • Receive files through reverse-share links without exposing a full drive.
  • Organize recent shares with notes, tags, and account-level management.
  • Inspect storage, expiring shares, and scheduled-cleanup status from Admin.
  • Create personal upload tokens for ShareX, PowerShell, and scripts.
  • Send successful automation uploads to an optional HMAC-SHA256-signed webhook.
  • Deploy with local filesystem storage or S3-compatible object storage.

Quick Start

Prerequisites

  • Docker Engine with Docker Compose v2
  • A writable directory for ShareDock data

Run with Docker Compose

git clone https://github.com/ToYOhin/sharedock.git
cd sharedock
docker compose up -d

After the service becomes healthy, open http://localhost:3000. The Compose setup persists application data in the local data/ directory.

Before exposing an instance to a network, review config.example.yaml, set an appropriate reverse-proxy configuration, and protect the first administrator account.

First Steps

  1. Sign in and change the initial administrator credentials.
  2. Open Admin → Configuration to review expiration, storage, and service settings.
  3. Use Upload to create a temporary share link or a reverse-share link.
  4. Create a dedicated upload token in Account → Upload tokens for each ShareX client or automation workflow.
  5. Back up data/ before storage or database changes.

Automation Uploads

ShareDock accepts a ShareX-compatible multipart upload endpoint:

POST /api/integrations/sharex/upload
Authorization: Bearer <sdock_...>
multipart field: file

The response contains a normal share URL and a private management URL. Treat the upload token, generated .sxcu file, and management URL as credentials. The full integration guide covers ShareX import, PowerShell, and scripts.

Data, Backup, and Security

  • Local deployments store the SQLite database and uploaded files under data/.
  • S3 object storage requires provider-side backup and retention controls.
  • Rehearse restores into a disposable directory before replacing live data.
  • Keep deployment secrets, upload tokens, deletion URLs, database files, and backup archives out of source control.
  • Use a reverse proxy with HTTPS for any Internet-facing deployment.

Documentation

Project Relationship and License

ShareDock is derived from Pingvin Share X and the original Pingvin Share codebase. It is an independent project and is not affiliated with or endorsed by the upstream projects.

ShareDock retains the BSD-2-Clause license, original copyright notice, and disclaimer. Distributed Docker images include /opt/app/LICENSE and /opt/app/NOTICE.md for the applicable license and attribution materials. See LICENSE and NOTICE.md.

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages