Appwrite provides a dedicated DNS (Domain Name System) service through its appwrite.zone nameservers to help you manage domain records for your applications. This service is ideal for apex domains (root domains) that cannot use CNAME records due to DNS protocol limitations.
The DNS service enables you to configure custom domains for Sites, Functions, and APIs while providing automatic SSL certificate management and high availability. Whether you need to set up subdomains or apex domains, Appwrite's DNS service offers a complete solution.
Benefits
Support for apex domains: Use root domains like example.com directly without workarounds
Automatic SSL certificate management: All domains get valid SSL certificates automatically
Integrated management: Simplified configuration for Sites, Functions, and APIs
High availability: Built on reliable infrastructure with global distribution
Managing DNS records
You can manage DNS records for your domains in two places within the Appwrite Console:
Organization-level DNS management
To manage DNS records at the organization level:
Navigate to your organization in the Appwrite Console
Select the Domains tab
Here you can view and manage all your DNS records across different projects
This is the central place to manage domain records when you're using Appwrite's DNS service by configuring NS records to point to ns1.appwrite.zone and ns2.appwrite.zone.
Service-specific domain management
You can also manage domains directly from specific services:
Sites: Navigate to a site and select the Domains tab
Functions: Navigate to a function and select the Domains tab
API Endpoints: Configure custom domains in your project settings under Settings > Custom domains
Record types
Appwrite DNS supports various DNS record types to meet your domain configuration needs:
Record Type | Description |
A | Maps a domain to an IPv4 address |
AAAA | Maps a domain to an IPv6 address |
CNAME | Maps a domain to another domain (alias) |
MX | Specifies mail servers for the domain |
TXT | Stores text information (often used for verification) |
NS | Specifies the nameservers for the domain |
SRV | Specifies services available for a domain (used for Voice over IP, instant messaging, etc.) |
CAA | Specifies which certificate authorities (CAs) are authorized to issue certificates for a domain |
HTTPS | Provides configuration for HTTPS connections |
ALIAS | Similar to CNAME but can be used at the zone apex |
Setting up apex domains
To use an apex domain (e.g., example.com) with Appwrite:
Navigate to your domain registrar's DNS settings
Find the NS (nameserver) record settings
Replace the existing nameservers with ns1.appwrite.zone and ns2.appwrite.zone
Wait for DNS propagation (may take up to 48 hours)
Return to Appwrite Console to verify and configure domain settings
DNS delegation
When you change your NS records to ns1.appwrite.zone and ns2.appwrite.zone, you're delegating complete DNS management to Appwrite. This means all existing DNS records (like email MX records) will need to be recreated in Appwrite's DNS configuration.
Adding records in Appwrite
After delegating your domain to Appwrite's DNS servers, you can add and manage records:
Navigate to your organization's Domains tab in the Appwrite Console
Find your domain and click Manage Records
Click Add Record and select the record type
Fill in the required information based on the record type
Save the record
Record propagation
New DNS records may take time to propagate across the internet. This process typically takes minutes but can sometimes take longer depending on various factors like DNS cache settings.