Plik

v1.0.0β€’File Systemsβ€’stable

Plik is a temporary file upload system (Wetransfer like) in Go.

dockere2eefile-sharingfile-uploadgolang
Share:
1,761
Stars
0
Downloads
0
Weekly
0/5

What is Plik?

Plik is a Model Context Protocol (MCP) server that allows AI assistants like Claude, Cursor, and VS Code to plik is a temporary file upload system (wetransfer like) in go.

Plik is a temporary file upload system (Wetransfer like) in Go.

This server falls under the File Systems category on MCPgee, the world's largest MCP server directory with 33,000+ servers.

Features

  • Plik is a temporary file upload system (Wetransfer like) in

Use Cases

Temporary file upload system like WeTransfer
Self-hosted file sharing with end-to-end encryption
root-gg

Maintainer

LicenseNOASSERTION
Languagego
Versionv1.0.0
UpdatedMay 20, 2026
Statushealthy
Maintenanceactive

Works with

ClaudeOpenAIwindowsmacoslinux

Installation

Manual Installation

npx plik

Configuration

Configuration Details

Config File

claude_desktop_config.json

Performance

Response Metrics

Response Time< 200ms
ThroughputMedium

Resource Usage

Memory UsageLow
CPU UsageLow

How to Set Up and Use Plik

Plik is a self-hosted temporary file upload and sharing system written in Go, similar to WeTransfer, that provides a web interface, REST API, and command-line client for uploading files with configurable expiration times. It supports multiple storage backends (local disk, S3, OpenStack Swift, Google Cloud Storage), metadata backends (SQLite, PostgreSQL, MySQL), authentication providers (Google, GitHub, OIDC), and end-to-end encryption using the Age encryption standard. System administrators and developers use Plik when they need a privacy-respecting, self-hosted alternative to cloud file sharing services with enterprise storage and authentication integration.

Prerequisites

  • Docker, a Debian/Ubuntu system, or Go 1.21+ for building from source
  • A supported metadata backend: SQLite (default, no setup needed), PostgreSQL, or MySQL for production
  • Optional: AWS S3 credentials or Google Cloud Storage access for cloud storage backends
  • Network access to port 8080 (or your configured port) for the web interface and API
  • Optional: Google, GitHub, or OIDC application credentials for user authentication
1

Run Plik with Docker (quickest start)

Pull and run the official Plik Docker image. This starts the server on port 8080 with SQLite for metadata and local disk storage by default.

docker run -p 8080:8080 rootgg/plik
2

Install on Debian/Ubuntu via APT

Add the Plik APT repository, install the plik-server package, and start the service. The package also includes the plik CLI client.

curl -fsSL https://root-gg.github.io/plik/apt/gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/plik.gpg
echo "deb [signed-by=/etc/apt/keyrings/plik.gpg] https://root-gg.github.io/plik/apt stable main" | sudo tee /etc/apt/sources.list.d/plik.list
sudo apt update && sudo apt install plik-server
sudo systemctl start plik-server
3

Build from source

Clone the repository and build both the server (plikd) and CLI client (plik) from source. Go 1.21+ is required.

git clone https://github.com/root-gg/plik.git
cd plik && make
cd server && ./plikd
4

Configure the server

Edit the plikd.cfg configuration file to set your server URL, storage backend, metadata backend, authentication providers, file expiration settings, and maximum upload size. Restart the server after changes.

5

Deploy to Kubernetes via Helm

For production Kubernetes deployments, add the Plik Helm chart repository and install with your custom values.

helm repo add plik https://root-gg.github.io/plik
helm repo update
helm install plik plik/plik
6

Upload a file using the Plik CLI client

Use the plik CLI client to upload files from the command line. The client returns a shareable URL with the configured expiration time.

plik --server http://your-plik-server:8080 upload myfile.zip
# Upload with one-time download (OneShot mode):
plik --server http://your-plik-server:8080 --oneshot upload secret.pdf

Plik Examples

Docker Compose configuration

A production-ready Docker Compose setup for Plik with PostgreSQL as the metadata backend.

{
  "note": "Use docker-compose.yml for this configuration",
  "services": {
    "plik": {
      "image": "rootgg/plik",
      "ports": ["8080:8080"],
      "environment": {
        "PLIK_DATABASE_DRIVER": "postgres",
        "PLIK_DATABASE_DSN": "host=db user=plik password=secret dbname=plik sslmode=disable"
      }
    },
    "db": {
      "image": "postgres:15",
      "environment": {
        "POSTGRES_USER": "plik",
        "POSTGRES_PASSWORD": "secret",
        "POSTGRES_DB": "plik"
      }
    }
  }
}

Prompts to try

Plik provides a web interface and CLI client. These are typical workflows for a self-hosted Plik instance.

- "Upload this 500MB archive and share a link that expires in 24 hours"
- "Upload my SSH key as a one-time download link with password protection"
- "List all my current uploads and delete the expired ones"
- "Stream a large log file directly without storing it on the server using stream mode"

Troubleshooting Plik

Server fails to start with a 'database connection' error

Check your database DSN in plikd.cfg. For SQLite (the default), ensure the data directory is writable. For PostgreSQL/MySQL, verify the host, port, credentials, and that the database exists and is accessible from the Plik container.

File uploads succeed but downloads return 404

Verify that the ServerUrl setting in plikd.cfg matches the public URL clients use to access Plik. A mismatch between the configured URL and the actual hostname causes redirect errors that break download links.

OIDC or OAuth login fails with a redirect URI error

Ensure the redirect URI registered with your OAuth provider exactly matches <ServerUrl>/auth/<provider>/callback. Check that ServerUrl does not have a trailing slash and matches the scheme (http vs https) used by clients.

Frequently Asked Questions about Plik

What is Plik?

Plik is a Model Context Protocol (MCP) server that plik is a temporary file upload system (wetransfer like) in go. It connects AI assistants to external tools and data sources through a standardized interface.

How do I install Plik?

Follow the installation instructions on the Plik GitHub repository. Clone the repo, install dependencies, and add the server config to your AI client.

Which AI clients work with Plik?

Plik works with all major MCP-compatible AI clients including Claude Desktop, Claude Code, Cursor, VS Code (GitHub Copilot), Windsurf, and Cline.

Is Plik free to use?

Yes, Plik is open source and available under the NOASSERTION license. You can use it freely in both personal and commercial projects.

Plik Alternatives β€” Similar File Systems Servers

Looking for alternatives to Plik? Here are other popular file systems servers you can use with Claude, Cursor, and VS Code.

Browse More File Systems MCP Servers

Explore all file systems servers available in the MCPgee directory. Each server includes setup guides for Claude, Cursor, and VS Code.

Quick Config Preview

{ "mcpServers": { "plik": { "command": "npx", "args": ["-y", "plik"] } } }

Add this to your claude_desktop_config.json or .cursor/mcp.json

Read the full setup guide β†’

Ready to use Plik?

Browse our complete directory of 33,000+ MCP servers, read setup guides for your editor, and start building with the Model Context Protocol.

33,000+ ServersFree & Open SourceStep-by-Step Guides