Kopia
Fast, secure backup tool with client-side encryption, deduplication, and a browser-based server UI
Alternative to: backblaze, crashplan, carbonite
Kopia is an open-source backup/restore tool that creates encrypted, compressed, and deduplicated snapshots of your files and saves them to cloud, network, or local storage that you control. Its repository server mode runs a browser-accessible web UI for creating snapshots, browsing history, and restoring files, in addition to its CLI and desktop GUI clients.
Kopia Docker Compose example
Self-host Kopia on your own server, homelab, or VPS starting from this Docker Compose example.
It runs Kopia in Docker containers using the official kopia/kopia:latest image, with persistent volumes and automatic restarts preconfigured.
Review the environment variables and adjust them to your setup, save the file as compose.yml (or docker-compose.yml), and start the stack with docker compose up -d.
services:
kopia:
image: kopia/kopia:latest
# Kopia persists the hostname in its config and uses it to identify this
# machine's snapshots — set an explicit, stable name.
hostname: kopia
restart: unless-stopped
command:
- server
- start
# Serve the web UI over plain HTTP (TLS is terminated by the reverse proxy).
- --insecure
# Required when the UI is reached through a reverse proxy on another origin.
- --disable-csrf-token-checks
- --address=0.0.0.0:51515
# Username for logging into the Kopia web UI.
- --server-username=admin
# Password for logging into the Kopia web UI.
- --server-password=changeme
environment:
# Password used to encrypt the backup repository. Losing it means losing
# access to every snapshot — store it somewhere safe.
KOPIA_PASSWORD: "changeme"
# Username recorded as the owner of snapshots created from this instance.
USER: "kopia"
# Timezone used for snapshot schedules and log timestamps.
TZ: "UTC"
volumes:
- config:/app/config
- cache:/app/cache
- logs:/app/logs
# Local filesystem repository target — create a repository here from the
# UI, or connect the UI to cloud/network storage (S3, B2, WebDAV, ...).
- repository:/repository
volumes:
config:
cache:
logs:
repository:
Values set to changeme are required — replace them with your own
values before starting Kopia.
Prefer a managed setup? WinterFlow installs, configures, and updates Kopia for you using this same Docker Compose configuration.