[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"app-route:\u002Fapi\u002Fapps\u002Fdomain-watchdog-1x8vicr14ehhlr":3,"download-monthly-stats:none":205},{"app":4},{"Date":5,"Icon":6,"Name":7,"Repo":8,"Shell":9,"WebUI":10,"stars":11,"Config":12,"Network":172,"Project":173,"Support":174,"Overview":175,"Registry":176,"Requires":177,"FirstSeen":178,"downloads":179,"LastUpdate":180,"Privileged":16,"Repository":181,"ExtraParams":182,"TemplateURL":183,"CategoryList":184,"TemplatePath":188,"LastUpdateScan":178,"categories.lvl0":189,"categories.lvl1":191,"objectID":193,"statsPath":194,"appType":195,"InstallTemplateURL":183,"beta":196,"deprecated":196,"recommended":196,"isOfficial":196,"overviewPreview":197,"categoryPaths":198,"deepestCategories":199,"deepestCategoryLevel":11,"updatedAt":180,"canRenderGraphs":196,"trendsDateFormatted":200,"trendsAligned":201,"downloadtrendAligned":202,"monthlyDownloads":203,"popularityScore":204,"isTrending":196,"chartData":205},"2026-06-02","https:\u002F\u002Fraw.githubusercontent.com\u002Fmaelgangloff\u002Fdomain-watchdog\u002Fmaster\u002Fassets\u002Flogo.png","domain-watchdog","DevlinDelFuego's Repository","sh","http:\u002F\u002F[IP]:[PORT:80]\u002F",1,[13,24,33,39,45,52,58,63,68,74,79,84,89,95,101,107,113,119,125,131,137,142,147,152,157,162,167],{"value":14,"@attributes":15},"8080",{"Mask":16,"Mode":17,"Name":18,"Type":19,"Target":20,"Default":14,"Display":21,"Required":22,"Description":23},"false","tcp","Web UI Port","Port","80","always","true","Port to access the Domain Watchdog web interface.",{"value":25,"@attributes":26},"\u002Fmnt\u002Fuser\u002Fappdata\u002Fdomain-watchdog\u002Fcaddy\u002Fdata",{"Mask":16,"Mode":27,"Name":28,"Type":29,"Target":30,"Default":25,"Display":31,"Required":22,"Description":32},"rw","Caddy Data","Path","\u002Fdata","advanced","Internal Caddy state storage.",{"value":34,"@attributes":35},"\u002Fmnt\u002Fuser\u002Fappdata\u002Fdomain-watchdog\u002Fcaddy\u002Fconfig",{"Mask":16,"Mode":27,"Name":36,"Type":29,"Target":37,"Default":34,"Display":31,"Required":22,"Description":38},"Caddy Config","\u002Fconfig","Internal Caddy configuration storage.",{"value":40,"@attributes":41},"\u002Fmnt\u002Fuser\u002Fappdata\u002Fdomain-watchdog\u002Fpublic\u002Fcontent",{"Mask":16,"Mode":27,"Name":42,"Type":29,"Target":43,"Default":40,"Display":31,"Required":22,"Description":44},"Public Content","\u002Fapp\u002Fpublic\u002Fcontent","User-uploaded public content. Create a home.md file here to customize the landing page.",{"value":46,"@attributes":47},"",{"Mask":22,"Name":48,"Type":49,"Target":50,"Default":46,"Display":21,"Required":22,"Description":51},"JWT Passphrase","Variable","JWT_PASSPHRASE","Passphrase used to encrypt JWT keypair. Generate with: openssl rand -hex 32 — If changing this on an existing install, regenerate keys with: docker exec domain-watchdog php \u002Fapp\u002Fbin\u002Fconsole lexik:jwt:generate-keypair --overwrite",{"value":53,"@attributes":54},"prod",{"Mask":16,"Name":55,"Type":49,"Target":56,"Default":53,"Display":31,"Required":22,"Description":57},"App Environment","APP_ENV","Leave as prod.",{"value":46,"@attributes":59},{"Mask":22,"Name":60,"Type":49,"Target":61,"Default":46,"Display":21,"Required":22,"Description":62},"App Secret","APP_SECRET","Random secret key. Generate with: openssl rand -hex 32",{"value":22,"@attributes":64},{"Mask":16,"Name":65,"Type":49,"Target":66,"Default":22,"Display":21,"Required":22,"Description":67},"Secure Cookies","HTTP_SECURE_COOKIE","Set to true if behind a reverse proxy with SSL. Set to false for plain HTTP direct access.",{"value":69,"@attributes":70},":80",{"Mask":16,"Name":71,"Type":49,"Target":72,"Default":69,"Display":31,"Required":22,"Description":73},"Server Name","SERVER_NAME","Internal Caddy binding. Leave as :80.",{"value":46,"@attributes":75},{"Mask":16,"Name":76,"Type":49,"Target":77,"Default":46,"Display":21,"Required":16,"Description":78},"Outgoing IP","OUTGOING_IP","Your server's outgoing public IP address. Required for some domain connectors\u002Fregistrars.",{"value":22,"@attributes":80},{"Mask":16,"Name":81,"Type":49,"Target":82,"Default":22,"Display":21,"Required":16,"Description":83},"Enable Registration","REGISTRATION_ENABLED","Allow new users to register. Set to false to lock down the instance.",{"value":16,"@attributes":85},{"Mask":16,"Name":86,"Type":49,"Target":87,"Default":16,"Display":21,"Required":16,"Description":88},"Verify Email on Registration","REGISTRATION_VERIFY_EMAIL","Require email verification on signup. Requires a working Mailer DSN.",{"value":90,"@attributes":91},"postgresql:\u002F\u002Fapp:password@postgresql:5432\u002Fdomainwatchdog?serverVersion=16&amp;charset=utf8",{"Mask":16,"Name":92,"Type":49,"Target":93,"Default":90,"Display":21,"Required":22,"Description":94},"Database URL","DATABASE_URL","Full PostgreSQL connection string. Format: postgresql:\u002F\u002FUSER:PASSWORD@CONTAINER_NAME:PORT\u002FDATABASE?serverVersion=VERSION&amp;charset=utf8",{"value":96,"@attributes":97},"redis:\u002F\u002Fredis:6379\u002Fmessages?lazy=1",{"Mask":16,"Name":98,"Type":49,"Target":99,"Default":96,"Display":21,"Required":22,"Description":100},"Redis Async DSN","MESSENGER_ASYNC_TRANSPORT_DSN","Redis connection for async messages. Format: redis:\u002F\u002FCONTAINER_NAME:PORT\u002Fmessages?lazy=1",{"value":102,"@attributes":103},"redis:\u002F\u002Fredis:6379\u002Fmessages-rdap-low?lazy=1",{"Mask":16,"Name":104,"Type":49,"Target":105,"Default":102,"Display":31,"Required":22,"Description":106},"Redis RDAP Low DSN","MESSENGER_RDAP_LOW_TRANSPORT_DSN","Redis connection for low-priority RDAP messages.",{"value":108,"@attributes":109},"redis:\u002F\u002Fredis:6379\u002Fmessages-rdap-high?lazy=1",{"Mask":16,"Name":110,"Type":49,"Target":111,"Default":108,"Display":31,"Required":22,"Description":112},"Redis RDAP High DSN","MESSENGER_RDAP_HIGH_TRANSPORT_DSN","Redis connection for high-priority RDAP messages.",{"value":114,"@attributes":115},"redis:\u002F\u002Fredis:6379",{"Mask":16,"Name":116,"Type":49,"Target":117,"Default":114,"Display":31,"Required":22,"Description":118},"Redis Lock DSN","LOCK_DSN","Redis connection for distributed locking. Format: redis:\u002F\u002FCONTAINER_NAME:PORT",{"value":120,"@attributes":121},"null:\u002F\u002Fnull",{"Mask":16,"Name":122,"Type":49,"Target":123,"Default":120,"Display":21,"Required":16,"Description":124},"Mailer DSN","MAILER_DSN","SMTP connection for email alerts. Example: smtp:\u002F\u002Fuser:pass@smtp.example.com:587 — Leave as null:\u002F\u002Fnull to disable.",{"value":126,"@attributes":127},"Domain Watchdog",{"Mask":16,"Name":128,"Type":49,"Target":129,"Default":126,"Display":21,"Required":16,"Description":130},"Mailer Sender Name","MAILER_SENDER_NAME","Display name for outgoing notification emails.",{"value":132,"@attributes":133},"notifications@example.com",{"Mask":16,"Name":134,"Type":49,"Target":135,"Default":132,"Display":21,"Required":16,"Description":136},"Mailer Sender Email","MAILER_SENDER_EMAIL","Sender address for outgoing notification emails.",{"value":46,"@attributes":138},{"Mask":16,"Name":139,"Type":49,"Target":140,"Default":46,"Display":31,"Required":16,"Description":141},"OAuth Client ID","OAUTH_CLIENT_ID","OAuth2\u002FOIDC client ID. Leave blank to disable SSO.",{"value":46,"@attributes":143},{"Mask":22,"Name":144,"Type":49,"Target":145,"Default":46,"Display":31,"Required":16,"Description":146},"OAuth Client Secret","OAUTH_CLIENT_SECRET","OAuth2\u002FOIDC client secret.",{"value":46,"@attributes":148},{"Mask":16,"Name":149,"Type":49,"Target":150,"Default":46,"Display":31,"Required":16,"Description":151},"OAuth Authorization URL","OAUTH_AUTHORIZATION_URL","OAuth2 authorization endpoint URL.",{"value":46,"@attributes":153},{"Mask":16,"Name":154,"Type":49,"Target":155,"Default":46,"Display":31,"Required":16,"Description":156},"OAuth Token URL","OAUTH_TOKEN_URL","OAuth2 token endpoint URL.",{"value":46,"@attributes":158},{"Mask":16,"Name":159,"Type":49,"Target":160,"Default":46,"Display":31,"Required":16,"Description":161},"OAuth UserInfo URL","OAUTH_USERINFO_URL","OAuth2 userinfo endpoint URL.",{"value":46,"@attributes":163},{"Mask":16,"Name":164,"Type":49,"Target":165,"Default":46,"Display":31,"Required":16,"Description":166},"OAuth Scope","OAUTH_SCOPE","OAuth2 scopes to request. Example: openid profile email",{"value":16,"@attributes":168},{"Mask":16,"Name":169,"Type":49,"Target":170,"Default":16,"Display":31,"Required":16,"Description":171},"SSO Auto Redirect","SSO_AUTO_REDIRECT","Automatically redirect to SSO login instead of showing the local login form.","bridge","https:\u002F\u002Fgithub.com\u002Fmaelgangloff\u002Fdomain-watchdog","https:\u002F\u002Fgithub.com\u002Fmaelgangloff\u002Fdomain-watchdog\u002Fissues","Domain Watchdog monitors domain names using RDAP, tracks their history, and helps you acquire them when they expire.[br][br]Requires an existing PostgreSQL and Redis container on the same Docker network.[br][br]Also deploy the domain-watchdog-worker container.[br][br]Before starting, create the database:[br]docker exec -it YOUR_POSTGRES_CONTAINER psql -U YOUR_USER -c \"CREATE DATABASE domainwatchdog;\"","https:\u002F\u002Fhub.docker.com\u002Fr\u002Fmaelgangloff\u002Fdomain-watchdog","PostgreSQL container | Redis container | Both on the same Docker network | Also install domain-watchdog-worker",1780373047,27444,1777142261,"maelgangloff\u002Fdomain-watchdog:latest","--restart=unless-stopped","https:\u002F\u002Fraw.githubusercontent.com\u002FDevlinDelFuego\u002Funraid-templates\u002Fmain\u002Fdomain-watchdog\u002Fdomain-watchdog-app.xml",[185,186,187],"Network","Tools-Utilities","Status","\u002Ftmp\u002FGitHub\u002FAppFeed\u002Fdomain-watchdog\u002Fdomain-watchdog-app.xml",[185,190,187],"Tools",[192],"Tools > Utilities","app_c3f36d0be7f71f69","https:\u002F\u002Fassets.ca.unraid.net\u002Ffeed\u002Frepositories\u002Fmaelgangloff___domain-watchdog","docker",false,"Domain Watchdog monitors domain names using RDAP, tracks their history, and helps you acquire them when they expire.[br][br]Requires an existing PostgreSQL and Redis container on the same Docker network.[br][br]Also deploy the domain-watchdog-worker container.[br][br]Before starting, create the database:[br]docker exec...",[185,190,192,187],[185,192,187],[],[],[],[],0.69,null]