Kopia logo

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.