Skip to Content
Getting StartedSimple Install

Simple Install

The install script sets up PicPeak with a single command — it installs Docker if needed, generates all secrets, writes the configuration, and starts the stack. Best for photographers and studios who want a working install without editing config files.

Prefer to run the steps yourself, or already have Docker? See Quick Start for the manual Docker path.

Requirements: a Linux host (Ubuntu, Debian, Fedora, RHEL/CentOS, Raspberry Pi OS), run as root/sudo. Docker installs are recommended (~4 GB RAM); native installs work on smaller hosts like a Raspberry Pi.

Download and run

curl -fsSL https://raw.githubusercontent.com/PicPeak/picpeak/main/scripts/picpeak-setup.sh -o picpeak-setup.sh chmod +x picpeak-setup.sh sudo ./picpeak-setup.sh

Answer the wizard

The script asks a few questions, then shows a summary and asks you to confirm before it changes anything. Press Enter to accept the [default] shown in brackets.

  • Install method — Docker (recommended) or Native (systemd + SQLite, good for a Raspberry Pi)
  • Install directory — Docker only (default ~/picpeak)
  • Release channel — stable (default) or beta
  • Domain — leave blank to run on the local IP over HTTP; you can add a domain later
  • HTTPS — with a domain: automatic HTTPS via Caddy (native), your own reverse proxy, or plain HTTP
  • Admin email — used for the account you create in the browser
  • Email / SMTP — configure now (Gmail, SendGrid, or custom) or skip

Let it install

For a Docker install the script clones PicPeak, generates the machine secrets, writes a minimal .env pointed at docker-compose.production.yml (prebuilt images), creates the storage folders, and starts the stack. No secrets to manage by hand.

Create your admin account

When it finishes, the script prints a one-time setup token:

Create your admin account in the browser: 1. Open http://<host>:3000/admin 2. Enter your email and a password. 3. When prompted, paste this one-time setup token: q7Fh2K9x… (also saved to data/SETUP_TOKEN)

Open the admin URL, paste the token, and set your email + password. See First Login for the full walkthrough.

Unattended install

Pass --unattended plus flags to install without any prompts — useful for automation, CI, or a NAS. The script fails fast on impossible combinations (e.g. --enable-ssl without --domain).

The stack comes up unattended; you finish by creating the admin in the browser (the setup token is printed / saved to data/SETUP_TOKEN).

sudo ./picpeak-setup.sh --docker --unattended --email [email protected]

Options

FlagPurpose
--docker / --nativeInstall method (default: docker)
--unattendedRun without prompts, using defaults + the flags below
--email EMAILAdmin email (default [email protected])
--admin-password-file FILESeed the admin directly from a password file (skips the browser token step). The file must be a regular file with no group or other permissions. Builds containing PicPeak PR #1809 .
--admin-password PASSThe same with the password on the command line. Still works, with a warning: the password ends up in the process list and the shell history.
--domain DOMAINDomain name (enables HTTPS URLs)
--enable-sslNative only: provision HTTPS via Caddy (requires --domain)
--install-dir DIRInstall directory (Docker; default ~/picpeak)
--channel CHANNELImage channel: stable (default) or beta
--port PORTUser-facing port
--smtp-host / --smtp-port / --smtp-user / --smtp-pass-fileEmail configuration. --smtp-pass-file FILE reads the SMTP password from a file under the same rules; --smtp-pass PASS still works, with the same warning.
--updateUpdate an existing installation
--uninstallRemove PicPeak

HTTPS

  • Native + --domain — the script can provision automatic HTTPS with Caddy  (Let’s Encrypt).
  • Docker + --domain — terminate TLS with your own reverse proxy (Traefik, nginx, or a Cloudflare Tunnel) pointed at the frontend port. See Reverse Proxy and SSL.

Putting PicPeak on the internet? Any public server is probed by automated scanners within minutes. Before you share your first gallery link, read Bots and Scanners: a four-point checklist that takes ten minutes, plus an optional free shield in front of PicPeak. Installs that are only reachable inside your own network can skip it.

Updating and removing

sudo ./picpeak-setup.sh --update # pull the latest images and restart sudo ./picpeak-setup.sh --uninstall # remove PicPeak (prompts before deleting data)
Last updated on