Dokploy / Dokploy/dokploy

feat: Add native Qdrant backup support via Snapshot API

Open
#4,233 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
37.4k
Forks
3k
Avg merge
1d 3h
Merged PRs (30d)
73

Description

What problem will this feature address?

Dokploy supports backups for PostgreSQL, MySQL, and MongoDB, but there is
no backup support for Qdrant vector database - which is already available
as an official Dokploy template.

Qdrant does not support SQL-style dumps like pg_dump or mongodump. Users
running Qdrant for AI/RAG applications have no built-in way to back up
their vector data, which is expensive and time-consuming to regenerate
from scratch if lost.

Describe the solution you'd like

Add a Qdrant backup handler that uses Qdrant's official Snapshot API:

  1. Call POST /snapshots to create a full instance snapshot
  2. Download the .snapshot file from the Qdrant container
  3. Upload it to the configured S3/R2 destination
  4. Delete the local snapshot after upload to save VPS disk space
  5. Support "Keep Latest N" to auto-delete old snapshots from storage

Restore flow:

  • Download snapshot from S3/R2
  • POST /collections/{name}/snapshots/upload?priority=snapshot

Official Qdrant Snapshot API docs:
https://qdrant.tech/documentation/operations/snapshots/

Describe alternatives you've considered

The only current alternative is running a manual cron script on the VPS
that calls the Qdrant API and uploads to R2 using AWS CLI. This works but
requires manual setup outside Dokploy and doesn't integrate with Dokploy's
existing backup UI, scheduling, or destination management.

Additional context

Qdrant is widely used for AI/RAG chatbot applications alongside MongoDB
and PostgreSQL. As AI workloads grow on self-hosted Dokploy instances,
Qdrant backup support becomes increasingly important. Vector embeddings
generated via OpenAI or similar APIs are costly to regenerate - making
reliable backups critical.

Will you send a PR to implement it?

Yes

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Review the existing PostgreSQL, MySQL, and MongoDB backup handlers, then trace how backup UI, scheduling, and S3/R2 destination management connect. Use Qdrant's Snapshot API documentation to map creation, download, upload, restore, and cleanup flows. Done means Qdrant snapshots can be backed up and restored, local files are removed, and Keep Latest N removes older stored snapshots.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker, typescript
Domain
backend, cloud, databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.