Skip to main content
A Docker Compose install keeps its data in Docker volumes named <project>_<volume>. The project is pipeshub-ai unless COMPOSE_PROJECT_NAME in .env says otherwise.

What to back up

Back up .env with the volumes, and keep it as secret as the data. Stored settings are encrypted with SECRET_KEY, and the databases only accept the passwords they were created with. Volumes restored without the matching .env are not usable.
You do not need pipeshub_hf_cache (downloaded models) or neo4j_logs. The slim image downloads the embedding model again on first use.

Back up

This method stops PipesHub so that every store is copied in a consistent state. It works for every backend. Plan for a few minutes of downtime.
The loop skips volumes your install does not have. The .tar.gz files are owned by root, because a container writes them. Run the commands with sudo if your user is not in the docker group.
Do not copy database volumes while the stack is running. A copy taken from a live database can be corrupt.To back up with less downtime using each database’s own tools (mongodump, neo4j-admin, Qdrant snapshots, Redis BGSAVE), see Backup Data in the GCP guide. It covers the default Neo4j and Redis stack; use the method above for ArangoDB, etcd or Kafka.
Copy the backup directory off the host.

Restore

Restore onto the same PipesHub version that made the backup. To move to a newer version, restore first, then upgrade.
The loop empties each volume before it extracts the backup into it. When the installer reports healthy, sign in and check that your conversations, knowledge bases and connectors are there.

Delete everything

./install.sh --uninstall stops the stack and deletes every data volume. It cannot be undone. Take a backup first.

Kubernetes

The chart stores data in PersistentVolumeClaims. Back them up with your cluster’s volume snapshot tooling, and keep secretKey and the database passwords with the snapshots. See Kubernetes (Helm).