# Palmr

File sharing platform with uploads, share links and privacy controls.

- Replaces: [WeTransfer](https://openlogs.fyi/alternatives/wetransfer)
- Summary: Paid file transfer services, such as WeTransfer.
- Stack: TypeScript (language)
- Deployment: docker_compose
- License: Apache-2.0 (osi) [source](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/LICENSE)
- Business model: unknown. The README at the pinned commit does not state a business model, so it stays unknown. ([source](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/README.md), read 2026-10-22)
- Difficulty: easy. 1 service, 1 volume mount, no env values to set, no elevated host access. Heuristic score 0 of 11: easy.
- Requirements: not stated
- Repository: [kyantech/Palmr](https://github.com/kyantech/Palmr)

## Install

1. Docker with the Compose plugin ([source](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/docker-compose.yaml))

   ```text
   A host with Docker and the Docker Compose plugin. This entry runs from a compose file.
   ```

2. Save the compose file as docker-compose.yaml ([source](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/docker-compose.yaml))

   ```yaml
   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:
   ```

3. Start it ([source](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/docker-compose.yaml))

   ```bash
   docker compose up -d
   ```

4. Open the app ([source](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/docker-compose.yaml))

   ```text
   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. ([source](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/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. ([source](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/docker-compose.yaml), checked 2026-10-22)

### Signals

Computed from a GitHub snapshot taken 2026-10-22.

- Open issues and pull requests: 1
- Stars: 2394, forks: 106
- Last push: 2026-10-16 (5 days ago)
- Latest release: v3.3.2-beta on 2025-12-10 (315 days ago)

## Sources

- [Repository: https://github.com/kyantech/Palmr](https://github.com/kyantech/Palmr)
- [License: https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/LICENSE](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/LICENSE)
- [Business model: https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/README.md](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/README.md)
- [Compose file: https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/docker-compose.yaml](https://github.com/kyantech/Palmr/blob/6d785dc2b2d13ea41e74ffab6688571f34580b3c/docker-compose.yaml)

---
Canonical: https://openlogs.fyi/tools/palmr  
Last updated: 2026-10-22
