Palmr
File sharing platform with uploads, share links and privacy controls.
- Replaces
-
Paid file transfer services, such as WeTransfer.
All open-source alternatives to WeTransfer
- Difficulty
-
Difficulty: Easy
1 service, 1 volume mount, no env values to set, no elevated host access. Heuristic score 0 of 11: easy.
- Stack
TypeScript (language)
- Deployment
docker_compose
- Requirements
Not stated.
- License
-
Apache-2.0(OSI-approved open source) - Business model
-
Unknown
The README at the pinned commit does not state a business model, so it stays unknown.
Source: github.com/kyantech/Palmr/blob/6d785dc/README.md, read on .
- Repository
GitHub stats
- Stars
- 2,394
- Forks
- 106
- Open issues and pull requests
- 1
- Last push
- 2026-10-16
- Latest release
- v3.3.2-beta
- Released
- 2025-12-10
From the GitHub API on . These numbers are a snapshot, not live. GitHub detected the license as Apache-2.0.
Compose file
services:
palmr:
image: kyantech/palmr:latest
container_name: palmr
environment:
# ==============================================================================
# STORAGE CONFIGURATION
# ==============================================================================
# By default, Palmr uses internal storage - ZERO CONFIG NEEDED!
# Files are managed automatically with no setup required.
#
# Want to use external S3 storage (AWS, S3-compatible, etc)? Just add:
# - ENABLE_S3=true # Enable external S3
# - S3_ENDPOINT=s3.amazonaws.com # Your S3 endpoint
# - S3_ACCESS_KEY=your-access-key # Your access key
# - S3_SECRET_KEY=your-secret-key # Your secret key
# - S3_BUCKET_NAME=palmr-files # Your bucket name
# - S3_REGION=us-east-1 # Region (optional)
# - S3_USE_SSL=true # Use SSL (optional)
# - S3_FORCE_PATH_STYLE=false # Path-style URLs (optional, true for Minio)
# - S3_REJECT_UNAUTHORIZED=true # Reject self-signed certs (optional)
#
# ==============================================================================
# USER/GROUP CONFIGURATION
# ==============================================================================
# - PALMR_UID=1000 # UID for container processes (optional)
# - PALMR_GID=1000 # GID for container processes (optional)
#
# ==============================================================================
# APPLICATION SETTINGS
# ==============================================================================
# - DEFAULT_LANGUAGE=en-US # Default language (optional)
# - PRESIGNED_URL_EXPIRATION=3600 # Presigned URL expiration in seconds (optional)
# - SECURE_SITE=true # Set true if using HTTPS reverse proxy (optional)
STORAGE_URL: "https://palmr-demo:9379" # REQUIRED for internal storage: Full storage URL with protocol (e.g., https://syrg.palmr.com or http://192.168.1.100:9379). Not needed when ENABLE_S3=true.
#
ports:
- "9379:9379" # Internal storage (S3-compatible, REQUIRED for file uploads when using internal storage)
- "5487:5487" # Web interface
- "3333:3333" # API (optional, only if you need direct API access)
volumes:
- palmr_data:/app/server
# ==============================================================================
# ADVANCED: Use a different disk for file storage (for larger capacity)
# ==============================================================================
# Uncomment the line below to store files on a different disk:
# - /path/to/your/large/disk:/app/server/data
#
# Example: Mount a 2TB drive for files while keeping database on fast SSD
# - /mnt/storage/palmr-files:/app/server/data
#
restart: unless-stopped
volumes:
palmr_data:
From the app's own repository: github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml.
Compose file from the app repository.
Install
- Docker with the Compose plugin (github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml)
A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
- Save the compose file as docker-compose.yaml (github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml)
Use the compose file shown above.
- Start it (github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml)
docker compose up -d - Open the app (github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml)
Open http://localhost:5487. The compose file publishes host port 5487 for the palmr service.
Compose file check: config_ok on 2026-10-22.
Gotchas and maintenance
Gotchas
- Some images use the latest tag or no tag. Images without a pinned version: palmr: kyantech/palmr:latest. A later pull can get a different version. (github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml, checked 2026-10-22)
- The compose file publishes host ports. Host ports: 9379 (palmr), 5487 (palmr), 3333 (palmr). A port without a host address listens on all host network interfaces. (github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml, checked 2026-10-22)
Signals
- Open issues and pull requests: 1
- Last push: 2026-10-16 (5 days before this page was built)
- Latest release: v3.3.2-beta on 2025-12-10 (315 days before this page was built)