plik

plik

Docker app from A75G's Repository

Overview

Plik is a scalable file uploading system with multiple backends.

Mentioned in Awesome Go Build Go Report Docker Pulls GoDoc License

Want to access the documentation? https://root-gg.github.io/plik

Want to see a live demo ? https://plik.root.gg

Want to chat with us ? Telegram group : https://t.me/plik_rootgg

Want to hear about new releases only ? Telegram channel : https://t.me/plik_root_gg

Plik

Plik is a scalable & friendly temporary file upload system β€” like WeTransfer, self-hosted.

Features

  • πŸ–₯️ Modern Vue 3 web interface with i18n (12 languages) and light, dark, custom themes
  • πŸ§‘β€πŸ’» Powerful Command line client
  • ☁️ Multiple storage backends (local, S3, OpenStack Swift, Google Cloud Storage)
  • πŸ—„οΈ Multiple metadata backends (SQLite, PostgreSQL, MySQL)
  • πŸ”‘ Multiple authentication providers (Local, Google, GitHub, OVH, OIDC)
  • ⏱️ Configurable TTL with auto-cleanup
  • πŸ’£ OneShot downloads (file deleted after first download)
  • ⚑ Stream mode (uploader β†’ downloader, nothing stored)
  • πŸ” Password-protected uploads (BasicAuth)
  • πŸ”’ End-to-end encryption with Age (CLI ↔ Web interoperable)
  • πŸ–ΌοΈ File preview with syntax highlighting, Markdown rendering, Mermaid diagrams and media player
  • πŸ“¦ Archive directly from CLI/Web
  • πŸ“Š Prometheus metrics
  • πŸ€– MCP server for AI assistant integration

Third-party clients

Quick Start

# Docker
docker run -p 8080:8080 rootgg/plik

# From release
wget https://github.com/root-gg/plik/releases/download/1.4.2/plik-server-1.4.2-linux-amd64.tar.gz
tar xzvf plik-server-1.4.2-linux-amd64.tar.gz
cd plik-server-1.4.2-linux-amd64/server && ./plikd

# Debian / Ubuntu
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 plikd

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

# Kubernetes (Helm)
helm repo add plik https://root-gg.github.io/plik
helm install plik plik/plik

Open web interface at http://127.0.0.1:8080

Command Line Client

$ plik myfile.txt
Upload successfully created at Sat, 21 Feb 2026 09:02:54 CET :
    http://127.0.0.1:8080/#/?id=vDPmPEUqc5oCt31T

myfile.txt :  2.56 KiB / 2.56 KiB [=========================================] 100.00% 719.15 KiB/s 0s

Commands :
curl -s "http://127.0.0.1:8080/file/vDPmPEUqc5oCt31T/UZzSdZ7zPgfRiTem/myfile.txt" > 'myfile.txt'

# or with just curl
$ curl --form 'file=@/path/to/myfile.txt' http://127.0.0.1:8080
https://plik.root.gg/file/eeBKaTQhg5xv0zTL/WWVhZc0PFtvoZgCu/myfile.txt

See: CLI Client Documentation for installation

How to Contribute

Contributions are welcome! See the contributing guide for development setup and build instructions.

License

MIT

Install Plik on Unraid in a few clicks.

Find Plik in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for Plik Review the template variables and paths Click Install

Requirements

Run
codemkdir -p /mnt/user/appdata/plik/ && mkdir /mnt/user/appdata/plik/data/ && wget -O /mnt/user/appdata/plik/plikd.cfg https://raw.githubusercontent.com/root-gg/plik/master/server/plikd.cfg && chown 1000:1000 /mnt/user/appdata/plik/ && chown 1000:1000 /mnt/user/appdata/plik/data/ && chown 1000:1000 /mnt/user/appdata/plik/plikd.cfg/code

Lastly edit plikd.cfg
https://github.com/root-gg/plik/blob/master/documentation/docker.md
only add /data/ before files" and plik.db" in DataBackend = "file"

Download Statistics

5,467,936
Total Downloads
11,978
This Month
11,151
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Details

Repository
rootgg/plik:latest
Last Updated2026-04-30
First Seen2022-02-02

Runtime arguments

Web UI
http://[IP]:[PORT:8080]
Network
bridge
Shell
sh
Privileged
false

Template configuration

Port 1Porttcp
Target
8080
Value
8080
Data PathPathrw
Target
/data
Value
/mnt/user/appdata/plik/data/
plikd.cfg PathPathrw
Target
/home/plik/server/plikd.cfg
Value
/mnt/user/appdata/plik/plikd.cfg