Web ui for duckdns
You can:
- Update ip manually
- Update ip w/ a periodic task
- View logs of tasks
- Restore/migrate periodic tasks
create .env
and compose.yaml
files
TOKEN={URDUCKDNSTOKEN}
services:
duckdns-ui:
image: akorzunin/duckdns-ui:latest
ports:
- 3000:3000
env_file:
- .env
volumes:
- ./data:/src/data:rw
restart: unless-stopped
Run
docker-compose up -d
git clone ...
cp .env.example .env
# setup TOKEN
docker-compose up -d --build
- TOKEN - DuckDNS token
- LOG_JSON - 0/1, default 1 write log in JSON format
- DRY_RUN - 0/1, default 0 dont send request to duckdns server and generate fake ip each update
npx openapi-typescript-codegen --input ./docs/openapi.json --output ./web/src/api/client --client fetch
cd web
npm i
echo "VITE_API_URL=http://localhost:3000" > .env
npm run dev
air
go test ./... | sed ''/PASS/s//$(printf "\033[32mPASS\033[0m")/'' | sed ''/FAIL/s//$(printf "\033[31mFAIL\033[0m")/''
Create docker builder if its not exist
docker buildx create --name mybuilder --bootstrap --use
Run build and update latest images
docker buildx build --platform linux/amd64,linux/arm64,linux/arm/v7 -t akorzunin/duckdns-ui:latest --push .