Dokploy / Dokploy/dokploy

Add DNS provider support for Arvan Cloud

Open
#5,269 1 comment 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's DNS provider integration does not currently support Arvan Cloud.

Arvan Cloud is a widely used DNS/CDN provider, particularly for users and businesses in Iran. Users who already manage their domains and DNS zones through Arvan Cloud currently have to manually create or update DNS records outside Dokploy when deploying applications.

Moving existing domains to another DNS provider such as Cloudflare or AWS Route53 just to use Dokploy's DNS automation is not practical, especially when managing multiple production domains.

Describe the solution you'd like

Add Arvan Cloud as a DNS provider in Dokploy, using the existing DnsClient interface in:

packages/server/src/utils/dns/

The implementation could follow the same provider architecture used by Cloudflare, Route53, Porkbun, and the other DNS providers.

Arvan Cloud provides a REST API for managing domains and DNS records:

https://www.arvancloud.ir/api/cdn/4.0

API base:

https://napi.arvancloud.ir/cdn/4.0

The API supports the operations required by Dokploy, including:

  • Discovering/listing domains
  • Listing DNS records
  • Creating DNS records
  • Updating DNS records
  • Deleting DNS records
  • Authentication using an Arvan Cloud API key

DNS records are managed through endpoints under:

/domains/{domain}/dns-records

For example:

GET /domains/{domain}/dns-records

POST /domains/{domain}/dns-records

and individual records can be updated or deleted using their record ID.

Authentication is performed through the Authorization header using an Arvan Cloud API key.

Once credentials are configured in Dokploy, users should be able to select Arvan Cloud as their DNS provider and let Dokploy automatically create/update the DNS records required for deployed applications.

Describe alternatives you've considered

The current workaround is to manually create and update the required DNS records in the Arvan Cloud dashboard whenever a domain is added to Dokploy.

Another alternative is moving DNS management to an already-supported provider such as Cloudflare or AWS Route53, but this is undesirable for users who already have their domains and DNS infrastructure configured in Arvan Cloud.

Additional context

Arvan Cloud's DNS API already provides the CRUD operations required for implementing Dokploy's DnsClient abstraction.

There are also existing open-source integrations using the same Arvan Cloud DNS API, so the API is already being used successfully for automated DNS management.

API documentation:

https://www.arvancloud.ir/api/cdn/4.0

Will you send a PR to implement it?

Maybe, need help

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

Start in packages/server/src/utils/dns/ by reading the DnsClient interface and the existing Cloudflare, Route53, and Porkbun providers. Use the Arvan Cloud API documentation to map domain discovery and DNS record CRUD operations, including API-key authentication. Done means Arvan Cloud can be selected in Dokploy and its records are automated for deployed applications.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.