Sign inSign up

elob/namecheap-ddns

By elob

Updated 10 months ago

Image
0

9.8K

elob/namecheap-ddns repository overview

namecheap-ddns

A tiny, multi-architecture, distroless Docker container that keeps your Namecheap DNS records updated with your current public IP. Powered by Rust for speed, safety, and reliability.

Features

  • Multi-platform: amd64, arm64, arm/v7
  • Distroless image with minimal attack surface
  • Written in Rust (fast and memory-safe)
  • Supports multiple hosts (A/AAAA records)
  • Persistent IP cache (/data/last_ip)
  • Perfect for homelabs, Raspberry Pi, and cloud servers

Quick Start

docker run -d \
  --name namecheap-ddns \
  --restart unless-stopped \
  -e NC_DOMAIN="example.com" \
  -e NC_PASSWORD="your-ddns-password" \
  -e NC_HOSTS="@,www,api" \
  -e NC_INTERVAL_SECONDS="300" \
  -v namecheap-ddns-data:/data \
  elob/namecheap-ddns:latest

View logs:

docker logs -f namecheap-ddns

Environment Variables

VariableRequiredDescription
NC_DOMAINYesDomain (e.g., example.com)
NC_PASSWORDYesNamecheap DDNS password
NC_HOSTSYesComma-separated hosts (@,www,api)
NC_INTERVAL_SECONDSNoUpdate interval (default 300)
NC_IP_PROVIDERSNoCustom IP provider list, comma-separated

Volumes

PathDescription
/dataStores last_ip cache

Example docker-compose.yml

services:
  namecheap-ddns:
    image: elob/namecheap-ddns:latest
    restart: unless-stopped
    environment:
      NC_DOMAIN: "example.com"
      NC_PASSWORD: "your-ddns-password"
      NC_HOSTS: "@,www"
      NC_INTERVAL_SECONDS: 300
    volumes:
      - namecheap-ddns:/data

volumes:
  namecheap-ddns:

Namecheap DDNS API Reference

The container communicates with:

https://dynamicdns.park-your-domain.com/update

License

MIT

Tag summary

Content type

Image

Digest

sha256:fb31a5680

Size

11.9 MB

Last updated

10 months ago

docker pull elob/namecheap-ddns