MCPSERV.CLUB
PsiTransfer

PsiTransfer

Self-Hosted

Self-hosted file sharing without accounts

Stale(68)
1.8kstars
0views
Updated Jun 4, 2025
PsiTransfer screenshot

Overview

Discover what makes PsiTransfer powerful

PsiTransfer is a lightweight, self‑hosted file sharing service that eliminates the need for user accounts while still providing robust features such as resumable uploads, automatic bucket expiration, and optional password protection. From a developer’s perspective it is engineered around a modern JavaScript stack: a Node.js back‑end powered by Express and the tus.io protocol for streaming uploads, coupled with a Vue‑based front‑end that is gzipped to under 100 kB. The application runs on any platform with Node ≥ 7.4, but the Docker image makes it trivial to deploy in a containerised environment or on cloud‑managed services like AWS ECS, Google Cloud Run, or DigitalOcean App Platform.

Stateless bucket architecture

Resumable transfers

Fine‑grained lifecycle

Security controls

Overview

PsiTransfer is a lightweight, self‑hosted file sharing service that eliminates the need for user accounts while still providing robust features such as resumable uploads, automatic bucket expiration, and optional password protection. From a developer’s perspective it is engineered around a modern JavaScript stack: a Node.js back‑end powered by Express and the tus.io protocol for streaming uploads, coupled with a Vue‑based front‑end that is gzipped to under 100 kB. The application runs on any platform with Node ≥ 7.4, but the Docker image makes it trivial to deploy in a containerised environment or on cloud‑managed services like AWS ECS, Google Cloud Run, or DigitalOcean App Platform.

Key Features

  • Stateless bucket architecture – Each upload session is identified by a unique sid query parameter, eliminating the need for persistent user accounts.
  • Resumable transfers – Built on the tus.io protocol, uploads can be paused and resumed without data loss, making it suitable for large files or unstable network conditions.
  • Fine‑grained lifecycle – Buckets can be configured with an expiration timestamp or a one‑time download flag, after which all files are automatically purged.
  • Security controls – Optional AES‑256 encryption of the download list, and an admin page protected by a configurable password.
  • Archive downloads – Users can download all files in a bucket as a single zip or tar.gz archive, with the server streaming the archive to avoid memory spikes.

Technical Stack

LayerTechnology
RuntimeNode.js (≥ 12) with Express framework
Upload protocoltus.io – HTTP‑based resumable file upload specification
FrontendVue.js (single page, lightweight) served as static assets
StorageLocal filesystem (/data by default), with optional symlink or bind mounts in Docker
ConfigurationPlain JavaScript objects (config.js, config.production.js) with environment overrides
Build toolsWebpack (for Vue assets), Babel for ES6+ support

The application’s core logic is split into three modules: the tus server that handles chunked uploads, a bucket manager that tracks metadata and expiration timers, and an admin API exposed under /admin for monitoring. All HTTP endpoints are RESTful, and the tus server emits events that can be hooked by external services (e.g., webhook notifications on upload completion).

Deployment & Infrastructure

PsiTransfer’s Docker image (psitrax/psitransfer) is built on Alpine Linux, keeping the footprint below 100 MB. It exposes a single port (3000 by default) and expects a data volume mounted at /data. The image supports --pull=always for automated updates, and the PSITRANSFER_ADMIN_PASS environment variable secures the admin UI. For high‑availability, developers can orchestrate multiple replicas behind a load balancer; the stateless nature of uploads ensures consistency across instances as long as they share the same data volume (e.g., via NFS or a cloud block store).

Integration & Extensibility

  • Webhooks – The tus server can be extended to fire custom events on upload completion, allowing integration with CI/CD pipelines or notification services.
  • Plugin hooks – The bucket manager exposes lifecycle callbacks (onUpload, onDelete) that can be overridden in a custom fork to add analytics or trigger downstream processing.
  • API – While the UI is designed for simplicity, developers can interact programmatically with the /api endpoints to create buckets, list contents, or delete files.
  • Custom front‑end – Since the Vue assets are built as a static bundle, developers can replace or augment them with their own SPA, leveraging the same tus endpoints.

Developer Experience

The project follows a clean folder structure (app/ for Vue, root src/ for Node logic) and includes a comprehensive README with Docker, manual, and source‑build instructions. Documentation is hosted in the docs/ directory and linked from the README, providing API references and configuration examples. Community support is moderate; issues are tracked on GitHub and the project receives regular updates, with a focus on security (Snyk badge) and dependency management (David DM badge). The license is permissive, allowing commercial use without attribution.

Use Cases

  1. Internal File Sharing – Teams can host a private instance to share large binaries or media without relying on third‑party cloud storage.
  2. Temporary Distribution – Developers can generate a one‑time download link for build artifacts or test data, then let the bucket expire automatically.
  3. Event‑Driven Pipelines – Integrate with CI tools to upload build logs or test results; downstream services can consume the files via webhooks.
  4. Mobile‑Friendly Asset Delivery – The responsive UI works on phones, making it ideal for field engineers who need to upload logs or images from the road.

Advantages

  • Zero‑cost, self‑hosted – No subscription fees or vendor lock‑in; all data stays on your infrastructure.
  • Performance – The tus protocol streams directly to disk, reducing memory usage and enabling high‑throughput uploads even for 10 GB files.
  • Flexibility – Stateless design allows scaling across containers or servers without session replication.
  • Open source & permissive license

Open SourceReady to get started?

Join the community and start self-hosting PsiTransfer today

Weekly Views

Loading...
Support Us
Most Popular

Infrastructure Supporter

$5/month

Keep our servers running and help us maintain the best directory for developers

Repository Health

Loading health data...

Information

Category
other
License
BSD-2-CLAUSE
Stars
1.8k
Technical Specs
Pricing
Open Source
Database
None
Docker
Official
Supported OS
LinuxDocker
Author
psi-4ward
psi-4ward
Last Updated
Jun 4, 2025