OpenLogs

All tools

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)

Read from github.com/kyantech/Palmr/blob/6d785dc/LICENSE

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

kyantech/Palmr

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

Config check passed docker compose config exited 0 on this exact file on 2026-10-22.
docker-compose.yaml Version 1
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

  1. 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.

  2. Save the compose file as docker-compose.yaml (github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml)

    Use the compose file shown above.

  3. Start it (github.com/kyantech/Palmr/blob/6d785dc/docker-compose.yaml)
    docker compose up -d
  4. 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

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)