From 970aabfe3c08c4d7e6bab7863696cd905e5021f2 Mon Sep 17 00:00:00 2001 From: Sebastian G <69923762+SebasGDEV@users.noreply.github.com> Date: Fri, 7 Nov 2025 23:13:37 -0700 Subject: [PATCH] Add Anubis bot/crawler protector template (#488) * Add anubis bot/crawler protector template Add Anubis bot/crawler protector to prevent ai bots to crawl all your website information and protecto from bots scanners Add anubis.webp logo Add docker-compose.yml compose Add template.toml configuration Upd meta.json with anubis info * dont know what is this * Update docker-compose.yml --------- Co-authored-by: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> --- blueprints/anubis/anubis.webp | Bin 0 -> 30584 bytes blueprints/anubis/docker-compose.yml | 38 +++++++++++++++++++++++++++ blueprints/anubis/template.toml | 17 ++++++++++++ meta.json | 16 +++++++++++ 4 files changed, 71 insertions(+) create mode 100644 blueprints/anubis/anubis.webp create mode 100644 blueprints/anubis/docker-compose.yml create mode 100644 blueprints/anubis/template.toml diff --git a/blueprints/anubis/anubis.webp b/blueprints/anubis/anubis.webp new file mode 100644 index 0000000000000000000000000000000000000000..40b979da671d2d0c41052b68c4dbdac9202b98ca GIT binary patch literal 30584 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 X<=PYEWUaG9Xz)+2mG}iqm;e9(D5ZSp literal 0 HcmV?d00001 diff --git a/blueprints/anubis/docker-compose.yml b/blueprints/anubis/docker-compose.yml new file mode 100644 index 00000000..51b30b38 --- /dev/null +++ b/blueprints/anubis/docker-compose.yml @@ -0,0 +1,38 @@ +version: "3.8" +services: + anubis: + image: ghcr.io/techarohq/anubis:latest + restart: unless-stopped + ports: + - "8923" # Anubis default port + environment: + # Required: Point to your frontend service locally + # Example: http://mydocker-wyeud:8080 + - TARGET=${TARGET} + + # Bind address + - BIND=:8923 + + # Cookie domain (set to your domain) + - COOKIE_DOMAIN=${COOKIE_DOMAIN} + + # Challenge difficulty (1-20, default is 5) + # Lower = easier for users, Higher = harder for bots + - DIFFICULTY=${DIFFICULTY} + + # OpenGraph passthrough (allows social media previews to work) + - OG_PASSTHROUGH=${OG_PASSTHROUGH} + - OG_EXPIRY_TIME=${OG_EXPIRY_TIME} + - OG_CACHE_CONSIDER_HOST=${OG_CACHE_CONSIDER_HOST} + + # Optional: Serve robots.txt to discourage indexing + - SERVE_ROBOTS_TXT=${SERVE_ROBOTS_TXT} # Set to true if you don't want search engines + + +# Unconmment in case you want to connect the anubis container to dokploy-network +# networks: +# - dokploy-network + +# networks: +# dokploy-network: +# external: true # Using existing dokploy-network to connect to your frontend locally diff --git a/blueprints/anubis/template.toml b/blueprints/anubis/template.toml new file mode 100644 index 00000000..79185399 --- /dev/null +++ b/blueprints/anubis/template.toml @@ -0,0 +1,17 @@ +[variables] +main_domain = "${domain}" + +[config.env] +COOKIE_DOMAIN = "${main_domain}" +TARGET = "YOURLOCALHOST:PORT" +DIFFICULTY = "5" +OG_PASSTHROUGH = true +OG_EXPIRY_TIME = "1h" +OG_CACHE_CONSIDER_HOST = true +SERVE_ROBOTS_TXT = false +mounts = [] + +[[config.domains]] +serviceName = "anubis" +port = 8923 +host = "${main_domain}" diff --git a/meta.json b/meta.json index 0bfe8c52..8eff052e 100644 --- a/meta.json +++ b/meta.json @@ -262,6 +262,22 @@ "self-hosted" ] }, + { + "id": "anubis", + "name": "Anubis", + "version": "latest", + "description": "Anubis is a bot protector, It will block bots from accessing your website.", + "logo": "anubis.webp", + "links": { + "github": "https://github.com/TecharoHQ/anubis", + "website": "https://anubis.techaro.lol", + "docs": "https://anubis.techaro.lol/docs/" + }, + "tags": [ + "self-hosted", + "bot-protection" + ] + }, { "id": "anythingllm", "name": "AnythingLLM",