Palmr. is an open-source, self-hosted file-sharing platform designed for users who prioritize privacy and control over their data. Unlike commercial services like WeTransfer or SendGB, Palmr. gives you full ownership of your files by running entirely on your own server or VPS. It eliminates third-party tracking, artificial upload limits, and subscription fees while offering a polished web interface for uploading, organizing, and sharing files securely. Built with Fastify for the backend and Next.js 15 for the frontend, it’s ideal for individuals, small teams, or organizations seeking a transparent and customizable alternative to cloud-based file transfer tools.
The platform supports both local filesystem storage and S3-compatible object storage, making it adaptable for personal use or enterprise-grade deployments. With features like password-protected shares, folder organization, reverse sharing (WeTransfer-style), and user management, Palmr. bridges the gap between simplicity and functionality—without compromising on security or transparency.
What You Get
- Self-hosted deployment - Deploy Palmr. on your own server or VPS with no third-party dependencies; full control over data and infrastructure.
- Password-protected file shares - Generate links with optional password protection to restrict access to shared files.
- Folder organization - Create and manage folders to categorize and share groups of files with a single link.
- S3-compatible object storage - Optionally integrate with AWS S3, MinIO, or any S3-compatible storage backend for scalable file storage.
- Reverse sharing - Allow others to upload files directly to your account without needing a login, similar to WeTransfer’s reverse share feature.
- User management & profile settings - Manage multiple users, reset passwords, and customize account preferences through a dedicated dashboard.
- SQLite-based metadata storage - Zero-configuration database setup using SQLite for user accounts, file metadata, and share records.
- Modern web interface - Built with Next.js 15, TypeScript, and Shadcn/ui for a responsive, fast, and visually consistent user experience.
Common Use Cases
- Building a private file-sharing portal for clients - A freelance designer uses Palmr. to share large project files with clients without relying on Google Drive or Dropbox, ensuring no third-party tracking and full access control.
- Creating a secure internal document repository for small teams - A startup deploys Palmr. on a local server to share internal reports and assets with team members, using password-protected folders to restrict access by department.
- Problem → Solution flow: Avoiding file size limits and data privacy risks - Users frustrated by WeTransfer’s 2GB limit and tracking can self-host Palmr. to upload files of any size with end-to-end control over who accesses them.
- Team/workflow scenario: DevOps teams managing compliance-sensitive transfers - Compliance-focused organizations use Palmr. to replace SaaS file transfer tools, ensuring data never leaves their infrastructure and audit logs are retained locally.
Under The Hood
Palmr is a modern, multi-tiered application that combines a documentation site with a modular backend server, designed to support flexible deployment and extensive configuration options. It emphasizes a layered architecture with clear module boundaries and leverages TypeScript for type safety and maintainability.
Architecture
The system follows a monorepo structure with distinct frontend and backend layers, organized into modular components that encapsulate specific functionalities. This promotes separation of concerns and enhances scalability.
- The codebase adopts a layered architecture for both frontend and backend, ensuring clear division between presentation, business logic, and data access layers
- Modules are structured to support independent development and deployment, with well-defined interfaces between components
- Dependency injection and configuration-driven patterns are used to improve flexibility and testability
Tech Stack
Built with TypeScript, Palmr integrates modern frameworks and cloud-native tools to deliver a robust and extensible platform.
- The frontend is powered by Next.js, while the backend runs on Fastify, enabling fast and scalable API development
- Core dependencies include Prisma for database operations, Zod for validation, and AWS SDK for S3-compatible storage
- Development workflows are supported by pnpm, Docker, and Makefile for streamlined builds and containerization
Code Quality
The codebase reflects a mixed quality profile, with some well-structured components and consistent practices, yet lacking comprehensive testing and full linting enforcement.
- Type safety is enforced through TypeScript, contributing to fewer runtime errors and improved developer experience
- Error handling is present across modules but not consistently applied or documented in all cases
- Code organization shows some adherence to conventions, though inconsistencies are evident in formatting and style
What Makes It Unique
Palmr distinguishes itself through its integration of a documentation-first approach with a flexible backend server, supporting multiple authentication providers and deployment models.
- The system uniquely combines OIDC support for Auth0, Google, GitHub, and Kinde, enabling a unified authentication experience across platforms
- It offers a modular architecture that supports both monolithic and microservice-style deployments, enhancing adaptability to different use cases
- The project’s emphasis on configuration-driven development allows for easy customization and extensibility without code changes