Install PlikShare with Nginx.
The classic production setup. Nginx as the reverse proxy, Let's Encrypt via Certbot for TLS. Tuned for big file uploads and downloads, with config you can read and adjust.
one-line install
sudo /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/damian-krychowski/plikshare/refs/heads/main/deployment/plikshare-install-nginx.sh)"Prefer to read before you run? Inspect the script on GitHub first.
Before you run it
Make sure your domain points at your server's IP address. Add an A record in your DNS configuration:
- Record type: A
- Host: your domain or subdomain (e.g. plikshare.yourdomain.com)
- Points to: your server's IP address
Correct DNS is required for Let's Encrypt to verify domain ownership and issue an SSL certificate.
What the script does
- Installs prerequisites - Docker, plus the Uncomplicated Firewall (UFW) opening 22, 80 and 443.
- Collects setup details - domain, admin email, initial admin password, encryption passwords and storage volumes.
- Installs PlikShare - generates a Docker Compose file with three services (PlikShare, Nginx, Certbot), runs Nginx in HTTP-only mode first, then provisions a Let's Encrypt certificate, then swaps in the production HTTPS config.
- Sets up cron jobs - daily SSL certificate renewal at 12:00, plus an optional nightly PlikShare update.
When it finishes, PlikShare is reachable over HTTPS. HTTP requests redirect automatically. Nginx is configured for large file transfers with HTTP/2 and gzip enabled.
See the installation in action
// talk to a human
Rather not run it yourself?
If you'd like a hand getting PlikShare running, or you want it fully managed by someone else, let's have a quick chat.
- Initial setup on your server - Docker, SSL, reverse proxy
- Storage (S3 / R2 / B2 / Azure / GCS) and email provider
- Ongoing updates, backups and migrations