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 channelstable (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 PASSSeed the admin directly (skips the browser token step)
--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-passEmail configuration
--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.

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