No description
  • Shell 70.2%
  • PowerShell 29.8%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-26 11:21:02 +02:00
docker-compose.yml Update docker-compose.yml 2026-09-26 11:21:02 +02:00
generate-secrets.ps1 Fixed password length being ignored 2026-09-02 08:54:19 +02:00
generate-secrets.sh Update generate-secrets.sh 2026-08-30 15:26:29 +02:00
post-snapshot.sh Add post-snapshot.sh 2026-08-30 15:27:26 +02:00
pre-snapshot.sh Add pre-snapshot.sh 2026-08-30 15:27:01 +02:00
README.md Update README.md 2026-08-30 15:43:52 +02:00
restore-database.sh Update restore-database.sh 2026-09-01 07:18:20 +02:00
stack.env Update stack.env 2026-08-30 11:36:24 +02:00

kopia-server

Short how to use:

  • Generate secret files with generate-secrets.sh (Linux) or generate-secrets.ps1 (Windows), remember to copy the files before deploying
  • Deploy via Portainer-CE git stack as usual, remember to use the included stack.env when deploying
  • Log in, credentials are the generated kopiaui_username.txt and kopiaui_password.txt
  • Inside KopiaUI Create a Repository, local folder, point it to /repository
  • Alternatively you can create any other type of repository, but DO NOT CREATE "KOPIA*"" ones!
  • Go to Policies, edit the Global Policy:
    • Snapshot Retention: set as you please
    • Compression: zstd (recommended by me)
  • Snapshots -> New Snapshot:
    • path: /backups/[select a subfolder] -> click "Estimate" to check
    • Snapshot actions -> Before Snapshot: /backups/zipline/pre-snapshot.sh (sample file is in this repo, remember to set executable flag!)
    • Snapshot actions -> After Snapshot: /backups/zipline/post-snapshot.sh (sample file is in this repo, remember to set executable flag!)
    • Configure the rest of the policies not defined by global
    • Hit Snapshot Now to finish the setup

The execution of pre-snapshot.sh and post-snapshot.sh is only needed if the given stack has a running PostgreSQL database! Remember that by standard docker security practices, the pre-snapshot.sh expects secrets to be inside the container: PG_USER and PG_PASSWORD, PG_DATABASE needs to be added manually. Remember to edit "CONFIGURATION — edit per stack" section on both pre-snapshot.sh and post-snapshot.sh Currently only this database has example files.