[{"data":1,"prerenderedAt":6959},["ShallowReactive",2],{"categories-init":3,"tool-pricing-ngrok":4,"tool-details-ngrok":27,"tool-rel-ngrok":32,"tool-ngrok":139,"tool-res-ngrok":206,"tool-stacks-ngrok":207},true,[5,12,18,25],{"tier_name":6,"price":7,"billing_period":8,"features":9},"Free",0,"monthly",[10,11],"$5 of one-time included usage","Up to 3 endpoints, 1GB data transfer, 20,000 HTTP requests",{"tier_name":13,"price":14,"billing_period":8,"features":15},"Hobbyist",10,[16,17],"$10 of monthly included usage","5GB data transfer and 100,000 HTTP requests included",{"tier_name":19,"price":20,"billing_period":8,"features":21},"Pay-as-you-go",20,[22,23,24],"$20 of monthly included usage, then billed by use","Unlimited endpoints and team members (3 included)","Wildcard endpoints",{"tier_name":26,"price":27,"billing_period":8,"features":28},"Enterprise",null,[29,30,31],"SSO\u002FSAML, SCIM, dedicated support, and SLAs","HIPAA, SOC 2, and custom terms","Contact sales for pricing",[33,67,86,101,120],{"relationship_type":34,"relationship_display_name":35,"relationship_description":36,"relationship_display_order":37,"tool":38,"strength":49,"notes":66},"works_with","Works well with","Tools commonly used together in the same stack.",1,{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":45,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":51,"subcategory":55,"categories":59,"subcategories":60,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":64,"score_reasonings":65,"published_date":27,"last_updated_date":27},188,"Caddy","caddy","A modern web server and reverse proxy written in Go, best known for provisioning and renewing HTTPS certificates automatically with zero configuration.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fcaddy.svg","dark",{"slug":46,"display_name":47,"description":48},"open_source","Open Source","Source code is publicly available and free to use, modify, and distribute. No paid plans from the project itself.",3,"open",{"category_id":52,"name":53,"slug":54},12,"DevOps & CI\u002FCD","devops-cicd",{"subcategory_id":56,"name":57,"slug":58},57,"Web Servers & Reverse Proxies","web-servers-reverse-proxies",[],[],4,5,false,[],{},"ngrok can forward tunnel traffic to a local Caddy instance that handles routing and HTTPS between backend services, the same layered pattern used with any reverse proxy sitting behind a tunnel.",{"relationship_type":34,"relationship_display_name":35,"relationship_description":36,"relationship_display_order":37,"tool":68,"strength":49,"notes":85},{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":75,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":79,"subcategory":80,"categories":81,"subcategories":82,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":83,"score_reasonings":84,"published_date":27,"last_updated_date":27},189,"Traefik","traefik","A cloud-native reverse proxy that auto-discovers routes from Docker container labels, updating its configuration live as containers start and stop.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Ftraefik.svg","white",{"slug":76,"display_name":77,"description":78},"freemium","Freemium","A free tier is available; additional features, usage limits, or managed hosting require a paid plan.",{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[],[],[],{},"ngrok can forward tunnel traffic to a local Traefik instance for container-aware routing to backend services, the same layered pattern used with any reverse proxy sitting behind a tunnel.",{"relationship_type":34,"relationship_display_name":35,"relationship_description":36,"relationship_display_order":37,"tool":87,"strength":49,"notes":100},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":93,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":94,"subcategory":95,"categories":96,"subcategories":97,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":98,"score_reasonings":99,"published_date":27,"last_updated_date":27},187,"NGINX","nginx","The most widely deployed web server and reverse proxy on the internet, known for event-driven performance under high concurrency.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fnginx.svg",{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[],[],[],{},"ngrok can forward tunnel traffic to a local NGINX instance that handles routing between backend services, the same layered pattern used with any reverse proxy sitting behind a tunnel.",{"relationship_type":34,"relationship_display_name":35,"relationship_description":36,"relationship_display_order":37,"tool":102,"strength":109,"notes":119},{"tool_id":103,"name":104,"slug":105,"tooltip_description":106,"logo_url":107,"logo_bg":74,"pricing_model":108,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":110,"subcategory":111,"categories":115,"subcategories":116,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":117,"score_reasonings":118,"published_date":27,"last_updated_date":27},275,"Tailscale","tailscale","Tailscale is a zero-config mesh VPN built on WireGuard that connects your devices and servers into one private network, reachable from anywhere without port forwarding.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Ftailscale.svg",{"slug":76,"display_name":77,"description":78},2,{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},70,"Tunneling & Secure Access","tunneling-secure-access",[],[],[],{},"Ngrok's ephemeral public tunnels and Tailscale's persistent private network solve different, complementary problems on the same self-hosted server.",{"relationship_type":121,"relationship_display_name":122,"relationship_description":123,"relationship_display_order":124,"tool":125,"strength":61,"notes":138},"alternative_to","Alternative to","These tools serve a similar purpose — typically you would pick one, not both.",6,{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":131,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":132,"subcategory":133,"categories":134,"subcategories":135,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":136,"score_reasonings":137,"published_date":27,"last_updated_date":27},258,"Cloudflare Tunnel","cloudflare-tunnel","Cloudflare Tunnel creates an outbound-only encrypted connection from your server to Cloudflare's network, exposing self-hosted services to the internet without opening inbound ports.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fcloudflare.svg",{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[],[],[],{},"Both expose a local or self-hosted service without opening inbound ports. ngrok gives an instant public URL with no domain, but its free plan is capped and persistent custom domains are paid; Cloudflare Tunnel is free with no bandwidth cap but needs a domain on Cloudflare.",{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":144,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":145,"subcategory":146,"categories":147,"subcategories":149,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":151,"score_reasonings":162,"published_date":168,"last_updated_date":27,"vendor":169,"website_url":171,"documentation_url":172,"github_url":173,"long_description":174,"tagline":175,"key_features":176,"pros":183,"cons":189,"social_links":195,"screenshots_urls":196,"pricing_tiers":197,"license_type":27,"community_size":27,"active_maintenance":3,"parent_tool":27},259,"ngrok","ngrok is a globally distributed reverse proxy that creates secure public URLs for a local server in seconds, commonly used for local dev previews, webhook testing, and exposing self-hosted services.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fngrok.svg",{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[148],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[150],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[152,157],{"tag_id":153,"name":154,"slug":155,"tag_type":156},13,"Free Tier","free-tier","feature",{"tag_id":158,"name":159,"slug":160,"tag_type":161},40,"Web","web","platform",{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},"A single CLI command produces a working public URL with no account configuration, DNS setup, or domain ownership required to get started.","Covers HTTP, TCP, and TLS tunnels plus Kubernetes ingress, with edge traffic policies for auth and rate limiting, though the deepest features sit behind paid plans.","Runs on a globally distributed edge network with solid latency for typical dev-preview and webhook workloads, without the scale of the largest CDN networks.","The name most developers reach for first when they need to expose a local server — long-standing mindshare in webhook testing and dev-preview workflows specifically.","A standalone client binary that works against any local service or cloud origin with no DNS zone or vendor account tie-in beyond ngrok itself, making it easy to drop into any project.","2026-09-27",{"vendor_id":170,"name":141,"slug":141,"website_url":171,"logo_url":143,"logo_bg":74},203,"https:\u002F\u002Fngrok.com\u002F","https:\u002F\u002Fngrok.com\u002Fdocs\u002F","https:\u002F\u002Fgithub.com\u002Fngrok\u002Fngrok","ngrok is a **reverse proxy and secure tunneling** service that gives a local or self-hosted service a public URL without any router configuration, static IP, or owned domain. Running the `ngrok` client establishes an encrypted connection to ngrok's cloud edge, which then forwards internet traffic to whatever is listening on the specified local port — a `ngrok http 3000` command is enough to get a working public HTTPS URL.\n\nIt is best known as a **local development tool**: previewing a work-in-progress app for a teammate or client, or receiving real webhook callbacks (Stripe, GitHub, Twilio) on a machine that has no public address. The built-in request inspector shows every request and response passing through the tunnel, making it a common debugging aid for webhook-driven integrations. Beyond HTTP, ngrok also tunnels raw TCP and TLS traffic, and supports Kubernetes ingress for routing external traffic into a cluster.\n\nFor production or always-on self-hosted use, ngrok supports **reserved custom domains**, traffic policies (authentication, rate limiting, IP restrictions) enforced at the edge, and a dashboard for managing multiple tunnels across a team. The free plan is deliberately small (a one-time usage credit, up to three endpoints, and 1GB of data transfer), which pushes persistent or higher-traffic use toward the usage-based Hobbyist and Pay-as-you-go plans.","The programmable network edge for your apps.",[177,178,179,180,181,182],"Instant public HTTPS URL for a local server with a single command","Built-in request inspector for debugging webhooks and API traffic in real time","Reserved custom domains for stable, persistent public URLs","TCP and TLS tunnels in addition to HTTP, plus Kubernetes ingress support","Edge traffic policies for authentication, rate limiting, and IP restrictions","Team dashboard for managing and auditing tunnels across multiple developers",[184,185,186,187,188],"Fastest way to get a public URL for a local dev server, with no domain or DNS setup","Request inspector is a genuinely useful debugging tool for webhook-driven development","Mature ecosystem with wide integration support and long-standing developer mindshare","Handles raw TCP\u002FTLS tunnels, not just HTTP, and can front a Kubernetes ingress","Reserved domains and edge traffic policies make it viable beyond just local dev previews",[190,191,192,193,194],"The free plan is small: a one-time $5 usage credit, 1GB of data transfer, and 20,000 requests","Persistent custom domains and higher-traffic production use require a paid plan","No unlimited-bandwidth free tier comparable to some tunnel alternatives","Usage-based billing adds up for teams running many services","Every request still transits ngrok's cloud edge even for purely local-to-local debugging",{},[],[198,200,202,204],{"tier_name":6,"price":7,"billing_period":8,"features":199},[10,11],{"tier_name":13,"price":14,"billing_period":8,"features":201},[16,17],{"tier_name":19,"price":20,"billing_period":8,"features":203},[22,23,24],{"tier_name":26,"price":27,"billing_period":8,"features":205},[29,30,31],[],[208,904,1237,1589,1931,2279,2656,3005,3347,3674,3998,4390,4769,5100,5462,5855,6208,6621],{"stack_id":209,"name":210,"slug":211,"description":212,"experience_level":213,"project_type":214,"stack_type":215,"canvas_display_order":61,"is_displayed_on_canvas":3,"tool_detail_page_order":220,"stack_data":221,"resolved_tools":229,"options":376,"additions":808,"option_groups":897,"multi_select_option_types":903},150,"n8n Self-Hosted","n8n-self-hosted","Self-host n8n on your own VPS, cloud instance, or hardware for complete data ownership and no per-execution pricing. Docker keeps the deployment reproducible on any host; PostgreSQL, SQLite, or managed Neon can store workflows and execution history, and a reverse proxy you configure or a self-hosted PaaS handles routing and TLS.","intermediate","automation",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},"infrastructure","Infrastructure Stack","Tools for hosting and running a tool or service — databases, containers, servers, and reverse proxies assembled to self-host a specific application.","https:\u002F\u002Fassets.tekyous.dev\u002Ficons\u002Fstack-types\u002Finfrastructure.svg",98,{"Databases":222,"DevOps & CI\u002FCD":223,"Hosting & Cloud":225,"Automation & Integration":227},[158],[224],72,[226],52,[228],22,{"Databases":230,"DevOps & CI\u002FCD":270,"Hosting & Cloud":308,"Automation & Integration":341},[231],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":236,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":238,"subcategory":241,"categories":245,"subcategories":247,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":249,"score_reasonings":263,"published_date":269,"last_updated_date":168},"PostgreSQL","postgresql","PostgreSQL is a free, open-source object-relational database known for reliability, standards compliance, and extensibility, with rich data types, JSONB, and a large ecosystem of extensions such as PostGIS and pgvector.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fpostgresql.svg",{"slug":46,"display_name":47,"description":48},"deployable",{"category_id":61,"name":239,"slug":240},"Databases","databases",{"subcategory_id":242,"name":243,"slug":244},25,"OLTP Databases","oltp-databases",[246],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[248],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[250,254,257,260],{"tag_id":61,"name":251,"slug":252,"tag_type":253},"SQL","sql","technology",{"tag_id":255,"name":47,"slug":256,"tag_type":156},11,"open-source",{"tag_id":52,"name":258,"slug":259,"tag_type":156},"Self-hostable","self-hostable",{"tag_id":228,"name":261,"slug":262,"tag_type":156},"ACID Compliant","acid-compliant",{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},"Standard SQL is broadly known, but CTEs, window functions, and JSONB take time to master.","Extensions like PostGIS and pgvector, custom types, and PL\u002FpgSQL cover virtually any need.","Battle-tested query planner; efficient with proper indexing and regular vacuum.","Open SQL standard with no lock-in; data and skills transfer to any SQL-compatible system.","The most popular relational database among developers per Stack Overflow 2024; rapidly growing.","2026-05-29",[271],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":276,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":277,"subcategory":278,"categories":282,"subcategories":284,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":286,"score_reasonings":302,"published_date":269,"last_updated_date":168},"Docker","docker","Container platform for packaging applications and their dependencies into portable images that run the same on a laptop, in CI, and in production, with Docker Desktop, Compose, and Docker Hub.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fdocker.svg",{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},33,"Containerization","containerization",[283],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[285],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[287,288,289,293,298],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},24,"Docker Compatible","docker-compatible",{"tag_id":294,"name":295,"slug":296,"tag_type":297},36,"CI\u002FCD","ci-cd","use_case",{"tag_id":299,"name":300,"slug":301,"tag_type":161},43,"Cross-platform","cross-platform",{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},"Container images, networking, volumes, and multi-stage builds all need deliberate learning.","Container overhead is minimal; near-native performance for most workloads.","Open standard; containers built with Docker run on any container-compatible platform.","Any runtime, any architecture; multi-stage builds and Compose profiles support complex systems.","The standard for containerization; present in virtually every modern software project.",[309],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":314,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":318,"subcategory":321,"categories":325,"subcategories":327,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":329,"score_reasonings":335,"published_date":269,"last_updated_date":168},"Hetzner","hetzner","German cloud and dedicated server provider offering VPS, bare-metal servers, and storage at prices far below the big clouds, with data centers in the EU, the US, and Singapore.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fhetzner.svg",{"slug":315,"display_name":316,"description":317},"paid","Paid","No meaningful free tier — a subscription or one-time purchase is required to use the tool.",{"category_id":62,"name":319,"slug":320},"Hosting & Cloud","hosting-cloud",{"subcategory_id":322,"name":323,"slug":324},42,"VPS & Servers","vps-and-servers",[326],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[328],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[330,331],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},21,"Multi-region","multi-region",{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},"Standard VPS setup; any developer comfortable with Linux can deploy in an afternoon.","Standard VPS; configure anything on Linux; no managed abstraction layer constraining choices.","Competitive hardware at low cost; dedicated and VPS servers deliver strong baseline performance.","Standard Linux VPS; highly portable with no managed-service abstraction to escape.","Popular among European developers and cost-conscious teams; strong reputation for value.",[342],{"tool_id":228,"name":343,"slug":343,"tooltip_description":344,"logo_url":345,"logo_bg":44,"pricing_model":346,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":348,"subcategory":27,"categories":351,"subcategories":353,"flexibility_score":62,"performance_score":61,"portability_score":61,"is_featured":3,"tags":354,"score_reasonings":370,"published_date":269,"last_updated_date":168},"n8n","Fair-code workflow automation tool with a visual node-based editor, 500+ integrations, and code nodes. Self-hostable alternative to Zapier and Make, also offered as n8n Cloud.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fn8n.svg",{"slug":76,"display_name":77,"description":78},"self_hostable",{"category_id":14,"name":349,"slug":350},"Automation & Integration","automation-integration",[352],{"category_id":14,"name":349,"slug":350,"is_primary":3,"display_order":7},[],[355,356,357,358,362,365],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":359,"name":360,"slug":361,"tag_type":156},17,"No-code","no-code",{"tag_id":279,"name":363,"slug":364,"tag_type":297},"Workflow Automation","workflow-automation",{"tag_id":366,"name":367,"slug":368,"tag_type":369},44,"Event-driven","event-driven","paradigm",{"learning_curve":371,"performance":372,"flexibility":373,"portability":374,"popularity":375},"Visual workflow canvas is intuitive; advanced node expressions and APIs take more time.","Workflow execution is efficient; throughput scales with self-hosted resources.","Custom nodes via code editor, self-hostable, and API-accessible for any workflow imaginable.","Open source; JSON workflow export and self-hosting make migration feasible.","Very popular among technical users for self-hosted automation; large open-source community.",{"database":377,"orm":461,"authentication":465,"analytics":469,"coding_agent":473,"llm":477,"language":481,"frontend_framework":485,"cms":489,"hosting":493,"reverse_proxy":680,"self_hosted_paas":744},{"tools":378,"descriptions":453,"aliases":457,"see_all":458},[379,393,419],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":380,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":381,"subcategory":382,"categories":383,"subcategories":385,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":387,"score_reasonings":392,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[384],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[386],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[388,389,390,391],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":394,"name":395,"slug":396,"tooltip_description":397,"logo_url":398,"logo_bg":74,"pricing_model":399,"learning_curve_score":37,"popularity_score":62,"hosting_assignment_type":400,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":401,"subcategory":402,"categories":405,"subcategories":407,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":409,"score_reasonings":413,"published_date":269,"last_updated_date":168},124,"SQLite","sqlite","SQLite is a self-contained, serverless SQL database engine that stores the entire database as a single file on disk. It is the most widely deployed database in the world, used in every smartphone and countless applications.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fsqlite.svg",{"slug":46,"display_name":47,"description":48},"library",{"category_id":61,"name":239,"slug":240},{"subcategory_id":52,"name":403,"slug":404},"In-Process SQL","in-process-sql",[406],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[408],{"subcategory_id":52,"name":403,"slug":404,"category_id":61,"is_primary":3,"display_order":7},[410,411,412],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":414,"popularity":415,"portability":416,"learning_curve":417,"flexibility":418},"Exceptional throughput for single-process read workloads; write-heavy or highly concurrent workloads hit the single-writer bottleneck.","The most widely deployed database in the world — embedded in every iOS and Android device, in browsers, and in countless desktop apps.","Public domain licence; single portable file; standard SQL; skills transfer directly to any SQL database.","Zero configuration — import a file path and query immediately; no server or schema setup required.","Full SQL support with triggers, CTEs, JSON functions, and FTS5; constrained by single-writer architecture and no native replication.",{"tool_id":420,"name":421,"slug":422,"tooltip_description":423,"logo_url":424,"logo_bg":44,"pricing_model":425,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":426,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":427,"subcategory":428,"categories":432,"subcategories":434,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":436,"score_reasonings":447,"published_date":168,"last_updated_date":27},226,"Neon","neon","Serverless PostgreSQL that separates storage from compute, scales to zero when idle, and lets you branch a database like Git.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fneon.svg",{"slug":76,"display_name":77,"description":78},"managed_only",{"category_id":61,"name":239,"slug":240},{"subcategory_id":429,"name":430,"slug":431},65,"Serverless OLTP","serverless-oltp",[433],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[435],{"subcategory_id":429,"name":430,"slug":431,"category_id":61,"is_primary":3,"display_order":7},[437,438,439,443,446],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},14,"Serverless","serverless",{"tag_id":20,"name":444,"slug":445,"tag_type":156},"Auto-scaling","auto-scaling",{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":448,"flexibility":449,"performance":450,"popularity":451,"portability":452},"For anyone who knows Postgres there is almost nothing new to learn, since it is the same SQL, drivers, and extensions. Branching and scale-to-zero are the only additional concepts.","Full Postgres with extension support covers a wide range of workloads, and separated compute plus branching add deployment options a plain managed instance lacks, within the bounds of the Postgres feature set.","Autoscaling and modern storage give solid throughput for typical web workloads, and scale-to-zero saves cost, though the first query after idle pays a cold-start penalty.","A leading name in serverless Postgres with strong adoption in the Vercel and Next.js communities, and increased visibility following the Databricks acquisition.","Because it is standard PostgreSQL, a logical dump restores onto any Postgres host, so there is minimal engine lock-in and skills transfer completely.",{"postgresql":454,"sqlite":455,"neon":456},"The production default: PostgreSQL stores workflows, credentials, and execution history with real concurrency support. It's required for queue mode, so pair it with the Redis add-on when executions need separate workers.","n8n's built-in default storage: no separate database container, and backups are a copy of one file. Right for light workloads on a single process. SQLite can't take concurrent writes from several n8n processes, so queue mode and multi-instance scaling aren't available on it.","A managed, serverless Postgres alternative if you'd rather not run the database container yourself: the same durability as self-hosted PostgreSQL, with Neon handling backups, scaling, and patching. Your workflows and credentials then live on Neon's infrastructure, and a Redis queue broker, if you add one, still runs on your server.",{},{"kind":459,"slug":240,"name":239,"href":460},"category","\u002Ftools\u002Fcategories\u002Fdatabases",{"tools":462,"descriptions":463,"aliases":464,"see_all":27},[],{},{},{"tools":466,"descriptions":467,"aliases":468,"see_all":27},[],{},{},{"tools":470,"descriptions":471,"aliases":472,"see_all":27},[],{},{},{"tools":474,"descriptions":475,"aliases":476,"see_all":27},[],{},{},{"tools":478,"descriptions":479,"aliases":480,"see_all":27},[],{},{},{"tools":482,"descriptions":483,"aliases":484,"see_all":27},[],{},{},{"tools":486,"descriptions":487,"aliases":488,"see_all":27},[],{},{},{"tools":490,"descriptions":491,"aliases":492,"see_all":27},[],{},{},{"tools":494,"descriptions":669,"aliases":677,"see_all":678},[495,507,542,564,591,619,645],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":496,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":497,"subcategory":498,"categories":499,"subcategories":501,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":503,"score_reasonings":506,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[500],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[502],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[504,505],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":513,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":517,"subcategory":518,"categories":522,"subcategories":524,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":526,"score_reasonings":536,"published_date":269,"last_updated_date":168},166,"DigitalOcean","digitalocean","Developer-focused cloud platform offering VPS (Droplets), managed Kubernetes, App Platform PaaS, and managed databases. Known for simple pricing and excellent documentation.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fdigitalocean.svg",{"slug":514,"display_name":515,"description":516},"usage_based","Usage-Based","Pricing scales with consumption: API calls, data volume, compute time, or similar metered units.",{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},41,"App Hosting","app-hosting",[523],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[525],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[527,528,529,530,531,532],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},28,"Web Development","web-development",{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},"DigitalOcean is specifically designed for developers rather than enterprise ops teams. The control panel is clean, Droplets launch in under 60 seconds, and App Platform requires no infrastructure knowledge at all. Thousands of community tutorials lower the barrier for beginners.","Offers VPS, PaaS, and managed Kubernetes under one roof, covering most deployment patterns from simple static sites to complex microservices. Custom networking, firewalls, VPC peering, and a full API give teams significant control. Missing serverless functions and some niche managed services limit the ceiling slightly.","NVMe SSDs and dedicated vCPU Droplets deliver competitive single-tenant performance. The 99.99% uptime SLA holds in practice per benchmark studies. Lacks the global edge network density of Cloudflare or the ultra-low-latency primitives of AWS.","Consistently ranks in the top 5 cloud providers for developer and startup usage. Strong presence on StackOverflow, Reddit, and developer surveys. Over 600,000 active customers as of 2024. Widely used as a first production cloud by self-taught developers.","Standard Linux VMs and Docker\u002FKubernetes workloads migrate freely to any other cloud or bare metal. No proprietary runtime lock-in. Spaces is S3-compatible. App Platform lock-in is higher — migrating away requires containerizing or adapting the build pipeline.",{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":548,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":549,"subcategory":550,"categories":551,"subcategories":553,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":555,"score_reasonings":558,"published_date":269,"last_updated_date":168},169,"Hostinger","hostinger","Affordable web hosting with shared, cloud, and agency plans plus KVM VPS, on LiteSpeed servers with NVMe storage and the beginner-friendly hPanel control panel.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fhostinger.svg",{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[552],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[554],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[556,557],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},"Shared hosting on Hostinger is genuinely beginner-accessible — hPanel, one-click WordPress, and the Kodee AI assistant reduce the complexity of common tasks to a few clicks. VPS plans require Linux and SSH familiarity to get full value, but the guided setup and AI assistant lower the barrier compared to raw VPS providers like Hetzner.","Shared hosting is intentionally constrained — you run within Hostinger's stack and cannot change the server environment. VPS plans give full root access and can run any Linux workload. The range from shared to VPS covers most beginner-to-intermediate deployment needs, but there is no managed Kubernetes, serverless, or edge compute option.","LiteSpeed with NVMe SSD and built-in caching delivers strong performance for shared hosting — independent benchmarks show sub-1-second load times and 99.96%+ uptime on shared plans. KVM VPS performance is competitive for the price. Not at the level of dedicated cloud providers like DigitalOcean or Hetzner for compute-intensive workloads.","Hostinger is one of the top three most-recommended budget hosts globally, with over 3 million customers and a 4.7\u002F5 Trustpilot score. It dominates beginner and bootstrapper audiences and appears consistently in 'best cheap hosting' roundups. Less visible in developer-tool and startup-stack communities compared to cloud-native platforms.","Shared hosting creates moderate lock-in via hPanel and Hostinger-specific tooling, though WordPress sites can be migrated via standard exports. VPS instances are standard KVM Linux — fully portable to any other VPS provider. No proprietary runtime or framework dependencies on the VPS side.",{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":570,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":571,"subcategory":572,"categories":575,"subcategories":577,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":579,"score_reasonings":585,"published_date":269,"last_updated_date":168},50,"Amazon Web Services","aws","World's largest cloud platform with 200+ services. Market leader in infrastructure as a service (IaaS) and platform as a service (PaaS).","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Faws.png",{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},"Cloud Providers","cloud-providers",[576],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[578],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[580,581,582,583,584],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},"Vast service catalog; IAM, VPC, and networking alone can take months to master.","Hundreds of composable services with full IaC support; virtually unlimited architectural freedom.","Global infrastructure; EC2, Lambda, and CloudFront deliver performance at any scale.","Broad API surface and proprietary services create meaningful lock-in; migration is possible but costly.","Market-leading cloud provider; used by the majority of production deployments globally.",{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":597,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":598,"subcategory":599,"categories":600,"subcategories":602,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":604,"score_reasonings":613,"published_date":269,"last_updated_date":168},51,"Google Cloud Platform","gcp","Google's cloud platform with strong data, analytics, AI, and Kubernetes capabilities. The third-largest cloud provider, after AWS and Azure.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fgcp.svg",{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[601],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[603],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[605,606,607,608,609,610],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},"Machine Learning","machine-learning",{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},"Slightly more approachable than AWS; BigQuery and Cloud Run have excellent documentation.","Deep service catalog; Cloud Run, GKE, and BigQuery combine freely for any architecture.","BigQuery's columnar engine handles petabyte queries in seconds; Cloud Run scales fast.","Similar to AWS; proprietary managed services create meaningful switching costs.","Strong in data and AI workloads; second or third cloud by market share in most segments.",{"tool_id":620,"name":621,"slug":622,"tooltip_description":623,"logo_url":624,"logo_bg":44,"pricing_model":625,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":626,"subcategory":627,"categories":628,"subcategories":630,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":632,"score_reasonings":639,"published_date":269,"last_updated_date":168},167,"Fly.io","fly-io","Docker-native edge hosting platform running apps in Firecracker microVMs across 35+ global regions. Scale-to-zero by default, with managed Postgres and built-in anycast networking.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Ffly-io.svg",{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[629],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[631],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[633,634,635,636,637,638],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":640,"flexibility":641,"performance":642,"popularity":643,"portability":644},"Fly.io requires understanding Docker, the flyctl CLI, and fly.toml configuration before deploying anything. Concepts like Machines, volumes, anycast routing, and 6PN networking add further depth. The documentation is excellent, but the on-ramp is noticeably steeper than Railway or Render for developers without container experience.","Full Docker runtime means any language, framework, or dependency is supported. Per-Machine resource allocation, custom scaling rules, volume mounts, multi-region replication, and GPU access cover a wide range of workload types from static sites to stateful ML inference pipelines. The platform imposes almost no constraints on architecture.","Firecracker microVMs deliver near-bare-metal performance with hardware isolation. Anycast routing across 35+ regions means requests hit a local PoP rather than a central origin. Cold starts are measured in milliseconds. Benchmarks consistently show Fly.io at the top tier for global P50 latency among PaaS providers.","Fly.io is a developer favorite in startup and indie-hacker communities, regularly cited in comparisons with Railway and Render. However it remains a niche platform relative to DigitalOcean or AWS. GitHub presence and community forum are active but not at the scale of mainstream cloud providers.","Pure Docker runtime with no proprietary SDK or framework requirements. Workloads can be lifted to any other Docker-compatible host — DigitalOcean, Hetzner, AWS ECS — with minimal configuration changes. Fly Postgres exports standard PostgreSQL dumps. No lock-in beyond fly.toml, which is straightforward to translate.",{"tool_id":646,"name":647,"slug":648,"tooltip_description":649,"logo_url":650,"logo_bg":44,"pricing_model":651,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":652,"subcategory":653,"categories":657,"subcategories":659,"flexibility_score":61,"performance_score":109,"portability_score":49,"is_featured":63,"tags":661,"score_reasonings":663,"published_date":168,"last_updated_date":27},211,"Raspberry Pi","raspberry-pi","The most popular single-board computer for lightweight self-hosting: a Raspberry Pi 5 runs Pi-hole, Home Assistant, WireGuard, and small local models around the clock for a few dollars a month in electricity, with no monthly hosting bill.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fraspberry-pi.svg",{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":654,"name":655,"slug":656},61,"Hardware","hardware",[658],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[660],{"subcategory_id":654,"name":655,"slug":656,"category_id":62,"is_primary":3,"display_order":7},[662],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"learning_curve":664,"flexibility":665,"performance":666,"popularity":667,"portability":668},"Basic setup (flashing an OS image, connecting to a network) is well documented, but running production-quality self-hosted services still requires real Linux administration comfort compared to a managed platform.","Runs any Arm-compatible Docker container or Linux service, from DNS filtering to home automation to small local models, though x86-only software and heavier workloads are out of reach.","5-12 watts of power draw buys real but modest compute. Fine for lightweight always-on services, underpowered for VMs, 4K transcoding, or anything CPU-intensive.","The default, most-recognized single-board computer for home labs and self-hosting, with the largest community and guide ecosystem of any option in this category.","Fully owned physical hardware with no vendor lock-in, but Arm architecture and hardware constraints (RAM, storage, networking) limit what workloads can move onto it versus a general-purpose VPS.",{"hetzner":670,"digitalocean":671,"hostinger":672,"aws":673,"gcp":674,"fly-io":675,"raspberry-pi":676},"n8n's own docs include a Hetzner guide, which calls a 2 vCPU \u002F 2 GB server enough for most usage. A flat-rate root VPS here starts around €4-5\u002Fmo with 4 GB of memory, enough for n8n, PostgreSQL, and a couple of queue-mode workers on one box, with backups and updates left to you.","n8n's docs include a DigitalOcean guide, where a basic shared-CPU Droplet is enough for most usage: about $12\u002Fmo for 2 GB. Managed PostgreSQL (from about $15\u002Fmo) can take execution history and credentials off the Droplet with automated backups.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo on a two-year term) has 4 GB of memory, twice n8n's usual need. If you'd rather not configure Docker and a proxy yourself, the separate n8n Quick Deploy stack starts from Hostinger's own one-click n8n template instead.","Run n8n on an EC2 instance (a t3.small with 2 GB is typically enough to start) when your workflows call AWS services such as S3 or SES and should sit next to them. You'll set up a security group, an Elastic IP, and an EBS volume for the database, or let an Application Load Balancer with AWS Certificate Manager handle TLS instead of a proxy.","Run n8n on a Compute Engine instance (an e2-small with 2 GB is typically enough to start) when your workflows call BigQuery or Cloud Storage and should sit next to them. You'll set up a firewall rule, a static external IP, and a persistent disk for the database, or let Cloud Load Balancing with Google-managed certificates handle TLS instead of a proxy.","A container platform instead of a server you administer: deploy the official n8n image with flyctl and attach a persistent volume at \u002Fhome\u002Fnode\u002F.n8n. TLS terminates at Fly's edge, so no reverse proxy is needed, and a shared-CPU machine with 2 GB costs about $11\u002Fmo, billed by the second.","Your own hardware, at the far end of the maintenance spectrum. n8n publishes ARM64 images, so the same Docker Compose setup runs on a Pi with no monthly bill beyond electricity, but uptime, updates, backups, and SD-card wear are yours. A home connection sits behind NAT, so pair it with a tunnel add-on: Cloudflare Tunnel for public webhook URLs, Tailscale for access from your own devices only.",{},{"kind":459,"slug":320,"name":319,"href":679},"\u002Ftools\u002Fcategories\u002Fhosting-cloud",{"tools":681,"descriptions":739,"aliases":743,"see_all":27},[682,701,720],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":683,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":684,"subcategory":685,"categories":686,"subcategories":688,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":690,"score_reasonings":695,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[687],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[689],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[691,692,693,694],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},"Basic Docker label routing is quick to pick up, but understanding the provider model, middleware chains, and dashboard takes more upfront investment than Caddy's flat config file, especially for anyone unfamiliar with label-driven tooling.","Native providers for Docker, Kubernetes, Swarm, Consul, and ECS plus a composable middleware system cover most container-routing scenarios, though its module ecosystem is narrower than NGINX's after two decades of third-party extensions.","Built in Go with an efficient routing engine, it performs comparably to Caddy for typical self-hosted and mid-scale container workloads.","It's the de facto reverse proxy for the Docker\u002FKubernetes self-hosting community and powers routing inside Coolify and Dokploy, with a large and actively growing GitHub following, though still behind NGINX's decades-long install base.","MIT licensed, ships as a single binary and official Docker image, and runs identically across any VPS, Kubernetes cluster, or cloud provider with no lock-in.",{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":702,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":703,"subcategory":704,"categories":705,"subcategories":707,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":709,"score_reasonings":714,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[706],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[708],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[710,711,712,713],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},"A working reverse proxy with HTTPS is typically a few lines of Caddyfile, and automatic certificate provisioning removes the TLS setup step entirely, making it one of the easiest reverse proxies to get running for the first time.","The Caddyfile and JSON config cover most reverse-proxy and static-serving needs well, but its plugin ecosystem and edge-case module coverage are considerably smaller than NGINX's after two decades of third-party modules.","Built in Go with a modern, concurrent architecture and native HTTP\u002F3 support, it performs well for typical self-hosted and small-to-mid traffic workloads, though it hasn't accumulated NGINX's extreme-scale benchmark track record.","It's a well-known, growing choice in the self-hosted community specifically for its automatic-HTTPS pitch, but its adoption and star count remain well behind NGINX's decades-long dominance.","Apache 2.0 licensed, distributed as a single static binary with an official Docker image, and runs identically on any VPS or OS with zero vendor lock-in.",{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":721,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":722,"subcategory":723,"categories":724,"subcategories":726,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":728,"score_reasonings":733,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[725],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[727],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[729,730,731,732],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},"Basic reverse-proxy blocks are simple to copy-paste, but real production setups (upstream health checks, TLS automation, rewrite rules, rate limiting) require understanding NGINX's directive-based config language in depth, and there's no built-in automatic HTTPS to lean on.","A vast module ecosystem and a fully declarative config language let it act as a reverse proxy, load balancer, cache, static file server, or WAF front-end, with third-party modules covering nearly any edge case.","Its event-driven, non-blocking architecture was purpose-built to solve the C10k problem, and it remains a top performer in every major reverse-proxy benchmark for throughput and memory efficiency under concurrent load.","It has been the most widely deployed web server on the public internet for years, appears in essentially every stack survey, and has the largest surrounding tutorial and community knowledge base of any web server.","The open-source core is free, packaged for every OS and as an official Docker image, and runs identically on any VPS or cloud provider with no vendor lock-in.",{"traefik":740,"caddy":741,"nginx":742},"Routes to the n8n container from Docker labels and renews Let's Encrypt certificates on its own; n8n's own Docker Compose example uses it. Set WEBHOOK_URL to the public HTTPS address so webhook nodes show URLs that outside services can call.","Automatic HTTPS from a few lines of config, the simplest fit for one n8n container; n8n's current Hetzner guide uses it. Caddy passes the WebSocket connection the editor uses for live execution updates, so no extra directives are needed.","The most familiar proxy, with TLS through Certbot. Add the HTTP\u002F1.1 upgrade headers so the editor's live updates connect, disable proxy buffering for long-running webhook responses, and set WEBHOOK_URL on the n8n side to the public address.",{},{"tools":745,"descriptions":804,"aliases":807,"see_all":27},[746,778],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":752,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":753,"subcategory":754,"categories":758,"subcategories":760,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":762,"score_reasonings":772,"published_date":168,"last_updated_date":27},183,"Coolify","coolify","Open-source, self-hostable PaaS that brings a Heroku\u002FVercel-style git-push deploy workflow to your own server.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fcoolify.svg",{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},56,"Self-Hosted PaaS","self-hosted-paas",[759],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[761],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[763,764,765,766,770,771],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},23,"Git-based","git-based",{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},"Deploying a simple app is a git-push away once Coolify is installed, but getting there requires provisioning and SSH-connecting a server first, and troubleshooting still touches Docker and Linux server concepts that a fully managed PaaS abstracts away entirely.","Supports Nixpacks, Dockerfiles, and Docker Compose directly, plus 280+ one-click services, making it capable of hosting nearly anything that runs in a container — bounded mainly by what the underlying server's resources can handle.","There is no platform-level performance ceiling of its own; a deployment's speed and headroom are a direct function of the VPS or hardware Coolify is installed on, which can range from a budget €4\u002Fmonth instance to a large dedicated server.","A fast-growing, well-starred open-source project with strong traction in the self-hosting and indie-hacker community, though it remains a niche choice relative to mainstream managed PaaS platforms like Railway, Render, or Vercel.","Apache 2.0 licensed and built entirely on standard Docker tooling with no proprietary runtime — a Coolify-managed deployment can be moved to a different server (or off Coolify entirely, back to raw Docker Compose) with minimal friction.",{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":784,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":785,"subcategory":786,"categories":787,"subcategories":789,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":791,"score_reasonings":798,"published_date":168,"last_updated_date":27},184,"Dokploy","dokploy","Open-source, self-hostable PaaS that deploys apps, Docker Compose stacks, and managed databases across one or more of your own servers.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fdokploy.svg",{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[788],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[790],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[792,793,794,795,796,797],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},"A cleaner, single-page dashboard and a deployment-first workflow make basic app deployment quick to pick up once a server is connected, though the underlying Docker Swarm concepts still surface for multi-node scaling and advanced configuration.","Native Docker Compose support plus Dockerfile and buildpack deployment covers nearly any containerizable workload, and multi-database support extends it well beyond simple app hosting — bounded mainly by the underlying server's resources.","There is no platform-level performance ceiling of its own; deployment speed and headroom are a direct function of the VPS or hardware Dokploy is installed on.","A fast-growing open-source project with a large and rapidly increasing GitHub star count, though it is younger and currently has a smaller community than the category leader, Coolify.","Apache-2.0-licensed core built on standard Docker and Docker Swarm tooling with no proprietary runtime — a Dokploy-managed deployment can move to a different server, or off Dokploy entirely back to raw Docker Compose, with minimal friction.",{"coolify":805,"dokploy":806},"Free and self-hosted, with one-click n8n templates, including versions with PostgreSQL and with queue-mode workers, deployed behind Coolify's bundled proxy with HTTPS. The middle ground between writing a proxy config yourself and the fully bundled Quick Deploy stack.","Free and self-hosted, with n8n in its template catalog, deployed behind its bundled Traefik with HTTPS from the dashboard. Its scheduled database backups cover PostgreSQL; keep a copy of n8n's encryption key with them, or restored credentials can't be decrypted.",{},{"tunnel":809,"queue_broker":863},{"tools":810,"descriptions":857,"aliases":861,"preface":862,"see_all":27},[811,828,840],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":812,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":813,"subcategory":814,"categories":815,"subcategories":817,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":819,"score_reasonings":822,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[816],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[818],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[820,821],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},"Getting a tunnel running requires a Cloudflare account, a domain on Cloudflare DNS, and configuring ingress rules for each hostname — more setup than a single-binary tunnel tool, though well documented and a common homelab pattern once learned.","Ingress rules can route many hostnames to different local services from one tunnel, Zero Trust Access adds per-hostname authentication, and the same daemon handles HTTP alongside TCP\u002FUDP via WARP.","Traffic rides Cloudflare's global Anycast network end to end, giving it the same routing and edge performance as the rest of Cloudflare's CDN.","A standard recommendation in self-hosting and homelab communities for exposing services without port forwarding, though it competes with several other tunnel tools rather than being the default name people reach for first.","Tightly coupled to a Cloudflare account and DNS zone — migrating off Cloudflare means replacing the entire exposure mechanism, not just swapping a config value.",{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":829,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":830,"subcategory":831,"categories":832,"subcategories":834,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":836,"score_reasonings":839,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[833],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[835],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[837,838],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"tool_id":103,"name":104,"slug":105,"tooltip_description":106,"logo_url":107,"logo_bg":74,"pricing_model":841,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":842,"subcategory":843,"categories":844,"subcategories":846,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":848,"score_reasonings":851,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[845],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[847],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[849,850],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":852,"flexibility":853,"performance":854,"popularity":855,"portability":856},"Installing a client and authenticating via SSO puts a device on the tailnet in minutes, with MagicDNS and default ACLs handling the rest — no manual key exchange, port forwarding, or router configuration the way a raw WireGuard or OpenVPN setup requires.","Subnet routers, exit nodes, Tailscale SSH, ACL tags, and Funnel cover use cases well beyond simple point-to-point connectivity, and Headscale offers a fully self-hosted control-plane path for teams that want it.","Connections negotiate directly between peers over WireGuard whenever NAT traversal succeeds, falling back to DERP relays only when a direct path isn't reachable, which keeps overhead close to raw WireGuard rather than routing everything through a central VPN server.","A name that comes up constantly in engineering blogs, self-hosting communities, and general developer conversation about remote access — recognition extends well past the networking and DevOps specialists who actually configure it, unlike the more narrowly-known tunnel tools it's sometimes compared against.","Clients are open source and cover every major desktop, mobile, and server platform, but the default coordination server is Tailscale's own hosted service; Headscale exists specifically so self-hosters can replace that layer without losing client compatibility, though it isn't the default path.",{"cloudflare-tunnel":858,"ngrok":859,"tailscale":860},"Gives n8n a public HTTPS hostname through an outbound-only connection, with no inbound ports or static IP, so outside services can reach its webhooks from a Pi or home server. Protect the editor path with Cloudflare Access while leaving the \u002Fwebhook\u002F paths public.","The quicker-start tunnel for receiving test webhooks from a SaaS app on an n8n instance running on your own machine. Its free-tier limits suit development rather than production webhook URLs that other services depend on.","Private access instead of public exposure: Tailscale joins the server to an encrypted private network, so the n8n editor is reachable only from your own devices with nothing opened to the internet. Right for a personal instance; workflows that need public webhook URLs still want Cloudflare Tunnel alongside or instead.",{},"Add a tunnel when you're self-hosting without a static IP or can't open inbound ports — a home server, a VPS behind restrictive network policies, or anywhere a reverse proxy alone can't reach the internet.",{"tools":864,"descriptions":893,"aliases":895,"preface":896,"see_all":27},[865],{"tool_id":519,"name":866,"slug":867,"tooltip_description":868,"logo_url":869,"logo_bg":44,"pricing_model":870,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":871,"subcategory":872,"categories":876,"subcategories":878,"flexibility_score":61,"performance_score":62,"portability_score":61,"is_featured":63,"tags":880,"score_reasonings":887,"published_date":269,"last_updated_date":168},"Redis","redis","In-memory data store used as cache, message broker, and database. Known for speed with sub-millisecond response times.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fredis.svg",{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":873,"name":874,"slug":875},27,"Key-Value Stores","key-value-stores",[877],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[879],{"subcategory_id":873,"name":874,"slug":875,"category_id":61,"is_primary":3,"display_order":7},[881,882,883],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":884,"name":885,"slug":886,"tag_type":156},15,"Real-time","real-time",{"learning_curve":888,"flexibility":889,"performance":890,"portability":891,"popularity":892},"Simple key-value command set; minimal configuration required to get started.","Multiple data structures; Lua scripting; Redis Modules extend core functionality significantly.","In-memory with sub-millisecond read and write; purpose-built for high-throughput caching.","Key-value commands are standard; many Redis-compatible alternatives exist.","Widely used as a cache and message broker; often a background dependency in production stacks.",{"redis":894},"n8n's queue mode runs worker processes that pull executions from Redis, separating the main instance from the work, the standard scaling step once concurrent executions saturate one process. Each worker adds roughly 200-500 MB of memory. The stack runs fine without it, and it needs one of the PostgreSQL database options, since queue mode isn't available on SQLite.",{},"Add a queue broker when one process stops keeping up: it lets a service hand work to separate workers and scale execution past a single instance.",{"exposure":898},{"name":899,"option_types":900},"Reverse Proxy or PaaS",[901,902],"reverse_proxy","self_hosted_paas",[],{"stack_id":905,"name":906,"slug":907,"description":908,"experience_level":909,"project_type":910,"stack_type":911,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":912,"stack_data":913,"resolved_tools":919,"options":1005,"additions":1202,"option_groups":1233,"multi_select_option_types":1236},151,"Ghost Self-Hosted","ghost-self-hosted","Run Ghost on your own server instead of paying Ghost(Pro) as your audience grows. Ghost publishes, manages members and paid subscriptions, and sends newsletters, with MySQL storing content and members and Docker keeping installs and upgrades to a few commands.","beginner","website",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},99,{"CMS":914,"Databases":915,"DevOps & CI\u002FCD":917,"Hosting & Cloud":918},[912],[916],129,[224],[226],{"CMS":920,"Databases":952,"DevOps & CI\u002FCD":976,"Hosting & Cloud":992},[921],{"tool_id":912,"name":922,"slug":923,"tooltip_description":924,"logo_url":925,"logo_bg":74,"pricing_model":926,"learning_curve_score":109,"popularity_score":109,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":927,"subcategory":930,"categories":934,"subcategories":936,"flexibility_score":49,"performance_score":62,"portability_score":49,"is_featured":63,"tags":938,"score_reasonings":946,"published_date":269,"last_updated_date":168},"Ghost","ghost","Ghost is an open-source publishing platform and headless CMS purpose-built for independent creators, newsletters, and membership-based content businesses.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fghost.svg",{"slug":76,"display_name":77,"description":78},{"category_id":359,"name":928,"slug":929},"CMS","cms",{"subcategory_id":931,"name":932,"slug":933},35,"Classic CMS","classic-cms",[935],{"category_id":359,"name":928,"slug":929,"is_primary":3,"display_order":7},[937],{"subcategory_id":931,"name":932,"slug":933,"category_id":359,"is_primary":3,"display_order":7},[939,940,941,942],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":943,"name":944,"slug":945,"tag_type":297},32,"Content Management","content-management",{"learning_curve":947,"portability":948,"flexibility":949,"performance":950,"popularity":951},"Clean admin UI; publishing and membership features are intuitive out of the box.","Open source with clean JSON export; migration to another headless CMS is reasonably feasible.","Theme system and webhooks enable moderate customization; Membership Portal is more constrained.","Lean Node.js core with fast page delivery; MySQL or SQLite backend is lightweight.","Popular for independent publishers and newsletters; niche compared to WordPress.",[953],{"tool_id":916,"name":954,"slug":955,"tooltip_description":956,"logo_url":957,"logo_bg":44,"pricing_model":958,"learning_curve_score":109,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":959,"subcategory":960,"categories":961,"subcategories":963,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":965,"score_reasonings":970,"published_date":269,"last_updated_date":168},"MySQL","mysql","MySQL is the world's most popular open-source relational database, powering the majority of web applications. It offers a proven, high-performance SQL engine with broad ecosystem support across every major language and platform.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fmysql.svg",{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[962],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[964],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[966,967,968,969],{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":971,"learning_curve":972,"flexibility":973,"popularity":974,"portability":975},"InnoDB delivers solid OLTP throughput for standard read-heavy workloads; query optimizer has historically lagged behind PostgreSQL and MariaDB for complex plans, and thread pooling requires the Enterprise edition.","GUI tools (MySQL Workbench, phpMyAdmin) and extensive tutorials make it highly accessible; basic SQL is straightforward but advanced features like stored procedures and replication configuration require more study.","Covers standard OLTP use cases thoroughly; lacks some advanced SQL features PostgreSQL offers (partial indexes, richer JSON, table inheritance); plugin storage engines add flexibility for specific workloads.","The most widely deployed open-source relational database globally — powering the majority of web applications and the default choice in shared hosting and PHP stacks for decades.","Available on every major cloud as a managed service (RDS, Cloud SQL, Azure Database); supported by every major ORM and language driver; minor SQL dialect quirks can require adjustments when migrating.",[977],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":978,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":979,"subcategory":980,"categories":981,"subcategories":983,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":985,"score_reasonings":991,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[982],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[984],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[986,987,988,989,990],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[993],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":994,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":995,"subcategory":996,"categories":997,"subcategories":999,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1001,"score_reasonings":1004,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[998],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1000],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1002,1003],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":1006,"orm":1010,"authentication":1014,"analytics":1018,"coding_agent":1022,"llm":1026,"language":1030,"frontend_framework":1034,"cms":1038,"hosting":1042,"reverse_proxy":1115,"self_hosted_paas":1164},{"tools":1007,"descriptions":1008,"aliases":1009,"see_all":27},[],{},{},{"tools":1011,"descriptions":1012,"aliases":1013,"see_all":27},[],{},{},{"tools":1015,"descriptions":1016,"aliases":1017,"see_all":27},[],{},{},{"tools":1019,"descriptions":1020,"aliases":1021,"see_all":27},[],{},{},{"tools":1023,"descriptions":1024,"aliases":1025,"see_all":27},[],{},{},{"tools":1027,"descriptions":1028,"aliases":1029,"see_all":27},[],{},{},{"tools":1031,"descriptions":1032,"aliases":1033,"see_all":27},[],{},{},{"tools":1035,"descriptions":1036,"aliases":1037,"see_all":27},[],{},{},{"tools":1039,"descriptions":1040,"aliases":1041,"see_all":27},[],{},{},{"tools":1043,"descriptions":1108,"aliases":1113,"see_all":1114},[1044,1056,1072,1096],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":1045,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1046,"subcategory":1047,"categories":1048,"subcategories":1050,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1052,"score_reasonings":1055,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[1049],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1051],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1053,1054],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":1057,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1058,"subcategory":1059,"categories":1060,"subcategories":1062,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1064,"score_reasonings":1071,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[1061],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1063],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[1065,1066,1067,1068,1069,1070],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":1073,"name":1074,"slug":1075,"tooltip_description":1076,"logo_url":1077,"logo_bg":74,"pricing_model":1078,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1079,"subcategory":1080,"categories":1081,"subcategories":1083,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":1085,"score_reasonings":1090,"published_date":269,"last_updated_date":168},53,"Railway","railway","Modern PaaS for deploying apps, databases, and workers. Git-based deployment with infrastructure as code approach.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Frailway.svg",{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[1082],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1084],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[1086,1087,1088,1089],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"learning_curve":1091,"performance":1092,"portability":1093,"flexibility":1094,"popularity":1095},"Git-push deploys work out of the box; most apps go live with zero configuration.","Container-based deployment mirrors the underlying cloud infrastructure performance.","Docker-based deployment is reasonably portable; switching to another host is manageable.","Dockerfile-based; supports any language, framework, and service composition.","Growing popularity for simple deployments; well-regarded in indie developer communities.",{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":1097,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1098,"subcategory":1099,"categories":1100,"subcategories":1102,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":1104,"score_reasonings":1107,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[1101],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1103],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1105,1106],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"hetzner":1109,"digitalocean":1110,"railway":1111,"hostinger":1112},"A flat-rate root VPS from around €4-5\u002Fmo, whose entry instance already has 4 GB of memory, well above Ghost's 1 GB floor and the 2 GB its Docker guide uses. That headroom lets one server hold several Ghost sites or a busy publication, with MySQL backups and updates left to you.","Ghost's own Docker guide uses a 2 GB \u002F 1 CPU Droplet as its example, about $12\u002Fmo, with snapshots and a cloud firewall in the panel. Managed MySQL (from about $15\u002Fmo) can take the database off the Droplet with automated backups, which protects the member list.","Deploys Ghost from its Docker image with a MySQL database and a volume for the content folder, redeploying on each new release. The volume is not optional: without it, uploaded images disappear on the next deploy. Railway terminates TLS itself, so the reverse proxy or PaaS choice doesn't apply. Expect roughly $10\u002Fmo with the database attached.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo on a two-year term) has 4 GB of memory, far more than one Ghost site needs. It suits a writer who wants the lowest bill, with fewer regions than the larger providers and backups left to you.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":1116,"descriptions":1159,"aliases":1163,"see_all":27},[1117,1131,1145],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":1118,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1119,"subcategory":1120,"categories":1121,"subcategories":1123,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":1125,"score_reasonings":1130,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1122],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1124],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1126,1127,1128,1129],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":1132,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1133,"subcategory":1134,"categories":1135,"subcategories":1137,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":1139,"score_reasonings":1144,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1136],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1138],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1140,1141,1142,1143],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":1146,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1147,"subcategory":1148,"categories":1149,"subcategories":1151,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":1153,"score_reasonings":1158,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1150],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1152],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1154,1155,1156,1157],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":1160,"caddy":1161,"nginx":1162},"Routes to the Ghost container from Docker labels and renews Let's Encrypt certificates, in place of the Caddy container in Ghost's Docker install. Forward X-Forwarded-Proto and set Ghost's url to the https address; if Ghost thinks requests arrive over plain HTTP, it redirects them in a loop.","What Ghost's official Docker install ships: a Caddy container that obtains certificates and terminates TLS in front of Ghost. Choosing it keeps you on the official Compose file and its update command, the least work to maintain.","What Ghost-CLI sets up on Ubuntu, the long-standing production install: the CLI writes the NGINX config and requests a Let's Encrypt certificate for your domain. Choose it when Ghost runs directly on the server rather than in Docker.",{},{"tools":1165,"descriptions":1198,"aliases":1201,"see_all":27},[1166,1182],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":1167,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1168,"subcategory":1169,"categories":1170,"subcategories":1172,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":1174,"score_reasonings":1181,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[1171],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1173],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[1175,1176,1177,1178,1179,1180],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":1183,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1184,"subcategory":1185,"categories":1186,"subcategories":1188,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":1190,"score_reasonings":1197,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[1187],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1189],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[1191,1192,1193,1194,1195,1196],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":1199,"dokploy":1200},"Free and self-hosted, with a one-click Ghost template that provisions MySQL beside it and HTTPS through Coolify's bundled proxy. Check that the content folder is on a persistent volume and included in backups, since images and themes live there, not in the database.","Free and self-hosted, with Ghost in its template catalog, deployed behind its bundled Traefik with HTTPS from the dashboard. Its scheduled backups cover the MySQL database; add the content folder's volume too, or a restore brings back posts without their images.",{},{"tunnel":1203},{"tools":1204,"descriptions":1229,"aliases":1232,"preface":862,"see_all":27},[1205,1217],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":1206,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1207,"subcategory":1208,"categories":1209,"subcategories":1211,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":1213,"score_reasonings":1216,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[1210],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1212],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[1214,1215],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":1218,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1219,"subcategory":1220,"categories":1221,"subcategories":1223,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":1225,"score_reasonings":1228,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[1222],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1224],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[1226,1227],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":1230,"ngrok":1231},"Makes Ghost reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for a server on a home network. Set Ghost's url to the tunnel's public hostname, since member sign-in links and newsletter links are built from it.","The quicker-start tunnel for previewing a theme or testing member sign-up and Stripe webhooks against Ghost on your own machine. Its free-tier limits suit development rather than a live publication.",{},{"exposure":1234},{"name":899,"option_types":1235},[901,902],[],{"stack_id":1238,"name":1239,"slug":1240,"description":1241,"experience_level":213,"project_type":910,"stack_type":1242,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":1243,"stack_data":1244,"resolved_tools":1251,"options":1349,"additions":1554,"option_groups":1585,"multi_select_option_types":1588},152,"Plausible Self-Hosted","plausible-self-hosted","Run Plausible Community Edition on your own server for cookie-free analytics with no pageview caps. ClickHouse stores the events and answers dashboard queries fast at high volume, PostgreSQL holds accounts and site settings, and the official Docker Compose file brings up all three containers together.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},100,{"Databases":1245,"DevOps & CI\u002FCD":1247,"Hosting & Cloud":1248,"Observability & Monitoring":1249},[158,1246],135,[224],[226],[1250],172,{"Databases":1252,"DevOps & CI\u002FCD":1292,"Hosting & Cloud":1308,"Observability & Monitoring":1321},[1253,1267],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":1254,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1255,"subcategory":1256,"categories":1257,"subcategories":1259,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":1261,"score_reasonings":1266,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[1258],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[1260],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[1262,1263,1264,1265],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":1246,"name":1268,"slug":1269,"tooltip_description":1270,"logo_url":1271,"logo_bg":44,"pricing_model":1272,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1273,"subcategory":1274,"categories":1278,"subcategories":1280,"flexibility_score":61,"performance_score":62,"portability_score":61,"is_featured":63,"tags":1282,"score_reasonings":1286,"published_date":269,"last_updated_date":168},"ClickHouse","clickhouse","Column-oriented OLAP database for real-time analytics at massive scale. Processes billions of rows per second with SQL — self-hostable or available as a managed cloud service.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fclickhouse.svg",{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":1275,"name":1276,"slug":1277},26,"OLAP Databases","olap-databases",[1279],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[1281],{"subcategory_id":1275,"name":1276,"slug":1277,"category_id":61,"is_primary":3,"display_order":7},[1283,1284,1285],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":1287,"flexibility":1288,"performance":1289,"popularity":1290,"portability":1291},"SQL interface is familiar but columnar data modelling, MergeTree engine family selection, and replication topology all require a dedicated learning investment.","Rich SQL dialect with analytical extensions; native Kafka, S3, PostgreSQL, and HDFS table engines make it flexible as both a destination and a query layer over external data.","Processes billions of rows per second for aggregation queries via columnar storage, vectorised execution, and per-column compression — fastest open-source OLAP engine in its class.","47k+ GitHub stars; adopted by Cloudflare, Uber, and Criteo; growing rapidly as a self-hostable alternative to BigQuery and Snowflake for real-time analytics.","Apache 2.0 licensed; standard SQL interface means query logic transfers to other warehouses; self-hostable on any Linux machine as a single binary with no JVM.",[1293],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":1294,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1295,"subcategory":1296,"categories":1297,"subcategories":1299,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":1301,"score_reasonings":1307,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[1298],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1300],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[1302,1303,1304,1305,1306],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[1309],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":1310,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1311,"subcategory":1312,"categories":1313,"subcategories":1315,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1317,"score_reasonings":1320,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[1314],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1316],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1318,1319],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},[1322],{"tool_id":1250,"name":1323,"slug":1324,"tooltip_description":1325,"logo_url":1326,"logo_bg":74,"pricing_model":1327,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1328,"subcategory":1332,"categories":1336,"subcategories":1338,"flexibility_score":109,"performance_score":62,"portability_score":62,"is_featured":63,"tags":1340,"score_reasonings":1343,"published_date":269,"last_updated_date":168},"Plausible Analytics","plausible","Lightweight, open-source web analytics platform that is privacy-first by design — no cookies, no personal data collection, and GDPR-compliant out of the box.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fplausible.svg",{"slug":315,"display_name":316,"description":317},{"category_id":1329,"name":1330,"slug":1331},18,"Observability & Monitoring","observability-monitoring",{"subcategory_id":1333,"name":1334,"slug":1335},54,"Web & Product Analytics","web-product-analytics",[1337],{"category_id":1329,"name":1330,"slug":1331,"is_primary":3,"display_order":7},[1339],{"subcategory_id":1333,"name":1334,"slug":1335,"category_id":1329,"is_primary":3,"display_order":7},[1341,1342],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":1344,"flexibility":1345,"performance":1346,"popularity":1347,"portability":1348},"Plausible is among the simplest analytics tools to adopt — drop in a single script tag and the dashboard populates immediately. The interface presents all key metrics on one scrollable page with no configuration required. Non-technical stakeholders can read and share reports without any training. Even the self-hosted Community Edition deploys via a single Docker Compose command. No other tool in this category has a lower barrier to first value.","Plausible is deliberately minimal. It does not offer custom report builders, advanced audience segmentation, cohort analysis, heatmaps, or session replay. Custom events and properties provide some flexibility for tracking specific interactions, and the API allows data extraction. Teams that outgrow the built-in dashboard have limited options within the tool itself, though data can be exported to external systems. The intentional simplicity is a feature for some teams and a constraint for others.","The tracking script weighs under 1 KB and loads asynchronously, adding effectively zero overhead to page load times compared to Google Analytics' 45 KB payload. Dashboard queries run against a ClickHouse backend and return results quickly even at scale. This is a core differentiator and design principle — Plausible's architecture is optimized for speed and minimal resource consumption from the ground up.","Plausible consistently ranks as the top alternative to Google Analytics in privacy-focused developer communities. It has accumulated over 20,000 GitHub stars, generates regular discussion on Hacker News, and is frequently recommended on Reddit. Its bootstrapped, independent status resonates strongly with indie developers and small teams. Enterprise penetration is limited but growing as privacy regulations tighten globally.","Plausible's Community Edition is AGPL-3.0 licensed and self-hostable on any infrastructure via Docker. The cloud and self-hosted versions are functionally equivalent, and teams can migrate between them. All data is stored in ClickHouse and can be exported via the API. No proprietary formats or vendor-controlled lock-in exist — the Estonian company and open-source codebase ensure that teams retain full control over their analytics data.",{"database":1350,"orm":1354,"authentication":1358,"analytics":1362,"coding_agent":1366,"llm":1370,"language":1374,"frontend_framework":1378,"cms":1382,"hosting":1386,"reverse_proxy":1467,"self_hosted_paas":1516},{"tools":1351,"descriptions":1352,"aliases":1353,"see_all":27},[],{},{},{"tools":1355,"descriptions":1356,"aliases":1357,"see_all":27},[],{},{},{"tools":1359,"descriptions":1360,"aliases":1361,"see_all":27},[],{},{},{"tools":1363,"descriptions":1364,"aliases":1365,"see_all":27},[],{},{},{"tools":1367,"descriptions":1368,"aliases":1369,"see_all":27},[],{},{},{"tools":1371,"descriptions":1372,"aliases":1373,"see_all":27},[],{},{},{"tools":1375,"descriptions":1376,"aliases":1377,"see_all":27},[],{},{},{"tools":1379,"descriptions":1380,"aliases":1381,"see_all":27},[],{},{},{"tools":1383,"descriptions":1384,"aliases":1385,"see_all":27},[],{},{},{"tools":1387,"descriptions":1459,"aliases":1465,"see_all":1466},[1388,1400,1416,1428,1443],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":1389,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1390,"subcategory":1391,"categories":1392,"subcategories":1394,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1396,"score_reasonings":1399,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[1393],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1395],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1397,1398],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":1401,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1402,"subcategory":1403,"categories":1404,"subcategories":1406,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1408,"score_reasonings":1415,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[1405],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1407],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[1409,1410,1411,1412,1413,1414],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":1417,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1418,"subcategory":1419,"categories":1420,"subcategories":1422,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":1424,"score_reasonings":1427,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[1421],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1423],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1425,1426],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":1429,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1430,"subcategory":1431,"categories":1432,"subcategories":1434,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":1436,"score_reasonings":1442,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[1433],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1435],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[1437,1438,1439,1440,1441],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":1444,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1445,"subcategory":1446,"categories":1447,"subcategories":1449,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":1451,"score_reasonings":1458,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[1448],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1450],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[1452,1453,1454,1455,1456,1457],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":1460,"digitalocean":1461,"hostinger":1462,"aws":1463,"gcp":1464},"A flat-rate root VPS with 4 GB instances from around €5\u002Fmo, on x86 or ARM; both meet ClickHouse's CPU requirement. 4 GB is the size that gives ClickHouse room on a site with real traffic, and the price leaves room to grow the disk as event data accumulates.","A root Droplet with snapshots and a cloud firewall in the panel. The 2 GB Droplet (about $12\u002Fmo) meets Plausible's recommended floor, and the 4 GB tier (about $24\u002Fmo) is the comfortable size once traffic grows. DigitalOcean has no managed ClickHouse, so both databases run on the Droplet.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo) already includes 4 GB of memory, the size Plausible's founders point to for real sites. That makes it the cheapest way to run ClickHouse with headroom, with fewer regions than the larger providers and backups left to you.","An EC2 instance at roughly $15-30\u002Fmo for 2-4 GB, with EBS volumes for the two databases and snapshots for backup. It fits when your sites already run on AWS. An Application Load Balancer with AWS Certificate Manager can take over TLS from Plausible's built-in certificates; RDS could hold the PostgreSQL side, but ClickHouse still runs on the instance.","A Compute Engine instance at roughly $15-30\u002Fmo for 2-4 GB, with persistent disks for the two databases. It fits when your sites already run on Google Cloud. Cloud Load Balancing with Google-managed certificates can take over TLS from Plausible's built-in certificates, and ClickHouse still runs on the instance.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":1468,"descriptions":1511,"aliases":1515,"see_all":27},[1469,1483,1497],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":1470,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1471,"subcategory":1472,"categories":1473,"subcategories":1475,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":1477,"score_reasonings":1482,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1474],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1476],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1478,1479,1480,1481],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":1484,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1485,"subcategory":1486,"categories":1487,"subcategories":1489,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":1491,"score_reasonings":1496,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1488],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1490],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1492,1493,1494,1495],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":1498,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1499,"subcategory":1500,"categories":1501,"subcategories":1503,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":1505,"score_reasonings":1510,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1502],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1504],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1506,1507,1508,1509],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":1512,"caddy":1513,"nginx":1514},"Routes to the Plausible container from Docker labels and renews certificates on its own, in place of Plausible's built-in HTTPS. Set Plausible's HTTP_PORT to an internal port and make sure X-Forwarded-For reaches it: Plausible uses the visitor's IP for location and unique-visitor counts.","Automatic HTTPS from a few lines of config, in place of Plausible's built-in certificates. Caddy forwards X-Forwarded-For and WebSocket connections by default, so visitor locations and the live dashboard work without extra headers.","The most familiar proxy, and the one Plausible's community wiki documents, with TLS through Certbot. Forward X-Forwarded-For for visitor IPs, and add the HTTP\u002F1.1 upgrade headers on the \u002Flive\u002Fwebsocket path, or the real-time view stops updating.",{},{"tools":1517,"descriptions":1550,"aliases":1553,"see_all":27},[1518,1534],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":1519,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1520,"subcategory":1521,"categories":1522,"subcategories":1524,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":1526,"score_reasonings":1533,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[1523],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1525],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[1527,1528,1529,1530,1531,1532],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":1535,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1536,"subcategory":1537,"categories":1538,"subcategories":1540,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":1542,"score_reasonings":1549,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[1539],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1541],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[1543,1544,1545,1546,1547,1548],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":1551,"dokploy":1552},"Free and self-hosted, with a Plausible template that deploys the app with ClickHouse and PostgreSQL behind Coolify's bundled proxy. It saves writing the Compose file, and Coolify's dashboard then manages Plausible next to the sites it tracks.","Free and self-hosted, with Plausible in its template catalog, deployed behind its bundled Traefik with HTTPS configured from the dashboard. Check that its backups cover both the ClickHouse and PostgreSQL volumes, since the events live in one and the accounts in the other.",{},{"tunnel":1555},{"tools":1556,"descriptions":1581,"aliases":1584,"preface":862,"see_all":27},[1557,1569],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":1558,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1559,"subcategory":1560,"categories":1561,"subcategories":1563,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":1565,"score_reasonings":1568,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[1562],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1564],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[1566,1567],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":1570,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1571,"subcategory":1572,"categories":1573,"subcategories":1575,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":1577,"score_reasonings":1580,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[1574],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1576],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[1578,1579],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":1582,"ngrok":1583},"Makes Plausible reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for a server on a home network or behind NAT. The tunnel handles TLS, so turn off Plausible's own certificate request, and check that the visitor's IP still arrives in X-Forwarded-For.","The quicker-start tunnel for testing the tracking script, goals, and custom events against a Plausible instance on your own machine. Its free-tier limits suit development rather than a collector that live websites call on every page view.",{},{"exposure":1586},{"name":899,"option_types":1587},[901,902],[],{"stack_id":1590,"name":1591,"slug":1592,"description":1593,"experience_level":909,"project_type":910,"stack_type":1594,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":1595,"stack_data":1596,"resolved_tools":1602,"options":1670,"additions":1896,"option_groups":1927,"multi_select_option_types":1930},153,"Umami Self-Hosted","umami-self-hosted","Self-host Umami for cookie-free website analytics with no third party receiving your visitors' data. One Umami container records page views, referrers, and custom events into PostgreSQL, and Docker makes the pair quick to deploy on a small VPS or container platform.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},101,{"Databases":1597,"DevOps & CI\u002FCD":1598,"Hosting & Cloud":1599,"Observability & Monitoring":1600},[158],[224],[226],[1601],171,{"Databases":1603,"DevOps & CI\u002FCD":1618,"Hosting & Cloud":1634,"Observability & Monitoring":1647},[1604],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":1605,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1606,"subcategory":1607,"categories":1608,"subcategories":1610,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":1612,"score_reasonings":1617,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[1609],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[1611],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[1613,1614,1615,1616],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},[1619],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":1620,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1621,"subcategory":1622,"categories":1623,"subcategories":1625,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":1627,"score_reasonings":1633,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[1624],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1626],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[1628,1629,1630,1631,1632],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[1635],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":1636,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1637,"subcategory":1638,"categories":1639,"subcategories":1641,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1643,"score_reasonings":1646,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[1640],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1642],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1644,1645],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},[1648],{"tool_id":1601,"name":1649,"slug":1650,"tooltip_description":1651,"logo_url":1652,"logo_bg":74,"pricing_model":1653,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1654,"subcategory":1655,"categories":1656,"subcategories":1658,"flexibility_score":49,"performance_score":62,"portability_score":62,"is_featured":63,"tags":1660,"score_reasonings":1664,"published_date":269,"last_updated_date":168},"Umami","umami","Open-source, privacy-focused web analytics platform that provides GDPR-compliant tracking without cookies or personal data collection — a lightweight alternative to Google Analytics.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fumami.svg",{"slug":76,"display_name":77,"description":78},{"category_id":1329,"name":1330,"slug":1331},{"subcategory_id":1333,"name":1334,"slug":1335},[1657],{"category_id":1329,"name":1330,"slug":1331,"is_primary":3,"display_order":7},[1659],{"subcategory_id":1333,"name":1334,"slug":1335,"category_id":1329,"is_primary":3,"display_order":7},[1661,1662,1663],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":1665,"flexibility":1666,"performance":1667,"popularity":1668,"portability":1669},"Umami's setup is among the fastest in the analytics category — a Docker Compose deployment produces a working instance in under five minutes, and Umami Cloud eliminates infrastructure concerns entirely. The dashboard is intentionally minimal, making key metrics immediately readable without training. Non-technical users occasionally need help with initial database configuration for self-hosted deployments, but the cloud option removes this friction.","Umami covers the core web analytics surface area well and supports custom events and API access. However, it intentionally avoids complexity: there is no advanced segmentation engine, no report builder, no custom dimensions beyond event properties, and no integration marketplace. Teams needing deep behavioral analysis or complex attribution models will hit its ceiling. Open-source access allows developers to extend the codebase, partially offsetting these limitations.","The 2 KB tracking script loads asynchronously and has a negligible impact on host page performance. Dashboard queries are fast on typical self-hosted hardware. A single low-cost VPS handles hundreds of thousands of monthly events without issue. The lightweight architecture is a core design principle, making it one of the most resource-efficient web analytics tools available.","With over 36,000 GitHub stars and thousands of forks, Umami is consistently cited as the leading privacy-focused open-source alternative to Google Analytics. It has broad coverage across developer communities on Hacker News, Reddit, and ProductHunt, and maintains active release momentum. Adoption is particularly strong among independent developers, small SaaS products, and privacy-conscious organizations.","MIT-licensed and self-hostable on any infrastructure — VPS, Docker, Kubernetes, or serverless environments. All data is stored in a standard PostgreSQL or MySQL database owned by the operator, with no proprietary format or export restrictions. Teams can migrate between self-hosted and Umami Cloud freely. There is no vendor lock-in by design.",{"database":1671,"orm":1675,"authentication":1679,"analytics":1683,"coding_agent":1687,"llm":1691,"language":1695,"frontend_framework":1699,"cms":1703,"hosting":1707,"reverse_proxy":1809,"self_hosted_paas":1858},{"tools":1672,"descriptions":1673,"aliases":1674,"see_all":27},[],{},{},{"tools":1676,"descriptions":1677,"aliases":1678,"see_all":27},[],{},{},{"tools":1680,"descriptions":1681,"aliases":1682,"see_all":27},[],{},{},{"tools":1684,"descriptions":1685,"aliases":1686,"see_all":27},[],{},{},{"tools":1688,"descriptions":1689,"aliases":1690,"see_all":27},[],{},{},{"tools":1692,"descriptions":1693,"aliases":1694,"see_all":27},[],{},{},{"tools":1696,"descriptions":1697,"aliases":1698,"see_all":27},[],{},{},{"tools":1700,"descriptions":1701,"aliases":1702,"see_all":27},[],{},{},{"tools":1704,"descriptions":1705,"aliases":1706,"see_all":27},[],{},{},{"tools":1708,"descriptions":1800,"aliases":1807,"see_all":1808},[1709,1721,1735,1751,1763,1789],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":1710,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1711,"subcategory":1712,"categories":1713,"subcategories":1715,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1717,"score_reasonings":1720,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[1714],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1716],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1718,1719],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":1073,"name":1074,"slug":1075,"tooltip_description":1076,"logo_url":1077,"logo_bg":74,"pricing_model":1722,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1723,"subcategory":1724,"categories":1725,"subcategories":1727,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":1729,"score_reasonings":1734,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[1726],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1728],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[1730,1731,1732,1733],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"learning_curve":1091,"performance":1092,"portability":1093,"flexibility":1094,"popularity":1095},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":1736,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1737,"subcategory":1738,"categories":1739,"subcategories":1741,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":1743,"score_reasonings":1750,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[1740],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1742],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[1744,1745,1746,1747,1748,1749],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":1752,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1753,"subcategory":1754,"categories":1755,"subcategories":1757,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":1759,"score_reasonings":1762,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[1756],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1758],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[1760,1761],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":1764,"name":1765,"slug":1766,"tooltip_description":1767,"logo_url":1768,"logo_bg":74,"pricing_model":1769,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1770,"subcategory":1771,"categories":1772,"subcategories":1774,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":1776,"score_reasonings":1783,"published_date":269,"last_updated_date":168},168,"Render","render","Fully managed cloud platform with Git-push deployments, managed Postgres, static sites, background workers, and cron jobs, all from one dashboard without writing infrastructure code.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Frender.svg",{"slug":76,"display_name":77,"description":78},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[1773],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1775],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[1777,1778,1779,1780,1781,1782],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":1784,"flexibility":1785,"performance":1786,"popularity":1787,"portability":1788},"Render is among the most beginner-accessible deployment platforms available. No Dockerfile, no CLI, no YAML — connect a repo, and the platform builds and deploys automatically. The dashboard is clean and self-explanatory. Developers new to cloud deployment consistently cite Render as the easiest on-ramp to production hosting.","Covers the standard web app deployment pattern well: HTTP services, workers, cron, databases, and static sites. Docker is supported, and private networking is first-class. However the platform does not offer managed Kubernetes, GPU machines, or fine-grained infrastructure control. Advanced networking, multi-region active-active, and custom VM configurations are out of scope.","Flat-rate VMs with up to 32 GB RAM and 8 CPUs are available for demanding workloads, and zero-downtime deploys keep services live during updates. The free tier's 30–50 second cold start after inactivity is a significant limitation for demos and hobby projects, but paid tiers are always-on. Performance is competitive for a PaaS but not benchmark-leading.","Render is the most commonly cited Heroku replacement in developer communities as of 2026. It appears regularly in Reddit discussions, dev tooling newsletters, and startup stack comparisons. Growth has been strong since Heroku removed its free tier in 2022, though it remains smaller than Railway in developer mindshare.","Workloads on Render can be containerised and moved to any Docker-compatible host with modest effort. Managed Postgres exports standard pg_dump files. However the per-service model and render.yaml configuration are Render-specific; migrating a multi-service app requires translating cron, worker, and networking config into a new platform's conventions.",{"tool_id":646,"name":647,"slug":648,"tooltip_description":649,"logo_url":650,"logo_bg":44,"pricing_model":1790,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1791,"subcategory":1792,"categories":1793,"subcategories":1795,"flexibility_score":61,"performance_score":109,"portability_score":49,"is_featured":63,"tags":1797,"score_reasonings":1799,"published_date":168,"last_updated_date":27},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":654,"name":655,"slug":656},[1794],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1796],{"subcategory_id":654,"name":655,"slug":656,"category_id":62,"is_primary":3,"display_order":7},[1798],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"learning_curve":664,"flexibility":665,"performance":666,"popularity":667,"portability":668},{"hetzner":1801,"railway":1802,"digitalocean":1803,"hostinger":1804,"render":1805,"raspberry-pi":1806},"A flat-rate root VPS from around €4-5\u002Fmo, and Umami with PostgreSQL fits the smallest instance with room to spare. The cheapest way to track many sites with no event caps, with the usual root-VPS tradeoff: database backups and security updates are yours to run.","Umami's hosting guides include Railway, which runs the app with managed PostgreSQL in the same project and redeploys on each new release. Railway terminates TLS itself, so the reverse proxy or PaaS choice doesn't apply. The $5\u002Fmo Hobby plan plus usage typically lands a small Umami instance with its database around $10\u002Fmo.","A root Droplet from about $6\u002Fmo with snapshots and a cloud firewall in the panel. Its managed PostgreSQL (from about $15\u002Fmo) can hold Umami's event data with automated backups if you'd rather not run the database yourself, which more than doubles the bill of a stack this light.","The budget VPS in the list, with KVM plans from about $6.50\u002Fmo. The entry plan's 4 GB of memory is several times what Umami and PostgreSQL need, so the same server can host the sites being tracked as well. Fewer regions than the larger providers, and backups are yours to set up.","Umami's hosting guides include Render, which runs the app as a web service with managed PostgreSQL and TLS terminated at the platform. Skip the free tier: it sleeps when idle, and every visit that arrives while the collector wakes up goes unrecorded. The $7\u002Fmo Starter instance plus a small database runs about $13\u002Fmo.","Umami publishes multi-arch images, so the same container runs on a Pi 4 or 5 with PostgreSQL beside it and no monthly bill. Home connections are the weak point for a collector that public websites call on every page view, so pair it with the tunnel addition and accept that a home outage drops those visits.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":1810,"descriptions":1853,"aliases":1857,"see_all":27},[1811,1825,1839],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":1812,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1813,"subcategory":1814,"categories":1815,"subcategories":1817,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":1819,"score_reasonings":1824,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1816],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1818],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1820,1821,1822,1823],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":1826,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1827,"subcategory":1828,"categories":1829,"subcategories":1831,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":1833,"score_reasonings":1838,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1830],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1832],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1834,1835,1836,1837],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":1840,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1841,"subcategory":1842,"categories":1843,"subcategories":1845,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":1847,"score_reasonings":1852,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[1844],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1846],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[1848,1849,1850,1851],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":1854,"caddy":1855,"nginx":1856},"Routes to the Umami container from Docker labels and renews Let's Encrypt certificates on its own. Make sure it forwards the visitor's real IP in X-Forwarded-For: Umami derives country and the visitor hash from it, and without it every visit looks like it came from the proxy.","Automatic HTTPS from a few lines of config, the simplest fit for one Umami container. Caddy sets X-Forwarded-For by default, so Umami sees each visitor's real IP for location and unique-visitor counts without extra configuration.","The most familiar proxy, with TLS through Certbot. Pass the visitor's address explicitly with X-Forwarded-For or X-Real-IP; Umami's CLIENT_IP_HEADER setting covers a non-standard header if your setup uses one.",{},{"tools":1859,"descriptions":1892,"aliases":1895,"see_all":27},[1860,1876],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":1861,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1862,"subcategory":1863,"categories":1864,"subcategories":1866,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":1868,"score_reasonings":1875,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[1865],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1867],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[1869,1870,1871,1872,1873,1874],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":1877,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1878,"subcategory":1879,"categories":1880,"subcategories":1882,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":1884,"score_reasonings":1891,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[1881],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[1883],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[1885,1886,1887,1888,1889,1890],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":1893,"dokploy":1894},"Free and self-hosted, with a one-click Umami template that provisions PostgreSQL beside it and HTTPS through Coolify's bundled proxy. Coolify can also host the websites being tracked, so the collector and the sites share one dashboard and one server.","Free and self-hosted, with Umami in its template catalog, deployed behind its bundled Traefik with HTTPS configured from the dashboard. Check that Dokploy's scheduled backups cover the PostgreSQL volume, since that database is every visit you've ever recorded.",{},{"tunnel":1897},{"tools":1898,"descriptions":1923,"aliases":1926,"preface":862,"see_all":27},[1899,1911],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":1900,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1901,"subcategory":1902,"categories":1903,"subcategories":1905,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":1907,"score_reasonings":1910,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[1904],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1906],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[1908,1909],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":1912,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1913,"subcategory":1914,"categories":1915,"subcategories":1917,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":1919,"score_reasonings":1922,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[1916],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[1918],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[1920,1921],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":1924,"ngrok":1925},"Makes Umami reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for a collector on a Pi or home server. Cloudflare sends the visitor's address in its CF-Connecting-IP header; point Umami's CLIENT_IP_HEADER at it so locations and visitor counts stay correct.","The quicker-start tunnel for testing the tracking script and custom events against an Umami instance on your own machine. Its free-tier limits suit development rather than a collector that live websites call on every page view.",{},{"exposure":1928},{"name":899,"option_types":1929},[901,902],[],{"stack_id":1932,"name":1933,"slug":1934,"description":1935,"experience_level":909,"project_type":1936,"stack_type":1937,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":1938,"stack_data":1939,"resolved_tools":1945,"options":2027,"additions":2244,"option_groups":2275,"multi_select_option_types":2278},154,"Metabase Self-Hosted","metabase-self-hosted","Deploy Metabase on your own server so your team's business data never leaves your infrastructure. PostgreSQL stores Metabase's own configuration and user settings. Docker makes upgrades and rollbacks straightforward. Connect Metabase to any database already in your stack.","dashboard",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},102,{"Databases":1940,"BI & Analytics":1941,"DevOps & CI\u002FCD":1943,"Hosting & Cloud":1944},[158],[1942],89,[224],[226],{"Databases":1946,"BI & Analytics":1961,"DevOps & CI\u002FCD":1998,"Hosting & Cloud":2014},[1947],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":1948,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1949,"subcategory":1950,"categories":1951,"subcategories":1953,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":1955,"score_reasonings":1960,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[1952],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[1954],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[1956,1957,1958,1959],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},[1962],{"tool_id":1942,"name":1963,"slug":1964,"tooltip_description":1965,"logo_url":1966,"logo_bg":44,"pricing_model":1967,"learning_curve_score":37,"popularity_score":109,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":1968,"subcategory":1972,"categories":1976,"subcategories":1978,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":1980,"score_reasonings":1992,"published_date":269,"last_updated_date":168},"Metabase","metabase","Metabase is an open-source BI tool that lets anyone in your company ask questions and explore data through an intuitive no-SQL interface, with optional embedded analytics for products.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fmetabase.svg",{"slug":76,"display_name":77,"description":78},{"category_id":1969,"name":1970,"slug":1971},16,"BI & Analytics","bi-analytics",{"subcategory_id":1973,"name":1974,"slug":1975},37,"BI Tools","bi-tools",[1977],{"category_id":1969,"name":1970,"slug":1971,"is_primary":3,"display_order":7},[1979],{"subcategory_id":1973,"name":1974,"slug":1975,"category_id":1969,"is_primary":3,"display_order":7},[1981,1982,1983,1984,1985,1988],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":1275,"name":1986,"slug":1987,"tag_type":297},"Data Visualization","data-visualization",{"tag_id":1989,"name":1990,"slug":1991,"tag_type":297},38,"Dashboards","dashboards",{"learning_curve":1993,"portability":1994,"flexibility":1995,"performance":1996,"popularity":1997},"Business users can run queries without SQL; self-service BI from day one.","Open source; SQL-based questions transfer; dashboard migration requires manual recreation.","Question builder and dashboards are flexible within Metabase's model; SQL mode unlocks more.","Adequate for business BI; complex queries on large datasets benefit from result caching.","Popular for internal BI dashboards; competes in a crowded field with established players.",[1999],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":2000,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2001,"subcategory":2002,"categories":2003,"subcategories":2005,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":2007,"score_reasonings":2013,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[2004],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2006],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[2008,2009,2010,2011,2012],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[2015],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":2016,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2017,"subcategory":2018,"categories":2019,"subcategories":2021,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2023,"score_reasonings":2026,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2020],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2022],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2024,2025],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":2028,"orm":2032,"authentication":2036,"analytics":2040,"coding_agent":2044,"llm":2048,"language":2052,"frontend_framework":2056,"cms":2060,"hosting":2064,"reverse_proxy":2157,"self_hosted_paas":2206},{"tools":2029,"descriptions":2030,"aliases":2031,"see_all":27},[],{},{},{"tools":2033,"descriptions":2034,"aliases":2035,"see_all":27},[],{},{},{"tools":2037,"descriptions":2038,"aliases":2039,"see_all":27},[],{},{},{"tools":2041,"descriptions":2042,"aliases":2043,"see_all":27},[],{},{},{"tools":2045,"descriptions":2046,"aliases":2047,"see_all":27},[],{},{},{"tools":2049,"descriptions":2050,"aliases":2051,"see_all":27},[],{},{},{"tools":2053,"descriptions":2054,"aliases":2055,"see_all":27},[],{},{},{"tools":2057,"descriptions":2058,"aliases":2059,"see_all":27},[],{},{},{"tools":2061,"descriptions":2062,"aliases":2063,"see_all":27},[],{},{},{"tools":2065,"descriptions":2148,"aliases":2155,"see_all":2156},[2066,2078,2094,2106,2117,2132],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":2067,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2068,"subcategory":2069,"categories":2070,"subcategories":2072,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2074,"score_reasonings":2077,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2071],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2073],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2075,2076],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":2079,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2080,"subcategory":2081,"categories":2082,"subcategories":2084,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2086,"score_reasonings":2093,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[2083],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2085],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[2087,2088,2089,2090,2091,2092],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":2095,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2096,"subcategory":2097,"categories":2098,"subcategories":2100,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":2102,"score_reasonings":2105,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2099],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2101],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2103,2104],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":646,"name":647,"slug":648,"tooltip_description":649,"logo_url":650,"logo_bg":44,"pricing_model":2107,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2108,"subcategory":2109,"categories":2110,"subcategories":2112,"flexibility_score":61,"performance_score":109,"portability_score":49,"is_featured":63,"tags":2114,"score_reasonings":2116,"published_date":168,"last_updated_date":27},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":654,"name":655,"slug":656},[2111],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2113],{"subcategory_id":654,"name":655,"slug":656,"category_id":62,"is_primary":3,"display_order":7},[2115],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"learning_curve":664,"flexibility":665,"performance":666,"popularity":667,"portability":668},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":2118,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2119,"subcategory":2120,"categories":2121,"subcategories":2123,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":2125,"score_reasonings":2131,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[2122],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2124],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[2126,2127,2128,2129,2130],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":2133,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2134,"subcategory":2135,"categories":2136,"subcategories":2138,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":2140,"score_reasonings":2147,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[2137],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2139],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[2141,2142,2143,2144,2145,2146],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":2149,"digitalocean":2150,"hostinger":2151,"raspberry-pi":2152,"aws":2153,"gcp":2154},"A flat-rate root VPS whose entry instance already has 4 GB of memory for around €4-5\u002Fmo, enough for Metabase's JVM and its PostgreSQL with room for a small team's concurrent dashboards. The cheapest way to meet the official sizing, with backups and upgrades left to you.","A root Droplet with snapshots and a cloud firewall in the panel, about $24\u002Fmo for the 4 GB that Metabase and PostgreSQL want together. Managed PostgreSQL (from about $15\u002Fmo) can hold the application database instead, which lets a 2 GB Droplet run Metabase alone.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo on a two-year term) has 4 GB of memory, which covers Metabase and PostgreSQL for a small team. Fewer regions than the larger providers, so check that one sits near the databases Metabase will query.","Metabase's official Docker image ships ARM64 builds, and a Pi 4 or 5 with 4 GB or more runs the JVM and PostgreSQL for a personal or small-team BI server, with no monthly bill. The tradeoff is query latency on large datasets: fine for dashboards over modest data, noticeable on heavy aggregations.","An EC2 instance at roughly $25-35\u002Fmo for 4 GB, placed next to data in Redshift or RDS so queries stay inside the VPC. RDS can host the application database with automated backups, and an Application Load Balancer with AWS Certificate Manager can handle TLS instead of the reverse proxy.","A Compute Engine instance at roughly $25-35\u002Fmo for 4 GB, close to BigQuery so dashboard queries stay low-latency. Cloud SQL can host the application database, and Cloud Load Balancing with Google-managed certificates can handle TLS instead of the reverse proxy.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":2158,"descriptions":2201,"aliases":2205,"see_all":27},[2159,2173,2187],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":2160,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2161,"subcategory":2162,"categories":2163,"subcategories":2165,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":2167,"score_reasonings":2172,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2164],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2166],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2168,2169,2170,2171],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":2174,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2175,"subcategory":2176,"categories":2177,"subcategories":2179,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":2181,"score_reasonings":2186,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2178],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2180],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2182,2183,2184,2185],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":2188,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2189,"subcategory":2190,"categories":2191,"subcategories":2193,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":2195,"score_reasonings":2200,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2192],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2194],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2196,2197,2198,2199],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":2202,"caddy":2203,"nginx":2204},"Routes to the Metabase container from Docker labels and renews Let's Encrypt certificates on its own. Set Metabase's Site URL to the public HTTPS address so links in alert emails and embedded dashboards point at the right host.","Automatic HTTPS from a few lines of config, the simplest fit for one Metabase container on port 3000. Caddy applies no short response timeout by default, so long-running questions over big tables finish instead of being cut off at the proxy.","The most familiar proxy, with TLS through Certbot. Raise proxy_read_timeout above its 60-second default, or slow questions over large tables fail at the proxy while Metabase is still waiting on the database.",{},{"tools":2207,"descriptions":2240,"aliases":2243,"see_all":27},[2208,2224],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":2209,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2210,"subcategory":2211,"categories":2212,"subcategories":2214,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":2216,"score_reasonings":2223,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[2213],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2215],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[2217,2218,2219,2220,2221,2222],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":2225,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2226,"subcategory":2227,"categories":2228,"subcategories":2230,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":2232,"score_reasonings":2239,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[2229],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2231],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[2233,2234,2235,2236,2237,2238],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":2241,"dokploy":2242},"Free and self-hosted, with a one-click Metabase template that provisions PostgreSQL beside it and HTTPS through Coolify's bundled proxy. Set the JVM heap in the service's environment so Metabase leaves room for PostgreSQL on the same server.","Free and self-hosted, with Metabase in its template catalog behind its bundled Traefik and HTTPS from the dashboard. Point Dokploy's scheduled backups at the PostgreSQL service, since that database is every question and dashboard your team has built.",{},{"tunnel":2245},{"tools":2246,"descriptions":2271,"aliases":2274,"preface":862,"see_all":27},[2247,2259],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":2248,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2249,"subcategory":2250,"categories":2251,"subcategories":2253,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":2255,"score_reasonings":2258,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[2252],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2254],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[2256,2257],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":2260,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2261,"subcategory":2262,"categories":2263,"subcategories":2265,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":2267,"score_reasonings":2270,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[2264],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2266],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[2268,2269],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":2272,"ngrok":2273},"Makes Metabase reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for a server inside a private network. Put Cloudflare Access in front unless dashboards are meant to be public, and set Metabase's Site URL to the tunnel hostname.","The quicker-start tunnel for sharing a dashboard or testing embedding from a Metabase on your own machine. Its free-tier limits suit that kind of temporary access rather than a team's everyday BI server.",{},{"exposure":2276},{"name":899,"option_types":2277},[901,902],[],{"stack_id":2280,"name":2281,"slug":2282,"description":2283,"experience_level":213,"project_type":2284,"stack_type":2285,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":2286,"stack_data":2287,"resolved_tools":2295,"options":2416,"additions":2621,"option_groups":2652,"multi_select_option_types":2655},155,"PostHog Self-Hosted","posthog-self-hosted","Self-host PostHog when product data must stay on infrastructure you control. The official Docker Compose deployment runs the PostHog services with PostgreSQL, ClickHouse, Kafka, and Redis on one large server, and it's built for modest volumes: PostHog recommends it below about 300,000 events a month.","web_app",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},103,{"Databases":2288,"DevOps & CI\u002FCD":2289,"Hosting & Cloud":2290,"Data Engineering & ETL":2291,"Observability & Monitoring":2293},[158,519,1246],[224],[226],[2292],133,[2294],170,{"Databases":2296,"DevOps & CI\u002FCD":2337,"Hosting & Cloud":2353,"Data Engineering & ETL":2366,"Observability & Monitoring":2393},[2297,2311,2324],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":2298,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2299,"subcategory":2300,"categories":2301,"subcategories":2303,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":2305,"score_reasonings":2310,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[2302],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[2304],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[2306,2307,2308,2309],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":519,"name":866,"slug":867,"tooltip_description":868,"logo_url":869,"logo_bg":44,"pricing_model":2312,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2313,"subcategory":2314,"categories":2315,"subcategories":2317,"flexibility_score":61,"performance_score":62,"portability_score":61,"is_featured":63,"tags":2319,"score_reasonings":2323,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":873,"name":874,"slug":875},[2316],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[2318],{"subcategory_id":873,"name":874,"slug":875,"category_id":61,"is_primary":3,"display_order":7},[2320,2321,2322],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":884,"name":885,"slug":886,"tag_type":156},{"learning_curve":888,"flexibility":889,"performance":890,"portability":891,"popularity":892},{"tool_id":1246,"name":1268,"slug":1269,"tooltip_description":1270,"logo_url":1271,"logo_bg":44,"pricing_model":2325,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2326,"subcategory":2327,"categories":2328,"subcategories":2330,"flexibility_score":61,"performance_score":62,"portability_score":61,"is_featured":63,"tags":2332,"score_reasonings":2336,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":1275,"name":1276,"slug":1277},[2329],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[2331],{"subcategory_id":1275,"name":1276,"slug":1277,"category_id":61,"is_primary":3,"display_order":7},[2333,2334,2335],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":1287,"flexibility":1288,"performance":1289,"popularity":1290,"portability":1291},[2338],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":2339,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2340,"subcategory":2341,"categories":2342,"subcategories":2344,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":2346,"score_reasonings":2352,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[2343],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2345],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[2347,2348,2349,2350,2351],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[2354],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":2355,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2356,"subcategory":2357,"categories":2358,"subcategories":2360,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2362,"score_reasonings":2365,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2359],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2361],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2363,2364],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},[2367],{"tool_id":2292,"name":2368,"slug":2369,"tooltip_description":2370,"logo_url":2371,"logo_bg":74,"pricing_model":2372,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2373,"subcategory":2376,"categories":2379,"subcategories":2381,"flexibility_score":62,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2383,"score_reasonings":2387,"published_date":269,"last_updated_date":168},"Apache Kafka","apache-kafka","Distributed event streaming platform for high-throughput, low-latency real-time data pipelines. The industry standard for building event-driven architectures and streaming ETL.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fapache-kafka.svg",{"slug":46,"display_name":47,"description":48},{"category_id":153,"name":2374,"slug":2375},"Data Engineering & ETL","data-engineering-etl",{"subcategory_id":943,"name":2377,"slug":2378},"Streaming","streaming",[2380],{"category_id":153,"name":2374,"slug":2375,"is_primary":3,"display_order":7},[2382],{"subcategory_id":943,"name":2377,"slug":2378,"category_id":153,"is_primary":3,"display_order":7},[2384,2385,2386],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":2388,"flexibility":2389,"portability":2390,"popularity":2391,"performance":2392},"Broker configuration, partition sizing, consumer group semantics, offset management, and schema registries all require significant hands-on experience before production readiness.","Handles any event type at any scale; 200+ Kafka Connect connectors cover every major source and sink; Streams API enables stateful real-time processing in the same ecosystem.","Apache 2.0 licensed; the Kafka API is an industry standard — Redpanda, Confluent, and MSK are all wire-compatible, meaning producers and consumers are reusable.","De facto standard for event streaming used at LinkedIn, Netflix, and Uber — but most applications never need streaming infrastructure, so its relevance is category-high rather than universal.","Proven at petabyte scale with sub-2ms publish latency, but JVM GC pauses and ZooKeeper overhead mean newer C++ engines like RedPanda benchmark with lower tail latency under comparable hardware.",[2394],{"tool_id":2294,"name":2395,"slug":2396,"tooltip_description":2397,"logo_url":2398,"logo_bg":44,"pricing_model":2399,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2400,"subcategory":2401,"categories":2402,"subcategories":2404,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":63,"tags":2406,"score_reasonings":2410,"published_date":269,"last_updated_date":168},"PostHog","posthog","All-in-one developer platform combining product analytics, session replay, feature flags, A\u002FB testing, and error tracking — deployable as cloud or self-hosted.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fposthog.svg",{"slug":76,"display_name":77,"description":78},{"category_id":1329,"name":1330,"slug":1331},{"subcategory_id":1333,"name":1334,"slug":1335},[2403],{"category_id":1329,"name":1330,"slug":1331,"is_primary":3,"display_order":7},[2405],{"subcategory_id":1333,"name":1334,"slug":1335,"category_id":1329,"is_primary":3,"display_order":7},[2407,2408,2409],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":2411,"flexibility":2412,"performance":2413,"popularity":2414,"portability":2415},"PostHog's quickstart and autocapture make initial setup straightforward for developers, and prebuilt dashboards reduce the barrier to first insights. However, unlocking advanced analytics requires learning HogQL (a SQL dialect), and the breadth of features — analytics, flags, replays, experiments, pipelines — creates a steep ramp for teams that want to use the platform fully. Non-technical product managers often find the interface complex and require hand-holding from engineers.","PostHog exposes SQL-based querying, unlimited custom events, extensive SDK coverage, 60+ data pipeline integrations, a public API, and full self-hosting support. Teams can build custom dashboards, define complex cohorts, and join PostHog data with external sources in the built-in data warehouse. The platform functions as a composable data stack rather than a fixed-schema SaaS tool.","Cloud deployments handle millions of events per month with fast query response times and reliable uptime. Real-time alerting and dashboard refresh rates are responsive for typical production workloads. Self-hosted deployments are recommended only up to ~100K events\u002Fmonth on hobby setups, beyond which cloud is more appropriate. Some users report occasional query slowdowns on very large datasets.","PostHog has over 34,000 GitHub stars and a rapidly growing community of engineering-led teams. It is frequently cited in developer communities (Hacker News, Reddit) as the de-facto open-source alternative to Amplitude and Mixpanel. Strong Y Combinator backing and active open-source contributions signal broad adoption, though enterprise penetration is still growing relative to legacy analytics vendors.","Released under the MIT license with a fully self-hostable architecture, PostHog gives teams complete ownership of their event data. Migration paths exist for moving between cloud and self-hosted deployments, and data can be exported via the warehouse or pipeline integrations. No proprietary data formats or API lock-in — teams can switch tooling without losing historical data.",{"database":2417,"orm":2421,"authentication":2425,"analytics":2429,"coding_agent":2433,"llm":2437,"language":2441,"frontend_framework":2445,"cms":2449,"hosting":2453,"reverse_proxy":2534,"self_hosted_paas":2583},{"tools":2418,"descriptions":2419,"aliases":2420,"see_all":27},[],{},{},{"tools":2422,"descriptions":2423,"aliases":2424,"see_all":27},[],{},{},{"tools":2426,"descriptions":2427,"aliases":2428,"see_all":27},[],{},{},{"tools":2430,"descriptions":2431,"aliases":2432,"see_all":27},[],{},{},{"tools":2434,"descriptions":2435,"aliases":2436,"see_all":27},[],{},{},{"tools":2438,"descriptions":2439,"aliases":2440,"see_all":27},[],{},{},{"tools":2442,"descriptions":2443,"aliases":2444,"see_all":27},[],{},{},{"tools":2446,"descriptions":2447,"aliases":2448,"see_all":27},[],{},{},{"tools":2450,"descriptions":2451,"aliases":2452,"see_all":27},[],{},{},{"tools":2454,"descriptions":2526,"aliases":2532,"see_all":2533},[2455,2467,2483,2495,2510],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":2456,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2457,"subcategory":2458,"categories":2459,"subcategories":2461,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2463,"score_reasonings":2466,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2460],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2462],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2464,2465],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":2468,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2469,"subcategory":2470,"categories":2471,"subcategories":2473,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2475,"score_reasonings":2482,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[2472],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2474],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[2476,2477,2478,2479,2480,2481],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":2484,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2485,"subcategory":2486,"categories":2487,"subcategories":2489,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":2491,"score_reasonings":2494,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2488],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2490],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2492,2493],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":2496,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2497,"subcategory":2498,"categories":2499,"subcategories":2501,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":2503,"score_reasonings":2509,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[2500],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2502],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[2504,2505,2506,2507,2508],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":2511,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2512,"subcategory":2513,"categories":2514,"subcategories":2516,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":2518,"score_reasonings":2525,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[2515],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2517],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[2519,2520,2521,2522,2523,2524],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":2527,"digitalocean":2528,"hostinger":2529,"aws":2530,"gcp":2531},"PostHog's own docs describe the target as a Hetzner-class VM with 4 vCPUs and 16 GB, and a 16 GB instance there costs around €20\u002Fmo. That makes a flat-rate root VPS the cheapest way to meet the official floor, with backups and upgrades of the whole bundle left to you.","A root Droplet with snapshots and a cloud firewall in the panel. Meeting PostHog's 16 GB floor means a larger Droplet, about $96\u002Fmo, several times the VPS price elsewhere in this list; it fits teams already running on DigitalOcean who want PostHog in the same account and region.","The budget path to the 16 GB floor: Hostinger's KVM plan with 4 vCPUs and 16 GB costs a fraction of the big clouds, often under $20\u002Fmo on a long term. Fewer regions than the larger providers, and with around 40 containers on the box, snapshots before each upgrade matter.","An EC2 instance with 4 vCPUs and 16 GB runs well over $100\u002Fmo on demand, plus EBS volumes for ClickHouse and PostgreSQL. It fits when the data must stay inside an existing AWS account or VPC. An Application Load Balancer with AWS Certificate Manager can take over TLS from the bundled Caddy.","A Compute Engine instance with 4 vCPUs and 16 GB costs around $100\u002Fmo, plus persistent disks for ClickHouse and PostgreSQL. It fits when the data must stay inside an existing Google Cloud project. Cloud Load Balancing with Google-managed certificates can take over TLS from the bundled Caddy.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":2535,"descriptions":2578,"aliases":2582,"see_all":27},[2536,2550,2564],{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":2537,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2538,"subcategory":2539,"categories":2540,"subcategories":2542,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":2544,"score_reasonings":2549,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2541],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2543],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2545,2546,2547,2548],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":2551,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2552,"subcategory":2553,"categories":2554,"subcategories":2556,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":2558,"score_reasonings":2563,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2555],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2557],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2559,2560,2561,2562],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":2565,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2566,"subcategory":2567,"categories":2568,"subcategories":2570,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":2572,"score_reasonings":2577,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2569],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2571],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2573,2574,2575,2576],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"caddy":2579,"traefik":2580,"nginx":2581},"What PostHog's install script already sets up: a Caddy container that requests a Let's Encrypt certificate for your domain and routes capture, replay, flags, and the web app. Choosing it means keeping the official configuration, the least work to maintain across upgrades.","Replaces the Caddy container PostHog's install script sets up, for servers that already route everything through Traefik. Route the whole domain to PostHog's proxy service rather than to individual containers, since capture, replay, flags, and the web app are separate services behind one hostname.","For servers where NGINX already fronts other sites: point it at PostHog's internal proxy and let that route to the individual services. Forward the client IP and raise the request body limit, since session recordings arrive as large compressed payloads.",{},{"tools":2584,"descriptions":2617,"aliases":2620,"see_all":27},[2585,2601],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":2586,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2587,"subcategory":2588,"categories":2589,"subcategories":2591,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":2593,"score_reasonings":2600,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[2590],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2592],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[2594,2595,2596,2597,2598,2599],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":2602,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2603,"subcategory":2604,"categories":2605,"subcategories":2607,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":2609,"score_reasonings":2616,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[2606],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2608],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[2610,2611,2612,2613,2614,2615],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":2618,"dokploy":2619},"Free and self-hosted, and able to run a Docker Compose deployment behind its bundled proxy. PostHog's Compose file is large and changes between releases, so running it through Coolify means re-syncing that file on each upgrade instead of using PostHog's upgrade script.","Free and self-hosted, with Compose deployments behind its bundled Traefik. The same caveat as Coolify applies: PostHog's roughly 40-container file changes between releases, and its upgrade script assumes the official layout, so expect to maintain the Compose file yourself.",{},{"tunnel":2622},{"tools":2623,"descriptions":2648,"aliases":2651,"preface":862,"see_all":27},[2624,2636],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":2625,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2626,"subcategory":2627,"categories":2628,"subcategories":2630,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":2632,"score_reasonings":2635,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[2629],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2631],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[2633,2634],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":2637,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2638,"subcategory":2639,"categories":2640,"subcategories":2642,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":2644,"score_reasonings":2647,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[2641],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2643],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[2645,2646],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":2649,"ngrok":2650},"Makes PostHog reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for an instance inside a private network. The tunnel terminates TLS, so disable the bundled Caddy's certificate request and point the tunnel at PostHog's proxy service.","The quicker-start tunnel for testing the PostHog SDKs, feature flags, and recordings from a local app against an instance on your own machine. Its free-tier limits suit development rather than a production capture endpoint.",{},{"exposure":2653},{"name":899,"option_types":2654},[901,902],[],{"stack_id":2657,"name":2658,"slug":2659,"description":2660,"experience_level":909,"project_type":910,"stack_type":2661,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":2662,"stack_data":2663,"resolved_tools":2669,"options":2750,"additions":2970,"option_groups":3001,"multi_select_option_types":3004},156,"Strapi Self-Hosted","strapi-self-hosted","Run Strapi as your own headless CMS with no API-request, seat, or asset limits. Content types become REST and GraphQL endpoints, PostgreSQL stores every entry, and a Docker image you build from your Strapi project keeps the Node service portable across servers.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},104,{"CMS":2664,"Databases":2666,"DevOps & CI\u002FCD":2667,"Hosting & Cloud":2668},[2665],88,[158],[224],[226],{"CMS":2670,"Databases":2706,"DevOps & CI\u002FCD":2721,"Hosting & Cloud":2737},[2671],{"tool_id":2665,"name":2672,"slug":2673,"tooltip_description":2674,"logo_url":2675,"logo_bg":74,"pricing_model":2676,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2677,"subcategory":2678,"categories":2681,"subcategories":2683,"flexibility_score":62,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2685,"score_reasonings":2700,"published_date":269,"last_updated_date":168},"Strapi","strapi","Open-source headless CMS that gives developers the freedom to use their favorite tools and frameworks.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fstrapi.svg",{"slug":76,"display_name":77,"description":78},{"category_id":359,"name":928,"slug":929},{"subcategory_id":294,"name":2679,"slug":2680},"Headless CMS","headless-cms",[2682],{"category_id":359,"name":928,"slug":929,"is_primary":3,"display_order":7},[2684],{"subcategory_id":294,"name":2679,"slug":2680,"category_id":359,"is_primary":3,"display_order":7},[2686,2689,2692,2693,2694,2695,2699],{"tag_id":109,"name":2687,"slug":2688,"tag_type":253},"JavaScript","javascript",{"tag_id":49,"name":2690,"slug":2691,"tag_type":253},"TypeScript","typescript",{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":2696,"name":2697,"slug":2698,"tag_type":297},30,"API Development","api-development",{"tag_id":943,"name":944,"slug":945,"tag_type":297},{"learning_curve":2701,"portability":2702,"flexibility":2703,"performance":2704,"popularity":2705},"Admin UI is approachable but content types, custom plugins, and middleware take time.","Open source with REST and GraphQL; content model is exportable and migration is feasible.","Fully customizable content types, custom API routes, plugins, and lifecycle hooks.","Node.js and Koa backend; REST and GraphQL responses are fast for typical CMS workloads.","Popular open-source headless CMS; widely used for content-driven and API-first projects.",[2707],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":2708,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2709,"subcategory":2710,"categories":2711,"subcategories":2713,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":2715,"score_reasonings":2720,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[2712],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[2714],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[2716,2717,2718,2719],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},[2722],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":2723,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2724,"subcategory":2725,"categories":2726,"subcategories":2728,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":2730,"score_reasonings":2736,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[2727],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2729],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[2731,2732,2733,2734,2735],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[2738],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":2739,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2740,"subcategory":2741,"categories":2742,"subcategories":2744,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2746,"score_reasonings":2749,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2743],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2745],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2747,2748],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":2751,"orm":2755,"authentication":2759,"analytics":2763,"coding_agent":2767,"llm":2771,"language":2775,"frontend_framework":2779,"cms":2783,"hosting":2787,"reverse_proxy":2883,"self_hosted_paas":2932},{"tools":2752,"descriptions":2753,"aliases":2754,"see_all":27},[],{},{},{"tools":2756,"descriptions":2757,"aliases":2758,"see_all":27},[],{},{},{"tools":2760,"descriptions":2761,"aliases":2762,"see_all":27},[],{},{},{"tools":2764,"descriptions":2765,"aliases":2766,"see_all":27},[],{},{},{"tools":2768,"descriptions":2769,"aliases":2770,"see_all":27},[],{},{},{"tools":2772,"descriptions":2773,"aliases":2774,"see_all":27},[],{},{},{"tools":2776,"descriptions":2777,"aliases":2778,"see_all":27},[],{},{},{"tools":2780,"descriptions":2781,"aliases":2782,"see_all":27},[],{},{},{"tools":2784,"descriptions":2785,"aliases":2786,"see_all":27},[],{},{},{"tools":2788,"descriptions":2874,"aliases":2881,"see_all":2882},[2789,2801,2815,2831,2847,2859],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":2790,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2791,"subcategory":2792,"categories":2793,"subcategories":2795,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2797,"score_reasonings":2800,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2794],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2796],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2798,2799],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":1073,"name":1074,"slug":1075,"tooltip_description":1076,"logo_url":1077,"logo_bg":74,"pricing_model":2802,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2803,"subcategory":2804,"categories":2805,"subcategories":2807,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":2809,"score_reasonings":2814,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[2806],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2808],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[2810,2811,2812,2813],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"learning_curve":1091,"performance":1092,"portability":1093,"flexibility":1094,"popularity":1095},{"tool_id":1764,"name":1765,"slug":1766,"tooltip_description":1767,"logo_url":1768,"logo_bg":74,"pricing_model":2816,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2817,"subcategory":2818,"categories":2819,"subcategories":2821,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":2823,"score_reasonings":2830,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[2820],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2822],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[2824,2825,2826,2827,2828,2829],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":1784,"flexibility":1785,"performance":1786,"popularity":1787,"portability":1788},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":2832,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2833,"subcategory":2834,"categories":2835,"subcategories":2837,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":2839,"score_reasonings":2846,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[2836],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2838],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[2840,2841,2842,2843,2844,2845],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":2848,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2849,"subcategory":2850,"categories":2851,"subcategories":2853,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":2855,"score_reasonings":2858,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[2852],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2854],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[2856,2857],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":2860,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2861,"subcategory":2862,"categories":2863,"subcategories":2865,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":2867,"score_reasonings":2873,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[2864],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2866],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[2868,2869,2870,2871,2872],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"hetzner":2875,"railway":2876,"render":2877,"digitalocean":2878,"hostinger":2879,"aws":2880},"A flat-rate root VPS with 4 GB instances from around €5\u002Fmo, Strapi's recommended size with PostgreSQL on the same box. Build the Docker image in CI and pull it on the server, so the admin panel's build never competes with the running CMS for memory.","Railway has a Strapi template that deploys the project with PostgreSQL in the same service group and redeploys on git push. Add a volume for the uploads folder, or switch to an S3 upload provider, since the container's own disk resets on each deploy. Railway terminates TLS itself, so the reverse proxy or PaaS choice doesn't apply. Hobby is $5\u002Fmo plus usage.","Runs Strapi as a web service with Render's managed PostgreSQL and TLS at the platform. Strapi's 2 GB floor means the Standard instance (about $25\u002Fmo) rather than the 512 MB Starter, plus a persistent disk for uploads or an S3 upload provider, and the database on top.","A root Droplet with snapshots and a cloud firewall in the panel: about $12\u002Fmo for 2 GB, Strapi's minimum, or $24\u002Fmo for the recommended 4 GB. Managed PostgreSQL (from about $15\u002Fmo) and Spaces for the upload provider move the content and media off the Droplet.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo) already has 4 GB of memory, Strapi's recommended size, so it can even build the admin panel on the server. Fewer regions than the larger providers, and backups are yours to set up.","An EC2 instance at roughly $25-35\u002Fmo for 4 GB. It fits when the rest of the product already runs on AWS: RDS can hold the PostgreSQL database, S3 with Strapi's upload provider holds media, and an Application Load Balancer with AWS Certificate Manager can handle TLS instead of the reverse proxy.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":2884,"descriptions":2927,"aliases":2931,"see_all":27},[2885,2899,2913],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":2886,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2887,"subcategory":2888,"categories":2889,"subcategories":2891,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":2893,"score_reasonings":2898,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2890],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2892],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2894,2895,2896,2897],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":2900,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2901,"subcategory":2902,"categories":2903,"subcategories":2905,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":2907,"score_reasonings":2912,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2904],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2906],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2908,2909,2910,2911],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":2914,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2915,"subcategory":2916,"categories":2917,"subcategories":2919,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":2921,"score_reasonings":2926,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[2918],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2920],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[2922,2923,2924,2925],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":2928,"caddy":2929,"nginx":2930},"Routes to the Strapi container from Docker labels and renews Let's Encrypt certificates on its own. Set Strapi's public URL to the HTTPS address and enable proxy trust in its server config, or the admin panel and generated media URLs point at the container's internal address.","Automatic HTTPS from a few lines of config, the simplest fit for one Strapi container. Caddy has no default request-size limit, so media uploads through the admin panel work without extra settings; Strapi's own upload size limit is the one to raise.","The most familiar proxy, with TLS through Certbot. Raise client_max_body_size, since NGINX's 1 MB default rejects most media uploads through the admin panel, and forward the protocol and host headers so Strapi builds HTTPS URLs.",{},{"tools":2933,"descriptions":2966,"aliases":2969,"see_all":27},[2934,2950],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":2935,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2936,"subcategory":2937,"categories":2938,"subcategories":2940,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":2942,"score_reasonings":2949,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[2939],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2941],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[2943,2944,2945,2946,2947,2948],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":2951,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2952,"subcategory":2953,"categories":2954,"subcategories":2956,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":2958,"score_reasonings":2965,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[2955],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[2957],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[2959,2960,2961,2962,2963,2964],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":2967,"dokploy":2968},"Free and self-hosted, deploying the Strapi project from its Git repository with your Dockerfile, PostgreSQL provisioned beside it, and HTTPS through Coolify's bundled proxy. Add a persistent volume for the uploads folder, or media disappears on the next redeploy.","Free and self-hosted, building the Strapi project from Git behind its bundled Traefik, with a PostgreSQL service and scheduled database backups from the same dashboard. As with Coolify, mount a volume for uploads or use an S3 upload provider.",{},{"tunnel":2971},{"tools":2972,"descriptions":2997,"aliases":3000,"preface":862,"see_all":27},[2973,2985],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":2974,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2975,"subcategory":2976,"categories":2977,"subcategories":2979,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":2981,"score_reasonings":2984,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[2978],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2980],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[2982,2983],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":2986,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":2987,"subcategory":2988,"categories":2989,"subcategories":2991,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":2993,"score_reasonings":2996,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[2990],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[2992],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[2994,2995],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":2998,"ngrok":2999},"Makes the Strapi admin panel and API reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP. Cloudflare's upload size limit on its free plan (100 MB per request) is the one to know if editors upload large video files.","The quicker-start tunnel for letting a frontend preview or a webhook consumer reach a Strapi instance on your own machine. Its free-tier limits suit development rather than a production content API.",{},{"exposure":3002},{"name":899,"option_types":3003},[901,902],[],{"stack_id":3006,"name":3007,"slug":3008,"description":3009,"experience_level":909,"project_type":910,"stack_type":3010,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":3011,"stack_data":3012,"resolved_tools":3017,"options":3092,"additions":3312,"option_groups":3343,"multi_select_option_types":3346},157,"Directus Self-Hosted","directus-self-hosted","Self-host Directus as a headless CMS and data platform that wraps a PostgreSQL database in auto-generated REST and GraphQL APIs. Docker keeps the deployment portable, and Directus can work over an existing database or create its own schema from the admin app.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},105,{"CMS":3013,"Databases":3014,"DevOps & CI\u002FCD":3015,"Hosting & Cloud":3016},[1243],[158],[224],[226],{"CMS":3018,"Databases":3048,"DevOps & CI\u002FCD":3063,"Hosting & Cloud":3079},[3019],{"tool_id":1243,"name":3020,"slug":3021,"tooltip_description":3022,"logo_url":3023,"logo_bg":74,"pricing_model":3024,"learning_curve_score":49,"popularity_score":37,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3025,"subcategory":3026,"categories":3027,"subcategories":3030,"flexibility_score":62,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3035,"score_reasonings":3042,"published_date":269,"last_updated_date":168},"Directus","directus","Directus is a flexible headless CMS and backend platform that instantly wraps any SQL database with REST and GraphQL APIs and a no-code admin UI.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fdirectus.svg",{"slug":76,"display_name":77,"description":78},{"category_id":359,"name":928,"slug":929},{"subcategory_id":294,"name":2679,"slug":2680},[3028,3029],{"category_id":359,"name":928,"slug":929,"is_primary":3,"display_order":7},{"category_id":61,"name":239,"slug":240,"is_primary":63,"display_order":37},[3031,3032],{"subcategory_id":294,"name":2679,"slug":2680,"category_id":359,"is_primary":3,"display_order":7},{"subcategory_id":37,"name":3033,"slug":3034,"category_id":61,"is_primary":63,"display_order":37},"Backend as a Service","baas",[3036,3037,3038,3039,3040,3041],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":2696,"name":2697,"slug":2698,"tag_type":297},{"tag_id":943,"name":944,"slug":945,"tag_type":297},{"learning_curve":3043,"flexibility":3044,"performance":3045,"popularity":3046,"portability":3047},"Data Studio and flows are approachable, but permissions and custom extensions take time.","Auto-generated REST and GraphQL; custom extensions, flows, and endpoints cover any need.","Node.js REST and GraphQL is efficient for typical content workloads; scales horizontally.","Growing open-source project with a strong concept; limited mainstream awareness.","Open source with a standard database underneath; REST and GraphQL APIs ease migration.",[3049],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":3050,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3051,"subcategory":3052,"categories":3053,"subcategories":3055,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":3057,"score_reasonings":3062,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[3054],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[3056],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[3058,3059,3060,3061],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},[3064],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":3065,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3066,"subcategory":3067,"categories":3068,"subcategories":3070,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":3072,"score_reasonings":3078,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[3069],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3071],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[3073,3074,3075,3076,3077],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[3080],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":3081,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3082,"subcategory":3083,"categories":3084,"subcategories":3086,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3088,"score_reasonings":3091,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3085],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3087],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3089,3090],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":3093,"orm":3097,"authentication":3101,"analytics":3105,"coding_agent":3109,"llm":3113,"language":3117,"frontend_framework":3121,"cms":3125,"hosting":3129,"reverse_proxy":3225,"self_hosted_paas":3274},{"tools":3094,"descriptions":3095,"aliases":3096,"see_all":27},[],{},{},{"tools":3098,"descriptions":3099,"aliases":3100,"see_all":27},[],{},{},{"tools":3102,"descriptions":3103,"aliases":3104,"see_all":27},[],{},{},{"tools":3106,"descriptions":3107,"aliases":3108,"see_all":27},[],{},{},{"tools":3110,"descriptions":3111,"aliases":3112,"see_all":27},[],{},{},{"tools":3114,"descriptions":3115,"aliases":3116,"see_all":27},[],{},{},{"tools":3118,"descriptions":3119,"aliases":3120,"see_all":27},[],{},{},{"tools":3122,"descriptions":3123,"aliases":3124,"see_all":27},[],{},{},{"tools":3126,"descriptions":3127,"aliases":3128,"see_all":27},[],{},{},{"tools":3130,"descriptions":3216,"aliases":3223,"see_all":3224},[3131,3143,3157,3173,3189,3201],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":3132,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3133,"subcategory":3134,"categories":3135,"subcategories":3137,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3139,"score_reasonings":3142,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3136],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3138],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3140,3141],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":1073,"name":1074,"slug":1075,"tooltip_description":1076,"logo_url":1077,"logo_bg":74,"pricing_model":3144,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3145,"subcategory":3146,"categories":3147,"subcategories":3149,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":3151,"score_reasonings":3156,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[3148],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3150],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[3152,3153,3154,3155],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"learning_curve":1091,"performance":1092,"portability":1093,"flexibility":1094,"popularity":1095},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":3158,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3159,"subcategory":3160,"categories":3161,"subcategories":3163,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3165,"score_reasonings":3172,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[3162],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3164],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[3166,3167,3168,3169,3170,3171],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":1764,"name":1765,"slug":1766,"tooltip_description":1767,"logo_url":1768,"logo_bg":74,"pricing_model":3174,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3175,"subcategory":3176,"categories":3177,"subcategories":3179,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":3181,"score_reasonings":3188,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[3178],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3180],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[3182,3183,3184,3185,3186,3187],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":1784,"flexibility":1785,"performance":1786,"popularity":1787,"portability":1788},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":3190,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3191,"subcategory":3192,"categories":3193,"subcategories":3195,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":3197,"score_reasonings":3200,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3194],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3196],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3198,3199],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":3202,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3203,"subcategory":3204,"categories":3205,"subcategories":3207,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":3209,"score_reasonings":3215,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[3206],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3208],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[3210,3211,3212,3213,3214],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"hetzner":3217,"railway":3218,"digitalocean":3219,"render":3220,"hostinger":3221,"aws":3222},"A flat-rate root VPS whose entry instance has 4 GB of memory for around €4-5\u002Fmo, room for the Directus container at its recommended 2 GB plus PostgreSQL. A volume for the uploads folder, or an S3-compatible bucket, keeps media separate from the server's disk.","Directus publishes one-click Railway templates, a blank instance or a CMS starter, that bundle PostgreSQL, Redis, and S3-compatible storage: the most turnkey way to run this stack without a server. Railway's $5\u002Fmo Hobby plan plus usage covers a small instance, and the platform handles TLS, so the reverse proxy or PaaS choice doesn't apply.","A root Droplet with snapshots and a cloud firewall in the panel: about $12\u002Fmo for 2 GB, or $24\u002Fmo for 4 GB with PostgreSQL on the same box. Managed PostgreSQL (from about $15\u002Fmo) and Spaces for file storage move the content and media off the Droplet.","Render's guide deploys Directus from its Docker image with Render's managed PostgreSQL and TLS at the platform edge, so there's no reverse proxy to configure. Directus recommends 2 GB per container, which means the Standard instance (about $25\u002Fmo) plus the database, with uploads sent to S3 since Render's disks are per-instance.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo on a two-year term) has 4 GB of memory, enough for Directus and PostgreSQL together. Fewer regions than the larger providers, and backups of both the database and the uploads folder are yours to set up.","An EC2 instance at roughly $15-35\u002Fmo for 2-4 GB, next to the rest of an AWS-hosted product. RDS can hold the database, S3 is a native Directus storage location for uploads, and an Application Load Balancer with AWS Certificate Manager can handle TLS instead of the reverse proxy.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":3226,"descriptions":3269,"aliases":3273,"see_all":27},[3227,3241,3255],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":3228,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3229,"subcategory":3230,"categories":3231,"subcategories":3233,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":3235,"score_reasonings":3240,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3232],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3234],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3236,3237,3238,3239],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":3242,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3243,"subcategory":3244,"categories":3245,"subcategories":3247,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":3249,"score_reasonings":3254,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3246],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3248],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3250,3251,3252,3253],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":3256,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3257,"subcategory":3258,"categories":3259,"subcategories":3261,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":3263,"score_reasonings":3268,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3260],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3262],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3264,3265,3266,3267],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":3270,"caddy":3271,"nginx":3272},"Routes to the Directus container from Docker labels and renews Let's Encrypt certificates on its own. Set PUBLIC_URL to the public HTTPS address, since Directus builds asset URLs, password-reset links, and OAuth callbacks from it.","Automatic HTTPS from a few lines of config, the simplest fit for one Directus container. Caddy passes WebSocket upgrades by default, which Directus's real-time subscriptions need, and has no request-size limit that would block large uploads.","The most familiar proxy, with TLS through Certbot. Raise client_max_body_size so uploads through the admin app aren't rejected at NGINX's 1 MB default, and add the WebSocket upgrade headers if you use real-time subscriptions.",{},{"tools":3275,"descriptions":3308,"aliases":3311,"see_all":27},[3276,3292],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":3277,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3278,"subcategory":3279,"categories":3280,"subcategories":3282,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":3284,"score_reasonings":3291,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[3281],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3283],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[3285,3286,3287,3288,3289,3290],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":3293,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3294,"subcategory":3295,"categories":3296,"subcategories":3298,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":3300,"score_reasonings":3307,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[3297],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3299],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[3301,3302,3303,3304,3305,3306],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":3309,"dokploy":3310},"Free and self-hosted, with one-click Directus templates, including one with PostgreSQL, behind Coolify's bundled proxy with HTTPS. Mount the uploads folder as a persistent volume or configure S3 storage, or files vanish on redeploy.","Free and self-hosted, with Directus in its template catalog behind its bundled Traefik and HTTPS from the dashboard. Its scheduled backups cover the PostgreSQL service; the uploads volume needs backing up too, since files aren't stored in the database.",{},{"tunnel":3313},{"tools":3314,"descriptions":3339,"aliases":3342,"preface":862,"see_all":27},[3315,3327],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":3316,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3317,"subcategory":3318,"categories":3319,"subcategories":3321,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":3323,"score_reasonings":3326,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[3320],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3322],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[3324,3325],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":3328,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3329,"subcategory":3330,"categories":3331,"subcategories":3333,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":3335,"score_reasonings":3338,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[3332],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3334],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[3336,3337],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":3340,"ngrok":3341},"Makes Directus reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for a server inside a private network. Set PUBLIC_URL to the tunnel hostname, and note Cloudflare's 100 MB per-request limit on the free plan if editors upload large video.","The quicker-start tunnel for pointing a frontend preview or a webhook at a Directus instance on your own machine. Its free-tier limits suit development rather than a production content API.",{},{"exposure":3344},{"name":899,"option_types":3345},[901,902],[],{"stack_id":3348,"name":3349,"slug":3350,"description":3351,"experience_level":213,"project_type":2284,"stack_type":3352,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":3353,"stack_data":3354,"resolved_tools":3360,"options":3435,"additions":3639,"option_groups":3670,"multi_select_option_types":3673},179,"BetterAuth Self-Hosted","better-auth-self-hosted","Run BetterAuth as a dedicated authentication server instead of paying a hosted provider like Clerk or Auth0. With the OAuth 2.1 Provider plugin, one small Node service becomes the sign-in point for one or several apps, users and sessions live in your own PostgreSQL, and Docker keeps the deployment reproducible.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},127,{"Databases":3355,"Authentication":3356,"DevOps & CI\u002FCD":3358,"Hosting & Cloud":3359},[158],[3357],173,[224],[226],{"Databases":3361,"Authentication":3376,"DevOps & CI\u002FCD":3406,"Hosting & Cloud":3422},[3362],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":3363,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3364,"subcategory":3365,"categories":3366,"subcategories":3368,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":3370,"score_reasonings":3375,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[3367],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[3369],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[3371,3372,3373,3374],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},[3377],{"tool_id":3357,"name":3378,"slug":3379,"tooltip_description":3380,"logo_url":3381,"logo_bg":3382,"pricing_model":3383,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":400,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3384,"subcategory":27,"categories":3388,"subcategories":3390,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":63,"tags":3391,"score_reasonings":3400,"published_date":269,"last_updated_date":168},"BetterAuth","better-auth","Open-source TypeScript authentication framework that runs inside your app, covering email and password, social OAuth, passkeys, multi-tenancy, and SSO with no per-user pricing, plus an optional paid dashboard.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fbetter-auth.svg","black",{"slug":76,"display_name":77,"description":78},{"category_id":3385,"name":3386,"slug":3387},9,"Authentication","authentication",[3389],{"category_id":3385,"name":3386,"slug":3387,"is_primary":3,"display_order":7},[],[3392,3393,3394,3395,3396,3397,3399],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":49,"name":2690,"slug":2691,"tag_type":253},{"tag_id":109,"name":2687,"slug":2688,"tag_type":253},{"tag_id":3398,"name":3386,"slug":3387,"tag_type":297},34,{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":3401,"flexibility":3402,"performance":3403,"popularity":3404,"portability":3405},"BetterAuth is deliberately designed to be simpler than NextAuth and well-documented, but setting up database adapters, configuring plugins, and understanding session management still requires meaningful onboarding. Developers comfortable with Node.js and TypeScript get productive quickly; those new to auth concepts will need more time.","Plugin-based architecture lets you compose exactly the features you need. Database adapters support PostgreSQL, MySQL, SQLite, and MongoDB. Framework adapters cover Next.js, Nuxt, SvelteKit, Astro, Hono, Express, Fastify, and more. The plugin API allows custom extensions. Essentially unlimited customisation within the Node.js\u002FTypeScript runtime.","Runs inside your application process with no external network call for session checks — auth validation is a database query to your own instance. Performance is constrained by your database choice and query patterns rather than third-party API latency. Stateless session mode (v1.4+) eliminates even the database lookup for JWT-based flows.","Grew from launch to 13K+ GitHub stars within roughly a year, backed by Y Combinator (W25), and gained major momentum when the Auth.js \u002F NextAuth team merged into the project in September 2025. Weekly npm downloads in the hundreds of thousands. Still younger and less established than Auth0 or Clerk in market share.","MIT-licensed and fully self-hosted — deploy on any VPS, PaaS, or cloud provider that runs Node.js. No vendor lock-in: your user data lives in your own database, sessions are managed by your own instance, and migrating away requires only swapping the auth library rather than migrating a third-party service's data.",[3407],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":3408,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3409,"subcategory":3410,"categories":3411,"subcategories":3413,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":3415,"score_reasonings":3421,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[3412],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3414],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[3416,3417,3418,3419,3420],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[3423],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":3424,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3425,"subcategory":3426,"categories":3427,"subcategories":3429,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3431,"score_reasonings":3434,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3428],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3430],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3432,3433],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":3436,"orm":3440,"authentication":3444,"analytics":3448,"coding_agent":3452,"llm":3456,"language":3460,"frontend_framework":3464,"cms":3468,"hosting":3472,"reverse_proxy":3552,"self_hosted_paas":3601},{"tools":3437,"descriptions":3438,"aliases":3439,"see_all":27},[],{},{},{"tools":3441,"descriptions":3442,"aliases":3443,"see_all":27},[],{},{},{"tools":3445,"descriptions":3446,"aliases":3447,"see_all":27},[],{},{},{"tools":3449,"descriptions":3450,"aliases":3451,"see_all":27},[],{},{},{"tools":3453,"descriptions":3454,"aliases":3455,"see_all":27},[],{},{},{"tools":3457,"descriptions":3458,"aliases":3459,"see_all":27},[],{},{},{"tools":3461,"descriptions":3462,"aliases":3463,"see_all":27},[],{},{},{"tools":3465,"descriptions":3466,"aliases":3467,"see_all":27},[],{},{},{"tools":3469,"descriptions":3470,"aliases":3471,"see_all":27},[],{},{},{"tools":3473,"descriptions":3544,"aliases":3550,"see_all":3551},[3474,3486,3500,3516,3532],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":3475,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3476,"subcategory":3477,"categories":3478,"subcategories":3480,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3482,"score_reasonings":3485,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3479],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3481],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3483,3484],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":1073,"name":1074,"slug":1075,"tooltip_description":1076,"logo_url":1077,"logo_bg":74,"pricing_model":3487,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3488,"subcategory":3489,"categories":3490,"subcategories":3492,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":3494,"score_reasonings":3499,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[3491],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3493],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[3495,3496,3497,3498],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"learning_curve":1091,"performance":1092,"portability":1093,"flexibility":1094,"popularity":1095},{"tool_id":1764,"name":1765,"slug":1766,"tooltip_description":1767,"logo_url":1768,"logo_bg":74,"pricing_model":3501,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3502,"subcategory":3503,"categories":3504,"subcategories":3506,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":3508,"score_reasonings":3515,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[3505],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3507],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[3509,3510,3511,3512,3513,3514],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":1784,"flexibility":1785,"performance":1786,"popularity":1787,"portability":1788},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":3517,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3518,"subcategory":3519,"categories":3520,"subcategories":3522,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3524,"score_reasonings":3531,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[3521],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3523],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[3525,3526,3527,3528,3529,3530],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":3533,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3534,"subcategory":3535,"categories":3536,"subcategories":3538,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":3540,"score_reasonings":3543,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3537],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3539],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3541,3542],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"hetzner":3545,"railway":3546,"render":3547,"digitalocean":3548,"hostinger":3549},"A flat-rate root VPS where the auth server and its PostgreSQL share one small instance, from around €4-5\u002Fmo. Login traffic is light, so an entry instance carries a sizeable user base; the cost is running backups and security updates yourself, which matters more for an identity server than for most services.","Runs the auth server as an ordinary Node service with managed PostgreSQL in the same project, redeploying on git push. Railway terminates TLS itself, so the reverse proxy or PaaS choice doesn't apply. The $5\u002Fmo Hobby plan plus usage typically lands a small auth server around $10\u002Fmo, with no server to patch.","Runs the auth server as a Node web service with Render's managed PostgreSQL behind it and TLS terminated at the platform. Skip the free tier: a free service sleeps after 15 minutes idle and its free database expires after 30 days, and a sign-in that waits on a cold start is a poor first impression. Budget the $7\u002Fmo Starter instance plus the database.","A root Droplet from about $6\u002Fmo with snapshots and a cloud firewall in the panel, plus managed PostgreSQL (from about $15\u002Fmo) if you'd rather not run the identity database yourself. Managed backups with point-in-time recovery are the reason to pick it for auth specifically: that database holds every user, session, and signing key.","The lowest-cost VPS in the list, with KVM plans from around $5\u002Fmo and a beginner-friendly panel. BetterAuth's own footprint is modest, so the entry plan works; the tradeoff is fewer regions for placing the auth server near your apps' users, and backups and hardening are still yours.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":3553,"descriptions":3596,"aliases":3600,"see_all":27},[3554,3568,3582],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":3555,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3556,"subcategory":3557,"categories":3558,"subcategories":3560,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":3562,"score_reasonings":3567,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3559],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3561],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3563,3564,3565,3566],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":3569,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3570,"subcategory":3571,"categories":3572,"subcategories":3574,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":3576,"score_reasonings":3581,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3573],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3575],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3577,3578,3579,3580],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":3583,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3584,"subcategory":3585,"categories":3586,"subcategories":3588,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":3590,"score_reasonings":3595,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3587],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3589],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3591,3592,3593,3594],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":3597,"caddy":3598,"nginx":3599},"Configures itself from Docker labels on the auth container and renews Let's Encrypt certificates automatically. The BetterAuth setting to get right behind any proxy is the public base URL (BETTER_AUTH_URL) and the trusted origins, since OAuth redirect URIs and the token issuer are built from them.","Automatic HTTPS from a few lines of config, simpler than Traefik's labels for a single auth service. Caddy forwards the original host and protocol by default, so secure session cookies and OAuth callbacks see the public HTTPS address without extra setup.","The most familiar proxy, with TLS managed manually through Certbot. Set the forwarded protocol and host headers explicitly: without them the auth server believes it runs on plain HTTP, and secure cookies or OAuth redirect URIs come out wrong.",{},{"tools":3602,"descriptions":3635,"aliases":3638,"see_all":27},[3603,3619],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":3604,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3605,"subcategory":3606,"categories":3607,"subcategories":3609,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":3611,"score_reasonings":3618,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[3608],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3610],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[3612,3613,3614,3615,3616,3617],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":3620,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3621,"subcategory":3622,"categories":3623,"subcategories":3625,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":3627,"score_reasonings":3634,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[3624],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3626],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[3628,3629,3630,3631,3632,3633],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":3636,"dokploy":3637},"Deploys the auth server from its Docker image with PostgreSQL provisioned beside it and HTTPS from Coolify's bundled proxy, managed from a dashboard instead of a config file. Useful when the auth server shares a VPS with the apps that sign in through it, since Coolify can host those too.","The same dashboard-driven deploy as Coolify, with its own bundled proxy and one-click databases, from a newer and smaller project. Check its scheduled database backups before choosing: the PostgreSQL service it runs is the whole of your identity data.",{},{"tunnel":3640},{"tools":3641,"descriptions":3666,"aliases":3669,"preface":862,"see_all":27},[3642,3654],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":3643,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3644,"subcategory":3645,"categories":3646,"subcategories":3648,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":3650,"score_reasonings":3653,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[3647],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3649],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[3651,3652],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":3655,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3656,"subcategory":3657,"categories":3658,"subcategories":3660,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":3662,"score_reasonings":3665,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[3659],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3661],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[3663,3664],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":3667,"ngrok":3668},"Makes the auth server reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for a server on a home network or behind NAT. The public hostname becomes the base URL your apps' OAuth redirects point to, so settle it before registering clients.","The quicker-start tunnel for testing sign-in flows against an auth server on your own machine. Its free-tier limits suit development rather than a production identity server that every app depends on.",{},{"exposure":3671},{"name":899,"option_types":3672},[901,902],[],{"stack_id":3675,"name":3676,"slug":3677,"description":3678,"experience_level":3679,"project_type":3680,"stack_type":3681,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":3682,"stack_data":3683,"resolved_tools":3689,"options":3758,"additions":3963,"option_groups":3994,"multi_select_option_types":3997},180,"Keycloak Self-Hosted","keycloak-self-hosted","Run Keycloak as your own identity provider instead of paying per user for a hosted one. Keycloak handles sign-in, single sign-on, and federation for every app that trusts it, PostgreSQL stores realms, users, and sessions, and Docker packages the server for any VPS, cloud instance, or on-premises machine.","advanced","api_only",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},128,{"Databases":3684,"Authentication":3685,"DevOps & CI\u002FCD":3687,"Hosting & Cloud":3688},[158],[3686],174,[224],[226],{"Databases":3690,"Authentication":3705,"DevOps & CI\u002FCD":3729,"Hosting & Cloud":3745},[3691],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":3692,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3693,"subcategory":3694,"categories":3695,"subcategories":3697,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":3699,"score_reasonings":3704,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[3696],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[3698],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[3700,3701,3702,3703],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},[3706],{"tool_id":3686,"name":3707,"slug":3708,"tooltip_description":3709,"logo_url":3710,"logo_bg":74,"pricing_model":3711,"learning_curve_score":62,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3712,"subcategory":27,"categories":3713,"subcategories":3715,"flexibility_score":62,"performance_score":49,"portability_score":62,"is_featured":63,"tags":3716,"score_reasonings":3723,"published_date":269,"last_updated_date":168},"Keycloak","keycloak","Open-source identity and access management platform with SSO, SAML 2.0, OIDC, and LDAP\u002FAD federation — self-hosted, no per-user pricing.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fkeycloak.svg",{"slug":46,"display_name":47,"description":48},{"category_id":3385,"name":3386,"slug":3387},[3714],{"category_id":3385,"name":3386,"slug":3387,"is_primary":3,"display_order":7},[],[3717,3718,3719,3720,3721,3722],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":3398,"name":3386,"slug":3387,"tag_type":297},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"learning_curve":3724,"flexibility":3725,"performance":3726,"popularity":3727,"portability":3728},"The realm\u002Fclient\u002Fflow\u002Fmapper mental model is unique to Keycloak and requires significant upfront investment — documented case studies show 40+ hours of onboarding effort even for developers with Java experience. The admin UI, while comprehensive, surfaces its full complexity immediately. Non-trivial configurations (custom flows, multi-IdP brokering, LDAP mapping) require deep familiarity with the Server Administration Guide and often trial-and-error.","Supports OAuth 2.0, OIDC, and SAML 2.0 simultaneously, making it compatible with virtually any application stack regardless of language or framework. The Service Provider Interface (SPI) system allows custom user storage providers, custom authenticators, custom event listeners, and custom themes — essentially every layer is extensible. Realm isolation supports arbitrarily complex multi-tenant topologies.","JVM-based (Quarkus) with non-trivial startup time and memory footprint relative to lightweight auth libraries. Handles high throughput at scale when properly tuned and clustered, but 'properly tuned' requires explicit effort: JVM heap sizing, Infinispan cache configuration, and database connection pooling. Out-of-the-box configuration is not optimised for production load.","34.5K GitHub stars, CNCF Incubating project status since 2023, and validated deployments in enterprise, government, and financial sectors worldwide — including the Austrian Business Service Portal (2M+ users) and FAPI-compliant authorization for Japanese banks. Well-known in enterprise Java and Spring Boot circles; less visible to indie developers and the startup ecosystem.","Apache 2.0 licensed, fully self-hosted, and deployable on any infrastructure that runs a JVM: bare-metal servers, Docker, Kubernetes (official Helm chart), or cloud VMs. Because integration is via standard OIDC and SAML protocols, client applications have no Keycloak-specific SDK dependency — migrating away requires only reconfiguring the OIDC endpoints in client applications, not replacing auth code.",[3730],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":3731,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3732,"subcategory":3733,"categories":3734,"subcategories":3736,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":3738,"score_reasonings":3744,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[3735],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3737],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[3739,3740,3741,3742,3743],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[3746],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":3747,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3748,"subcategory":3749,"categories":3750,"subcategories":3752,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3754,"score_reasonings":3757,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3751],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3753],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3755,3756],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":3759,"orm":3763,"authentication":3767,"analytics":3771,"coding_agent":3775,"llm":3779,"language":3783,"frontend_framework":3787,"cms":3791,"hosting":3795,"reverse_proxy":3876,"self_hosted_paas":3925},{"tools":3760,"descriptions":3761,"aliases":3762,"see_all":27},[],{},{},{"tools":3764,"descriptions":3765,"aliases":3766,"see_all":27},[],{},{},{"tools":3768,"descriptions":3769,"aliases":3770,"see_all":27},[],{},{},{"tools":3772,"descriptions":3773,"aliases":3774,"see_all":27},[],{},{},{"tools":3776,"descriptions":3777,"aliases":3778,"see_all":27},[],{},{},{"tools":3780,"descriptions":3781,"aliases":3782,"see_all":27},[],{},{},{"tools":3784,"descriptions":3785,"aliases":3786,"see_all":27},[],{},{},{"tools":3788,"descriptions":3789,"aliases":3790,"see_all":27},[],{},{},{"tools":3792,"descriptions":3793,"aliases":3794,"see_all":27},[],{},{},{"tools":3796,"descriptions":3868,"aliases":3874,"see_all":3875},[3797,3809,3825,3837,3852],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":3798,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3799,"subcategory":3800,"categories":3801,"subcategories":3803,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3805,"score_reasonings":3808,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3802],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3804],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3806,3807],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":3810,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3811,"subcategory":3812,"categories":3813,"subcategories":3815,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":3817,"score_reasonings":3824,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[3814],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3816],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[3818,3819,3820,3821,3822,3823],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":3826,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3827,"subcategory":3828,"categories":3829,"subcategories":3831,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":3833,"score_reasonings":3836,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[3830],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3832],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[3834,3835],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":3838,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3839,"subcategory":3840,"categories":3841,"subcategories":3843,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":3845,"score_reasonings":3851,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[3842],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3844],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[3846,3847,3848,3849,3850],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":3853,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3854,"subcategory":3855,"categories":3856,"subcategories":3858,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":3860,"score_reasonings":3867,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[3857],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3859],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[3861,3862,3863,3864,3865,3866],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":3869,"digitalocean":3870,"hostinger":3871,"aws":3872,"gcp":3873},"A flat-rate root VPS from around €4-5\u002Fmo whose entry instance has 4 GB of memory, enough for Keycloak's roughly 1.5 GB plus PostgreSQL with room for login bursts. Put a firewall in front that allows only the proxy's ports, so the admin endpoints are never reachable directly.","A root Droplet with snapshots and a cloud firewall in the panel: about $12\u002Fmo for 2 GB, tight for Keycloak plus PostgreSQL, or $24\u002Fmo for a comfortable 4 GB. Managed PostgreSQL (from about $15\u002Fmo) takes the identity database off the Droplet with point-in-time recovery, the part you can least afford to lose.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo on a two-year term) has 4 GB of memory, enough for Keycloak and PostgreSQL. It suits a small organization's SSO; teams that need private networking between the identity server and their apps are better served by a cloud with VPCs.","An EC2 instance at roughly $25-35\u002Fmo for 4 GB, inside the VPC where your applications already run. RDS for PostgreSQL can hold the identity database with automated backups, and an Application Load Balancer with AWS Certificate Manager can terminate TLS; Keycloak then needs http-enabled and the forwarded headers set.","A Compute Engine instance at roughly $25-35\u002Fmo for 4 GB, inside the VPC where your applications run. Cloud SQL for PostgreSQL can hold the identity database, and Cloud Load Balancing with Google-managed certificates can terminate TLS; Keycloak then needs http-enabled and the forwarded headers set.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":3877,"descriptions":3920,"aliases":3924,"see_all":27},[3878,3892,3906],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":3879,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3880,"subcategory":3881,"categories":3882,"subcategories":3884,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":3886,"score_reasonings":3891,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3883],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3885],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3887,3888,3889,3890],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":3893,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3894,"subcategory":3895,"categories":3896,"subcategories":3898,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":3900,"score_reasonings":3905,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3897],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3899],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3901,3902,3903,3904],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":3907,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3908,"subcategory":3909,"categories":3910,"subcategories":3912,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":3914,"score_reasonings":3919,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[3911],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3913],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[3915,3916,3917,3918],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":3921,"caddy":3922,"nginx":3923},"Routes to the Keycloak container from Docker labels and renews Let's Encrypt certificates on its own. Set Keycloak's proxy-headers to xforwarded and http-enabled to true, and route only the \u002Frealms\u002F, \u002Fresources\u002F, and \u002F.well-known\u002F paths publicly, keeping \u002Fadmin\u002F on an internal entry point.","Automatic HTTPS from a few lines of config, the simplest fit for one Keycloak container. Caddy sends the X-Forwarded headers by default, so setting Keycloak's proxy-headers to xforwarded is enough for correct redirect URLs; add a path matcher to keep \u002Fadmin\u002F off the public site.","The proxy most enterprise ops teams already run, with TLS through Certbot. Forward the X-Forwarded headers and set Keycloak's proxy-headers to match, or requests that check their origin come back 403. Location blocks make it straightforward to expose only the public paths and keep the admin console internal.",{},{"tools":3926,"descriptions":3959,"aliases":3962,"see_all":27},[3927,3943],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":3928,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3929,"subcategory":3930,"categories":3931,"subcategories":3933,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":3935,"score_reasonings":3942,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[3932],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3934],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[3936,3937,3938,3939,3940,3941],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":3944,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3945,"subcategory":3946,"categories":3947,"subcategories":3949,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":3951,"score_reasonings":3958,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[3948],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[3950],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[3952,3953,3954,3955,3956,3957],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":3960,"dokploy":3961},"Free and self-hosted, deploying Keycloak's official image with PostgreSQL beside it and HTTPS through Coolify's bundled proxy. Set the hostname, proxy-headers, and http-enabled options as environment variables in the service; the template's defaults don't know your public address.","Free and self-hosted, running Keycloak and PostgreSQL behind its bundled Traefik with HTTPS from the dashboard. As with Coolify, set Keycloak's hostname and proxy settings through environment variables, and use scheduled database backups, since the database holds every user and client secret.",{},{"tunnel":3964},{"tools":3965,"descriptions":3990,"aliases":3993,"preface":862,"see_all":27},[3966,3978],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":3967,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3968,"subcategory":3969,"categories":3970,"subcategories":3972,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":3974,"score_reasonings":3977,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[3971],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3973],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[3975,3976],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":3979,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":3980,"subcategory":3981,"categories":3982,"subcategories":3984,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":3986,"score_reasonings":3989,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[3983],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[3985],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[3987,3988],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":3991,"ngrok":3992},"Makes Keycloak reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for an identity server inside a private network. Publish only the public paths through the tunnel, and put Cloudflare Access in front of the admin console if it must be reachable remotely.","The quicker-start tunnel for testing an app's sign-in flow against a Keycloak on your own machine. Set Keycloak's hostname to the tunnel address while testing, since redirect URIs and token issuers are built from it; its free-tier limits suit development only.",{},{"exposure":3995},{"name":899,"option_types":3996},[901,902],[],{"stack_id":779,"name":3999,"slug":4000,"description":4001,"experience_level":213,"project_type":1936,"stack_type":4002,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":4003,"stack_data":4004,"resolved_tools":4011,"options":4108,"additions":4355,"option_groups":4386,"multi_select_option_types":4389},"Grafana Self-Hosted","grafana-self-hosted","Run Grafana and Prometheus on your own server instead of paying Grafana Cloud per series and per user. Prometheus scrapes metrics from your services and stores them as time series; Grafana turns them into dashboards and alerts. Grafana keeps its own dashboards, users, and settings in SQLite by default or in PostgreSQL for larger teams, and Docker Compose starts the whole stack with one command.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},130,{"Databases":4005,"DevOps & CI\u002FCD":4006,"Hosting & Cloud":4007,"Observability & Monitoring":4008},[394],[224],[226],[4009,4010],91,94,{"Databases":4012,"DevOps & CI\u002FCD":4026,"Hosting & Cloud":4042,"Observability & Monitoring":4055},[4013],{"tool_id":394,"name":395,"slug":396,"tooltip_description":397,"logo_url":398,"logo_bg":74,"pricing_model":4014,"learning_curve_score":37,"popularity_score":62,"hosting_assignment_type":400,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4015,"subcategory":4016,"categories":4017,"subcategories":4019,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4021,"score_reasonings":4025,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":52,"name":403,"slug":404},[4018],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4020],{"subcategory_id":52,"name":403,"slug":404,"category_id":61,"is_primary":3,"display_order":7},[4022,4023,4024],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":414,"popularity":415,"portability":416,"learning_curve":417,"flexibility":418},[4027],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":4028,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4029,"subcategory":4030,"categories":4031,"subcategories":4033,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":4035,"score_reasonings":4041,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[4032],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4034],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[4036,4037,4038,4039,4040],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[4043],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":4044,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4045,"subcategory":4046,"categories":4047,"subcategories":4049,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4051,"score_reasonings":4054,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4048],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4050],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4052,4053],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},[4056,4085],{"tool_id":4009,"name":4057,"slug":4058,"tooltip_description":4059,"logo_url":4060,"logo_bg":44,"pricing_model":4061,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4062,"subcategory":4063,"categories":4066,"subcategories":4068,"flexibility_score":62,"performance_score":61,"portability_score":61,"is_featured":3,"tags":4070,"score_reasonings":4079,"published_date":269,"last_updated_date":168},"Grafana","grafana","Grafana is the leading open-source platform for composable observability and data visualization, enabling teams to query, visualize, and alert on metrics, logs, and traces from any data source.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fgrafana.svg",{"slug":76,"display_name":77,"description":78},{"category_id":1329,"name":1330,"slug":1331},{"subcategory_id":1073,"name":4064,"slug":4065},"Infrastructure & APM","infrastructure-apm",[4067],{"category_id":1329,"name":1330,"slug":1331,"is_primary":3,"display_order":7},[4069],{"subcategory_id":1073,"name":4064,"slug":4065,"category_id":1329,"is_primary":3,"display_order":7},[4071,4072,4073,4074,4075,4078],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":1275,"name":1986,"slug":1987,"tag_type":297},{"tag_id":931,"name":4076,"slug":4077,"tag_type":297},"Monitoring","monitoring",{"tag_id":1989,"name":1990,"slug":1991,"tag_type":297},{"learning_curve":4080,"portability":4081,"flexibility":4082,"performance":4083,"popularity":4084},"Dashboard builder is intuitive, but data source configuration and alerting rules take practice.","Open source; JSON dashboard export and pluggable data sources make migration manageable.","Plugin ecosystem covers any data source; custom dashboards, alerting, and the LGTM stack.","Efficient panel rendering; alert evaluation is lightweight; scales with data source performance.","The standard for open-source observability dashboards; widely deployed across industries.",{"tool_id":4010,"name":4086,"slug":4087,"tooltip_description":4088,"logo_url":4089,"logo_bg":74,"pricing_model":4090,"learning_curve_score":61,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4091,"subcategory":4092,"categories":4093,"subcategories":4095,"flexibility_score":62,"performance_score":49,"portability_score":62,"is_featured":63,"tags":4097,"score_reasonings":4102,"published_date":269,"last_updated_date":168},"Prometheus","prometheus","Open-source systems monitoring and alerting toolkit that collects and stores metrics as time series data.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fprometheus.svg",{"slug":46,"display_name":47,"description":48},{"category_id":1329,"name":1330,"slug":1331},{"subcategory_id":1073,"name":4064,"slug":4065},[4094],{"category_id":1329,"name":1330,"slug":1331,"is_primary":3,"display_order":7},[4096],{"subcategory_id":1073,"name":4064,"slug":4065,"category_id":1329,"is_primary":3,"display_order":7},[4098,4099,4100,4101],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":931,"name":4076,"slug":4077,"tag_type":297},{"learning_curve":4103,"portability":4104,"flexibility":4105,"performance":4106,"popularity":4107},"PromQL and scrape configuration require practice; service discovery adds meaningful complexity.","Open source; PromQL and metrics format widely adopted as an industry standard.","Instrumentation libraries for every language; alerting rules and recording rules compose freely.","High-cardinality label sets can degrade scrape and query performance significantly.","The standard metrics collection system in Kubernetes and cloud-native environments.",{"database":4109,"orm":4143,"authentication":4147,"analytics":4151,"coding_agent":4155,"llm":4159,"language":4163,"frontend_framework":4167,"cms":4171,"hosting":4175,"reverse_proxy":4268,"self_hosted_paas":4317},{"tools":4110,"descriptions":4138,"aliases":4141,"see_all":4142},[4111,4124],{"tool_id":394,"name":395,"slug":396,"tooltip_description":397,"logo_url":398,"logo_bg":74,"pricing_model":4112,"learning_curve_score":37,"popularity_score":62,"hosting_assignment_type":400,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4113,"subcategory":4114,"categories":4115,"subcategories":4117,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4119,"score_reasonings":4123,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":52,"name":403,"slug":404},[4116],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4118],{"subcategory_id":52,"name":403,"slug":404,"category_id":61,"is_primary":3,"display_order":7},[4120,4121,4122],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":414,"popularity":415,"portability":416,"learning_curve":417,"flexibility":418},{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":4125,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4126,"subcategory":4127,"categories":4128,"subcategories":4130,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":4132,"score_reasonings":4137,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[4129],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4131],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[4133,4134,4135,4136],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"sqlite":4139,"postgresql":4140},"Grafana's bundled default: one file, grafana.db, holding dashboards, users, and alert rules, with nothing to install or operate. Enough for one Grafana instance and a few editors. Stop Grafana or use SQLite's online backup before copying it, since a file copied mid-write can come back corrupted.","Moves Grafana's dashboards, users, and alert rules into PostgreSQL, which handles many concurrent editors and is required to run more than one Grafana instance behind a load balancer. It holds Grafana's state only; metrics stay in Prometheus. Worth it when the team grows or when Grafana's database should be backed up alongside your other PostgreSQL databases.",{},{"kind":459,"slug":240,"name":239,"href":460},{"tools":4144,"descriptions":4145,"aliases":4146,"see_all":27},[],{},{},{"tools":4148,"descriptions":4149,"aliases":4150,"see_all":27},[],{},{},{"tools":4152,"descriptions":4153,"aliases":4154,"see_all":27},[],{},{},{"tools":4156,"descriptions":4157,"aliases":4158,"see_all":27},[],{},{},{"tools":4160,"descriptions":4161,"aliases":4162,"see_all":27},[],{},{},{"tools":4164,"descriptions":4165,"aliases":4166,"see_all":27},[],{},{},{"tools":4168,"descriptions":4169,"aliases":4170,"see_all":27},[],{},{},{"tools":4172,"descriptions":4173,"aliases":4174,"see_all":27},[],{},{},{"tools":4176,"descriptions":4259,"aliases":4266,"see_all":4267},[4177,4189,4200,4216,4228,4243],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":4178,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4179,"subcategory":4180,"categories":4181,"subcategories":4183,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4185,"score_reasonings":4188,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4182],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4184],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4186,4187],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":646,"name":647,"slug":648,"tooltip_description":649,"logo_url":650,"logo_bg":44,"pricing_model":4190,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4191,"subcategory":4192,"categories":4193,"subcategories":4195,"flexibility_score":61,"performance_score":109,"portability_score":49,"is_featured":63,"tags":4197,"score_reasonings":4199,"published_date":168,"last_updated_date":27},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":654,"name":655,"slug":656},[4194],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4196],{"subcategory_id":654,"name":655,"slug":656,"category_id":62,"is_primary":3,"display_order":7},[4198],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"learning_curve":664,"flexibility":665,"performance":666,"popularity":667,"portability":668},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":4201,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4202,"subcategory":4203,"categories":4204,"subcategories":4206,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4208,"score_reasonings":4215,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[4205],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4207],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[4209,4210,4211,4212,4213,4214],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":4217,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4218,"subcategory":4219,"categories":4220,"subcategories":4222,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":4224,"score_reasonings":4227,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4221],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4223],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4225,4226],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":4229,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4230,"subcategory":4231,"categories":4232,"subcategories":4234,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":4236,"score_reasonings":4242,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[4233],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4235],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[4237,4238,4239,4240,4241],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":4244,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4245,"subcategory":4246,"categories":4247,"subcategories":4249,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":4251,"score_reasonings":4258,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[4248],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4250],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[4252,4253,4254,4255,4256,4257],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":4260,"raspberry-pi":4261,"digitalocean":4262,"hostinger":4263,"aws":4264,"gcp":4265},"A flat-rate root VPS from around €4-5\u002Fmo, where Grafana, Prometheus, and SQLite fit on the smallest instance for a handful of monitored services. Put it in a different location, or with a different provider, from the servers it watches, so an outage there doesn't take the dashboards and alerts down with it.","Grafana publishes a Raspberry Pi install guide and Prometheus ships ARM builds, so a board you already own can monitor a home lab or small office with no monthly bill. Keep Prometheus's data on an attached SSD rather than the SD card, since constant metric writes wear cards out, and add the tunnel if the Pi sits behind home NAT.","A root Droplet from about $6\u002Fmo with snapshots and a cloud firewall in the panel. Its managed PostgreSQL (from about $15\u002Fmo) can hold Grafana's own database if you choose the PostgreSQL option and want its backups handled for you; Prometheus's metrics still live on the Droplet's disk.","The budget VPS in the list, with KVM plans from about $6.50\u002Fmo. The entry plan's 4 GB of memory is well above what this stack needs, so Prometheus can keep longer retention or scrape more targets before an upgrade. Fewer regions than the larger providers, and backups are yours to set up.","An EC2 instance at roughly $6-15\u002Fmo for a small size, with an EBS volume for Prometheus's data and snapshots for backup. It fits when the monitored services already run on AWS, since Prometheus discovers EC2 targets on its own. An Application Load Balancer with AWS Certificate Manager can handle TLS instead of the reverse proxy, and RDS can host Grafana's database on the PostgreSQL option.","A Compute Engine instance at roughly $7-15\u002Fmo for a small size, with a persistent disk for Prometheus's data. It fits when the monitored services already run on Google Cloud, since Prometheus discovers Compute Engine instances on its own. Cloud Load Balancing with Google-managed certificates can handle TLS instead of the reverse proxy, and Cloud SQL can host Grafana's database on the PostgreSQL option.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":4269,"descriptions":4312,"aliases":4316,"see_all":27},[4270,4284,4298],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":4271,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4272,"subcategory":4273,"categories":4274,"subcategories":4276,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4278,"score_reasonings":4283,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[4275],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4277],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[4279,4280,4281,4282],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":4285,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4286,"subcategory":4287,"categories":4288,"subcategories":4290,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4292,"score_reasonings":4297,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[4289],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4291],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[4293,4294,4295,4296],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":4299,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4300,"subcategory":4301,"categories":4302,"subcategories":4304,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":4306,"score_reasonings":4311,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[4303],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4305],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[4307,4308,4309,4310],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":4313,"caddy":4314,"nginx":4315},"Routes to the Grafana container from Docker labels and renews Let's Encrypt certificates on its own. Set Grafana's root_url to the public HTTPS address, or login redirects and the links inside alert notifications point at the container's internal address.","Automatic HTTPS from a few lines of config, the simplest fit for one Grafana container. Caddy passes WebSocket connections through without extra setup, which Grafana Live uses to stream dashboard updates to the browser.","The most familiar proxy, with TLS through Certbot. Grafana Live needs the WebSocket upgrade headers on its \u002Fapi\u002Flive path, and serving Grafana under a subpath also needs serve_from_sub_path set on the Grafana side.",{},{"tools":4318,"descriptions":4351,"aliases":4354,"see_all":27},[4319,4335],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":4320,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4321,"subcategory":4322,"categories":4323,"subcategories":4325,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":4327,"score_reasonings":4334,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[4324],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4326],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[4328,4329,4330,4331,4332,4333],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":4336,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4337,"subcategory":4338,"categories":4339,"subcategories":4341,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":4343,"score_reasonings":4350,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[4340],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4342],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[4344,4345,4346,4347,4348,4349],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":4352,"dokploy":4353},"Free and self-hosted, with one-click Grafana templates in two versions, one on SQLite and one on PostgreSQL, deployed behind Coolify's bundled proxy with HTTPS set from its dashboard. Prometheus isn't part of either template, so add it as its own service in the same project.","Free and self-hosted, with Grafana in its template catalog, deployed behind its bundled Traefik with HTTPS configured from the dashboard. As with Coolify, Prometheus goes in as its own Compose service; check that Dokploy's backups cover both Grafana's database and Prometheus's data volume.",{},{"tunnel":4356},{"tools":4357,"descriptions":4382,"aliases":4385,"preface":862,"see_all":27},[4358,4370],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":4359,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4360,"subcategory":4361,"categories":4362,"subcategories":4364,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":4366,"score_reasonings":4369,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[4363],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4365],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[4367,4368],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":4371,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4372,"subcategory":4373,"categories":4374,"subcategories":4376,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":4378,"score_reasonings":4381,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[4375],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4377],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[4379,4380],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":4383,"ngrok":4384},"Makes Grafana reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, which suits a Pi or a home server. Put Cloudflare Access in front if the dashboards shouldn't be public, since the tunnel otherwise exposes Grafana's login page to the whole internet.","The quicker-start tunnel for showing a dashboard from a laptop or testing alert webhooks against a local Grafana. Its free-tier limits suit that kind of temporary access rather than a permanent monitoring endpoint.",{},{"exposure":4387},{"name":899,"option_types":4388},[901,902],[],{"stack_id":39,"name":4391,"slug":4392,"description":4393,"experience_level":213,"project_type":2284,"stack_type":4394,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":4395,"stack_data":4396,"resolved_tools":4400,"options":4468,"additions":4734,"option_groups":4765,"multi_select_option_types":4768},"Convex Self-Hosted","convex-self-hosted","Self-host the open-source Convex backend on your own VPS for real-time sync, reactive queries, server functions, and file storage without paying for managed cloud. SQLite is the built-in default store: no separate database process to manage and low memory overhead, with self-run PostgreSQL or managed serverless Neon as documented alternatives once the deployment grows. Docker Compose brings the full Convex server up in minutes on any Docker-capable host.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},131,{"Databases":4397,"DevOps & CI\u002FCD":4398,"Hosting & Cloud":4399},[322,394],[224],[226],{"Databases":4401,"DevOps & CI\u002FCD":4439,"Hosting & Cloud":4455},[4402,4426],{"tool_id":322,"name":4403,"slug":4404,"tooltip_description":4405,"logo_url":4406,"logo_bg":44,"pricing_model":4407,"learning_curve_score":109,"popularity_score":109,"hosting_assignment_type":426,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4408,"subcategory":4409,"categories":4410,"subcategories":4412,"flexibility_score":49,"performance_score":61,"portability_score":109,"is_featured":63,"tags":4414,"score_reasonings":4420,"published_date":269,"last_updated_date":168},"Convex","convex","Modern application backend with database, backend functions, and real-time sync. Designed for frontend developers.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fconvex.svg",{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":37,"name":3033,"slug":3034},[4411],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4413],{"subcategory_id":37,"name":3033,"slug":3034,"category_id":61,"is_primary":3,"display_order":7},[4415,4416,4417,4418,4419],{"tag_id":49,"name":2690,"slug":2691,"tag_type":253},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":884,"name":885,"slug":886,"tag_type":156},{"tag_id":2696,"name":2697,"slug":2698,"tag_type":297},{"learning_curve":4421,"flexibility":4422,"performance":4423,"portability":4424,"popularity":4425},"Reactive query model is new, but the TypeScript-first API is clean and well-documented.","Reactive query model is clean but limits architectural choices outside Convex's patterns.","Reactive queries are optimized; real-time sync is efficient within Convex's infrastructure.","Reactive query API and backend functions are proprietary; migration requires a full rewrite.","Gaining traction in the React and TypeScript community; still early-stage adoption.",{"tool_id":394,"name":395,"slug":396,"tooltip_description":397,"logo_url":398,"logo_bg":74,"pricing_model":4427,"learning_curve_score":37,"popularity_score":62,"hosting_assignment_type":400,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4428,"subcategory":4429,"categories":4430,"subcategories":4432,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4434,"score_reasonings":4438,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":52,"name":403,"slug":404},[4431],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4433],{"subcategory_id":52,"name":403,"slug":404,"category_id":61,"is_primary":3,"display_order":7},[4435,4436,4437],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":414,"popularity":415,"portability":416,"learning_curve":417,"flexibility":418},[4440],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":4441,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4442,"subcategory":4443,"categories":4444,"subcategories":4446,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":4448,"score_reasonings":4454,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[4445],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4447],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[4449,4450,4451,4452,4453],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[4456],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":4457,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4458,"subcategory":4459,"categories":4460,"subcategories":4462,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4464,"score_reasonings":4467,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4461],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4463],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4465,4466],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":4469,"orm":4519,"authentication":4523,"analytics":4527,"coding_agent":4531,"llm":4535,"language":4539,"frontend_framework":4543,"cms":4547,"hosting":4551,"reverse_proxy":4647,"self_hosted_paas":4696},{"tools":4470,"descriptions":4513,"aliases":4517,"see_all":4518},[4471,4484,4498],{"tool_id":394,"name":395,"slug":396,"tooltip_description":397,"logo_url":398,"logo_bg":74,"pricing_model":4472,"learning_curve_score":37,"popularity_score":62,"hosting_assignment_type":400,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4473,"subcategory":4474,"categories":4475,"subcategories":4477,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4479,"score_reasonings":4483,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":52,"name":403,"slug":404},[4476],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4478],{"subcategory_id":52,"name":403,"slug":404,"category_id":61,"is_primary":3,"display_order":7},[4480,4481,4482],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":414,"popularity":415,"portability":416,"learning_curve":417,"flexibility":418},{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":4485,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4486,"subcategory":4487,"categories":4488,"subcategories":4490,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":4492,"score_reasonings":4497,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[4489],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4491],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[4493,4494,4495,4496],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":420,"name":421,"slug":422,"tooltip_description":423,"logo_url":424,"logo_bg":44,"pricing_model":4499,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":426,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4500,"subcategory":4501,"categories":4502,"subcategories":4504,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4506,"score_reasonings":4512,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":429,"name":430,"slug":431},[4503],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4505],{"subcategory_id":429,"name":430,"slug":431,"category_id":61,"is_primary":3,"display_order":7},[4507,4508,4509,4510,4511],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":448,"flexibility":449,"performance":450,"popularity":451,"portability":452},{"sqlite":4514,"postgresql":4515,"neon":4516},"Convex's own documented default for self-hosting: the backend's internal storage lives in SQLite files with no separate database process to run. Keep those files on a dedicated volume. The lighter starting point; move to PostgreSQL when write volume or data size outgrows it.","Swaps Convex's internal backing store to PostgreSQL for heavier deployments: more headroom for data volume and concurrent writes, at the cost of operating a second container alongside the Convex backend. Standard pg_dump backups then cover all of Convex's state.","A managed serverless Postgres backing store, named in Convex's own self-hosting write-up: the backend keeps running on your VPS while Neon handles the database layer, so there's no second container to operate and backups, patching, and scaling are Neon's problem rather than yours. The scope of self-hosting narrows, though. Your data lives on Neon's infrastructure instead of your own server, so keep the store local when full data control is the reason you're self-hosting.",{},{"kind":459,"slug":240,"name":239,"href":460},{"tools":4520,"descriptions":4521,"aliases":4522,"see_all":27},[],{},{},{"tools":4524,"descriptions":4525,"aliases":4526,"see_all":27},[],{},{},{"tools":4528,"descriptions":4529,"aliases":4530,"see_all":27},[],{},{},{"tools":4532,"descriptions":4533,"aliases":4534,"see_all":27},[],{},{},{"tools":4536,"descriptions":4537,"aliases":4538,"see_all":27},[],{},{},{"tools":4540,"descriptions":4541,"aliases":4542,"see_all":27},[],{},{},{"tools":4544,"descriptions":4545,"aliases":4546,"see_all":27},[],{},{},{"tools":4548,"descriptions":4549,"aliases":4550,"see_all":27},[],{},{},{"tools":4552,"descriptions":4638,"aliases":4645,"see_all":4646},[4553,4565,4579,4595,4611,4623],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":4554,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4555,"subcategory":4556,"categories":4557,"subcategories":4559,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4561,"score_reasonings":4564,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4558],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4560],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4562,4563],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":1073,"name":1074,"slug":1075,"tooltip_description":1076,"logo_url":1077,"logo_bg":74,"pricing_model":4566,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4567,"subcategory":4568,"categories":4569,"subcategories":4571,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":4573,"score_reasonings":4578,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[4570],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4572],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[4574,4575,4576,4577],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"learning_curve":1091,"performance":1092,"portability":1093,"flexibility":1094,"popularity":1095},{"tool_id":620,"name":621,"slug":622,"tooltip_description":623,"logo_url":624,"logo_bg":44,"pricing_model":4580,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4581,"subcategory":4582,"categories":4583,"subcategories":4585,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":4587,"score_reasonings":4594,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[4584],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4586],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[4588,4589,4590,4591,4592,4593],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":640,"flexibility":641,"performance":642,"popularity":643,"portability":644},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":4596,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4597,"subcategory":4598,"categories":4599,"subcategories":4601,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4603,"score_reasonings":4610,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[4600],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4602],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[4604,4605,4606,4607,4608,4609],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":4612,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4613,"subcategory":4614,"categories":4615,"subcategories":4617,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":4619,"score_reasonings":4622,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4616],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4618],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4620,4621],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":4624,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4625,"subcategory":4626,"categories":4627,"subcategories":4629,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":4631,"score_reasonings":4637,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[4628],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4630],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[4632,4633,4634,4635,4636],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"hetzner":4639,"railway":4640,"fly-io":4641,"digitalocean":4642,"hostinger":4643,"aws":4644},"A flat-rate root VPS from around €4-5\u002Fmo whose entry instance has 4 GB of memory, enough for the backend under sustained load with the dashboard beside it. Keep the SQLite data on its own volume, as Convex's docs advise, so a snapshot of that volume is a complete backup.","Convex's self-hosting docs include a Railway guide, and Railway hosts a template with the backend, dashboard, and PostgreSQL provisioned together. Railway gives each service its own HTTPS domain, which maps neatly onto Convex's separate API, HTTP-actions, and dashboard URLs, so the reverse proxy or PaaS choice doesn't apply. The $5\u002Fmo Hobby plan plus usage is the starting point.","Convex's self-hosting docs include a Fly.io guide: the backend runs as a Fly machine with a volume for its data, deployed with flyctl. A 1 GB machine costs about $6\u002Fmo and fits a low-traffic app, and Fly terminates TLS at its edge, so the reverse proxy or PaaS choice doesn't apply.","A root Droplet with snapshots and a cloud firewall in the panel: about $12\u002Fmo for 2 GB, comfortable for a low-traffic backend, or $24\u002Fmo for 4 GB under sustained load. Spaces can take Convex's file storage through its S3 support, which keeps uploaded files off the Droplet's disk.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo on a two-year term) has 4 GB of memory, the row's figure for sustained load, so the backend has headroom from day one. Fewer regions than the larger providers, and volume backups are yours to set up.","An EC2 instance at roughly $15-30\u002Fmo for 2-4 GB, next to the rest of an AWS-hosted product. S3 can hold Convex's file storage, RDS can host the PostgreSQL store, and an Application Load Balancer with AWS Certificate Manager can route the API, HTTP-actions, and dashboard hostnames instead of the reverse proxy.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":4648,"descriptions":4691,"aliases":4695,"see_all":27},[4649,4663,4677],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":4650,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4651,"subcategory":4652,"categories":4653,"subcategories":4655,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4657,"score_reasonings":4662,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[4654],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4656],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[4658,4659,4660,4661],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":4664,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4665,"subcategory":4666,"categories":4667,"subcategories":4669,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4671,"score_reasonings":4676,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[4668],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4670],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[4672,4673,4674,4675],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":4678,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4679,"subcategory":4680,"categories":4681,"subcategories":4683,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":4685,"score_reasonings":4690,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[4682],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4684],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[4686,4687,4688,4689],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":4692,"caddy":4693,"nginx":4694},"Routes three hostnames from Docker labels, the API to port 3210, HTTP actions to 3211, and the dashboard to 6791, and renews their certificates on its own. Set CONVEX_CLOUD_ORIGIN, CONVEX_SITE_ORIGIN, and the dashboard's deployment URL to the public HTTPS addresses, or clients connect to the internal ones.","Automatic HTTPS for Convex's three hostnames in a short config, one site block each for the API, HTTP actions, and the dashboard. Caddy passes WebSocket upgrades by default, which Convex's reactive sync depends on, so live queries work without extra directives.","The most familiar proxy, with TLS through Certbot. Add the HTTP\u002F1.1 upgrade headers on the API hostname, since Convex clients hold a WebSocket open for live queries, and raise proxy timeouts so idle subscriptions aren't dropped.",{},{"tools":4697,"descriptions":4730,"aliases":4733,"see_all":27},[4698,4714],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":4699,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4700,"subcategory":4701,"categories":4702,"subcategories":4704,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":4706,"score_reasonings":4713,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[4703],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4705],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[4707,4708,4709,4710,4711,4712],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":4715,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4716,"subcategory":4717,"categories":4718,"subcategories":4720,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":4722,"score_reasonings":4729,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[4719],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4721],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[4723,4724,4725,4726,4727,4728],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":4731,"dokploy":4732},"Free and self-hosted, running Convex's Compose file behind its bundled proxy with HTTPS for each hostname. Assign the API, HTTP-actions, and dashboard domains to their ports in the service, then generate the admin key from the backend container to sign in to the dashboard.","Free and self-hosted, deploying Convex's Compose file behind its bundled Traefik with a domain per port. Mount the SQLite data directory as a named volume and include it in Dokploy's backups, since that directory is the whole of the app's state.",{},{"tunnel":4735},{"tools":4736,"descriptions":4761,"aliases":4764,"preface":862,"see_all":27},[4737,4749],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":4738,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4739,"subcategory":4740,"categories":4741,"subcategories":4743,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":4745,"score_reasonings":4748,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[4742],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4744],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[4746,4747],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":4750,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4751,"subcategory":4752,"categories":4753,"subcategories":4755,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":4757,"score_reasonings":4760,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[4754],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4756],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[4758,4759],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":4762,"ngrok":4763},"Makes a Convex backend on a home server or private network reachable over HTTPS through outbound-only connections, with no inbound ports. Publish the API, HTTP-actions, and dashboard hostnames as separate tunnel routes, and set the origin variables to match.","The quicker-start tunnel for exposing a local Convex backend's HTTP actions to a webhook sender during development. Its free-tier limits suit that kind of testing rather than a production backend.",{},{"exposure":4766},{"name":899,"option_types":4767},[901,902],[],{"stack_id":4770,"name":4771,"slug":4772,"description":4773,"experience_level":213,"project_type":2284,"stack_type":4774,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":4775,"stack_data":4776,"resolved_tools":4782,"options":4860,"additions":5065,"option_groups":5096,"multi_select_option_types":5099},192,"Supabase Self-Hosted","supabase-self-hosted","Self-host the Supabase platform on your own server with the official Docker Compose setup. PostgreSQL is the core, Supabase Auth handles sign-in, PostgREST generates a REST API over your schema, and Realtime, Storage, Edge Functions, and Studio come in the same bundle. You get Supabase's APIs and client libraries with no usage caps, and you take on backups, updates, and sizing.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},134,{"Databases":4777,"Authentication":4778,"DevOps & CI\u002FCD":4780,"Hosting & Cloud":4781},[37],[4779],68,[224],[226],{"Databases":4783,"Authentication":4811,"DevOps & CI\u002FCD":4831,"Hosting & Cloud":4847},[4784],{"tool_id":37,"name":4785,"slug":4786,"tooltip_description":4787,"logo_url":4788,"logo_bg":44,"pricing_model":4789,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4790,"subcategory":4791,"categories":4792,"subcategories":4794,"flexibility_score":61,"performance_score":61,"portability_score":49,"is_featured":63,"tags":4796,"score_reasonings":4805,"published_date":269,"last_updated_date":168},"Supabase","supabase","Open-source Firebase alternative built on PostgreSQL. Provides a full backend stack with database, authentication, real-time subscriptions, file storage, and edge functions — deployable on Supabase Cloud or self-hosted.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fsupabase.svg",{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":37,"name":3033,"slug":3034},[4793],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[4795],{"subcategory_id":37,"name":3033,"slug":3034,"category_id":61,"is_primary":3,"display_order":7},[4797,4798,4799,4800,4801,4802,4803,4804],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":884,"name":885,"slug":886,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"tag_id":2696,"name":2697,"slug":2698,"tag_type":297},{"tag_id":3398,"name":3386,"slug":3387,"tag_type":297},{"learning_curve":4806,"flexibility":4807,"performance":4808,"popularity":4809,"portability":4810},"SQL and REST are familiar; realtime subscriptions and RLS policies need dedicated study.","PostgreSQL underneath supports any SQL; the Supabase client SDK nudges toward specific patterns.","PostgreSQL query performance is solid; edge functions are fast; realtime runs via Postgres LISTEN\u002FNOTIFY.","One of the most popular open-source BaaS platforms; rapidly growing developer community.","PostgreSQL underneath is open, but the Supabase SDK and realtime layer create meaningful lock-in.",[4812],{"tool_id":4779,"name":4813,"slug":4814,"tooltip_description":4815,"logo_url":4788,"logo_bg":44,"pricing_model":4816,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4817,"subcategory":27,"categories":4818,"subcategories":4820,"flexibility_score":62,"performance_score":61,"portability_score":49,"is_featured":63,"tags":4821,"score_reasonings":4825,"published_date":269,"last_updated_date":168},"Supabase Auth","supabase-auth","Supabase Auth is the open-source authentication service built into Supabase, tied to PostgreSQL Row Level Security so the signed-in user's identity drives database access rules.",{"slug":76,"display_name":77,"description":78},{"category_id":3385,"name":3386,"slug":3387},[4819],{"category_id":3385,"name":3386,"slug":3387,"is_primary":3,"display_order":7},[],[4822,4823,4824],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":3398,"name":3386,"slug":3387,"tag_type":297},{"learning_curve":4826,"performance":4827,"portability":4828,"flexibility":4829,"popularity":4830},"Row-level security policies and JWT configuration require solid backend experience.","GoTrue is a lightweight Go service; fast token verification and session management.","Based on open standards like JWT and OAuth with a Supabase wrapper; partially portable.","Row-level security, custom JWT claims, and auth hooks provide deep control over auth logic.","Popular within the Supabase ecosystem; growing alongside Supabase's adoption.",[4832],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":4833,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4834,"subcategory":4835,"categories":4836,"subcategories":4838,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":4840,"score_reasonings":4846,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[4837],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4839],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[4841,4842,4843,4844,4845],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[4848],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":4849,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4850,"subcategory":4851,"categories":4852,"subcategories":4854,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4856,"score_reasonings":4859,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4853],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4855],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4857,4858],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":4861,"orm":4865,"authentication":4869,"analytics":4873,"coding_agent":4877,"llm":4881,"language":4885,"frontend_framework":4889,"cms":4893,"hosting":4897,"reverse_proxy":4978,"self_hosted_paas":5027},{"tools":4862,"descriptions":4863,"aliases":4864,"see_all":27},[],{},{},{"tools":4866,"descriptions":4867,"aliases":4868,"see_all":27},[],{},{},{"tools":4870,"descriptions":4871,"aliases":4872,"see_all":27},[],{},{},{"tools":4874,"descriptions":4875,"aliases":4876,"see_all":27},[],{},{},{"tools":4878,"descriptions":4879,"aliases":4880,"see_all":27},[],{},{},{"tools":4882,"descriptions":4883,"aliases":4884,"see_all":27},[],{},{},{"tools":4886,"descriptions":4887,"aliases":4888,"see_all":27},[],{},{},{"tools":4890,"descriptions":4891,"aliases":4892,"see_all":27},[],{},{},{"tools":4894,"descriptions":4895,"aliases":4896,"see_all":27},[],{},{},{"tools":4898,"descriptions":4970,"aliases":4976,"see_all":4977},[4899,4911,4927,4939,4954],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":4900,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4901,"subcategory":4902,"categories":4903,"subcategories":4905,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4907,"score_reasonings":4910,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4904],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4906],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4908,4909],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":4912,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4913,"subcategory":4914,"categories":4915,"subcategories":4917,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":4919,"score_reasonings":4926,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[4916],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4918],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[4920,4921,4922,4923,4924,4925],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":4928,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4929,"subcategory":4930,"categories":4931,"subcategories":4933,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":4935,"score_reasonings":4938,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[4932],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4934],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[4936,4937],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":4940,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4941,"subcategory":4942,"categories":4943,"subcategories":4945,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":4947,"score_reasonings":4953,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[4944],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4946],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[4948,4949,4950,4951,4952],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":4955,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4956,"subcategory":4957,"categories":4958,"subcategories":4960,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":4962,"score_reasonings":4969,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[4959],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[4961],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[4963,4964,4965,4966,4967,4968],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":4971,"digitalocean":4972,"hostinger":4973,"aws":4974,"gcp":4975},"A flat-rate root VPS where 8 GB instances, Supabase's recommended size, cost around €8-10\u002Fmo, a fraction of the big clouds. The cheapest way to run the full bundle with headroom; database backups, storage-volume backups, and the monthly updates are yours to schedule.","A root Droplet with snapshots and a cloud firewall in the panel: about $24\u002Fmo for 4 GB, Supabase's minimum, or $48\u002Fmo for the recommended 8 GB. Spaces can serve as the S3-compatible backend for Supabase Storage, which moves uploaded files off the Droplet's disk.","The budget VPS in the list: the KVM plan with 2 vCPUs and 8 GB, Supabase's recommended memory, costs about $9\u002Fmo on a two-year term, with higher renewal rates. It suits side projects and staging copies; fewer regions than the larger providers, and backups are yours.","An EC2 instance at roughly $50-70\u002Fmo for 8 GB, inside the VPC where the rest of the product runs. S3 can back Supabase Storage through its S3 protocol support, and an Application Load Balancer with AWS Certificate Manager can terminate TLS in front of the API gateway instead of the reverse proxy.","A Compute Engine instance at roughly $50-70\u002Fmo for 8 GB, inside an existing Google Cloud project. Cloud Load Balancing with Google-managed certificates can terminate TLS in front of the API gateway instead of the reverse proxy, and persistent-disk snapshots give the database volume a simple backup path.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":4979,"descriptions":5022,"aliases":5026,"see_all":27},[4980,4994,5008],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":4981,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4982,"subcategory":4983,"categories":4984,"subcategories":4986,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":4988,"score_reasonings":4993,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[4985],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[4987],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[4989,4990,4991,4992],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":4995,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":4996,"subcategory":4997,"categories":4998,"subcategories":5000,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":5002,"score_reasonings":5007,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[4999],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5001],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[5003,5004,5005,5006],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":5009,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5010,"subcategory":5011,"categories":5012,"subcategories":5014,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":5016,"score_reasonings":5021,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[5013],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5015],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[5017,5018,5019,5020],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":5023,"caddy":5024,"nginx":5025},"Routes to Supabase's API gateway from Docker labels and renews Let's Encrypt certificates on its own. Send the whole domain to the gateway on port 8000 rather than to individual services, and set SITE_URL, API_EXTERNAL_URL, and SUPABASE_PUBLIC_URL to the public HTTPS address.","Automatic HTTPS from a few lines of config: one site block proxying to the API gateway covers the whole bundle. Caddy passes WebSocket upgrades by default, which Realtime subscriptions need, so change streams work without extra directives.","The most familiar proxy, with TLS through Certbot. Proxy the domain to the API gateway, add the HTTP\u002F1.1 upgrade headers so Realtime's WebSockets connect, and raise client_max_body_size, since NGINX's 1 MB default rejects most Storage uploads.",{},{"tools":5028,"descriptions":5061,"aliases":5064,"see_all":27},[5029,5045],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":5030,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5031,"subcategory":5032,"categories":5033,"subcategories":5035,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":5037,"score_reasonings":5044,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[5034],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5036],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[5038,5039,5040,5041,5042,5043],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":5046,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5047,"subcategory":5048,"categories":5049,"subcategories":5051,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":5053,"score_reasonings":5060,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[5050],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5052],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[5054,5055,5056,5057,5058,5059],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":5062,"dokploy":5063},"Free and self-hosted, with a dedicated Supabase template that provisions the whole Compose bundle in one step behind Coolify's bundled proxy. It generates the secrets for you, which covers the most common self-hosting mistake; check how the template tracks Supabase's monthly updates before relying on it.","Free and self-hosted, deploying Supabase's official Compose file behind its bundled Traefik with HTTPS from the dashboard. Set the secrets and public URLs in the environment before the first start, and point Dokploy's scheduled backups at the database volume.",{},{"tunnel":5066},{"tools":5067,"descriptions":5092,"aliases":5095,"preface":862,"see_all":27},[5068,5080],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":5069,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5070,"subcategory":5071,"categories":5072,"subcategories":5074,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":5076,"score_reasonings":5079,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[5073],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5075],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[5077,5078],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":5081,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5082,"subcategory":5083,"categories":5084,"subcategories":5086,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":5088,"score_reasonings":5091,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[5085],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5087],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[5089,5090],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":5093,"ngrok":5094},"Makes self-hosted Supabase reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for an instance inside a private network. Point the tunnel at the API gateway, and keep Studio behind Cloudflare Access if it has to be reachable remotely.","The quicker-start tunnel for testing auth callbacks and webhooks against a Supabase instance on your own machine. Set the public URL variables to the tunnel address while testing; its free-tier limits suit development only.",{},{"exposure":5097},{"name":899,"option_types":5098},[901,902],[],{"stack_id":5101,"name":5102,"slug":5103,"description":5104,"experience_level":213,"project_type":2284,"stack_type":5105,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":1246,"stack_data":5106,"resolved_tools":5113,"options":5222,"additions":5427,"option_groups":5458,"multi_select_option_types":5461},193,"Sentry Self-Hosted","sentry-self-hosted","Self-host Sentry error tracking and performance monitoring on your own server with the official Docker Compose setup. PostgreSQL stores projects, issues, and users, ClickHouse stores event data, Redis handles caching and queues, and Kafka moves events between services. It's the heaviest stack in the family, and it keeps every error and trace on infrastructure you control.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},{"Databases":5107,"DevOps & CI\u002FCD":5108,"Hosting & Cloud":5109,"Data Engineering & ETL":5110,"Observability & Monitoring":5111},[158,519,1246],[224],[226],[2292],[5112],92,{"Databases":5114,"DevOps & CI\u002FCD":5155,"Hosting & Cloud":5171,"Data Engineering & ETL":5184,"Observability & Monitoring":5198},[5115,5129,5142],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":5116,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5117,"subcategory":5118,"categories":5119,"subcategories":5121,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":5123,"score_reasonings":5128,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[5120],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5122],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[5124,5125,5126,5127],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":519,"name":866,"slug":867,"tooltip_description":868,"logo_url":869,"logo_bg":44,"pricing_model":5130,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5131,"subcategory":5132,"categories":5133,"subcategories":5135,"flexibility_score":61,"performance_score":62,"portability_score":61,"is_featured":63,"tags":5137,"score_reasonings":5141,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":873,"name":874,"slug":875},[5134],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5136],{"subcategory_id":873,"name":874,"slug":875,"category_id":61,"is_primary":3,"display_order":7},[5138,5139,5140],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":884,"name":885,"slug":886,"tag_type":156},{"learning_curve":888,"flexibility":889,"performance":890,"portability":891,"popularity":892},{"tool_id":1246,"name":1268,"slug":1269,"tooltip_description":1270,"logo_url":1271,"logo_bg":44,"pricing_model":5143,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5144,"subcategory":5145,"categories":5146,"subcategories":5148,"flexibility_score":61,"performance_score":62,"portability_score":61,"is_featured":63,"tags":5150,"score_reasonings":5154,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":1275,"name":1276,"slug":1277},[5147],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5149],{"subcategory_id":1275,"name":1276,"slug":1277,"category_id":61,"is_primary":3,"display_order":7},[5151,5152,5153],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":1287,"flexibility":1288,"performance":1289,"popularity":1290,"portability":1291},[5156],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":5157,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5158,"subcategory":5159,"categories":5160,"subcategories":5162,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":5164,"score_reasonings":5170,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[5161],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5163],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[5165,5166,5167,5168,5169],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[5172],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":5173,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5174,"subcategory":5175,"categories":5176,"subcategories":5178,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5180,"score_reasonings":5183,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[5177],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5179],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[5181,5182],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},[5185],{"tool_id":2292,"name":2368,"slug":2369,"tooltip_description":2370,"logo_url":2371,"logo_bg":74,"pricing_model":5186,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5187,"subcategory":5188,"categories":5189,"subcategories":5191,"flexibility_score":62,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5193,"score_reasonings":5197,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":153,"name":2374,"slug":2375},{"subcategory_id":943,"name":2377,"slug":2378},[5190],{"category_id":153,"name":2374,"slug":2375,"is_primary":3,"display_order":7},[5192],{"subcategory_id":943,"name":2377,"slug":2378,"category_id":153,"is_primary":3,"display_order":7},[5194,5195,5196],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":2388,"flexibility":2389,"portability":2390,"popularity":2391,"performance":2392},[5199],{"tool_id":5112,"name":5200,"slug":5201,"tooltip_description":5202,"logo_url":5203,"logo_bg":74,"pricing_model":5204,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5205,"subcategory":5206,"categories":5207,"subcategories":5209,"flexibility_score":61,"performance_score":49,"portability_score":49,"is_featured":63,"tags":5211,"score_reasonings":5216,"published_date":269,"last_updated_date":168},"Sentry","sentry","Application monitoring platform that helps developers identify, diagnose, and fix errors and performance issues in real-time.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fsentry.svg",{"slug":76,"display_name":77,"description":78},{"category_id":1329,"name":1330,"slug":1331},{"subcategory_id":1073,"name":4064,"slug":4065},[5208],{"category_id":1329,"name":1330,"slug":1331,"is_primary":3,"display_order":7},[5210],{"subcategory_id":1073,"name":4064,"slug":4065,"category_id":1329,"is_primary":3,"display_order":7},[5212,5213,5214,5215],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":931,"name":4076,"slug":4077,"tag_type":297},{"learning_curve":5217,"portability":5218,"flexibility":5219,"performance":5220,"popularity":5221},"SDK installation is minimal; meaningful error grouping and alert tuning take more time.","Sentry SDK creates some coupling; error concepts and grouping logic transfer partially.","Issue grouping, alert rules, release tracking, and integrations are highly configurable.","SDK overhead is asynchronous but measurable; error capture adds to bundle size.","Widely used across the industry for error monitoring; significant open-source community.",{"database":5223,"orm":5227,"authentication":5231,"analytics":5235,"coding_agent":5239,"llm":5243,"language":5247,"frontend_framework":5251,"cms":5255,"hosting":5259,"reverse_proxy":5340,"self_hosted_paas":5389},{"tools":5224,"descriptions":5225,"aliases":5226,"see_all":27},[],{},{},{"tools":5228,"descriptions":5229,"aliases":5230,"see_all":27},[],{},{},{"tools":5232,"descriptions":5233,"aliases":5234,"see_all":27},[],{},{},{"tools":5236,"descriptions":5237,"aliases":5238,"see_all":27},[],{},{},{"tools":5240,"descriptions":5241,"aliases":5242,"see_all":27},[],{},{},{"tools":5244,"descriptions":5245,"aliases":5246,"see_all":27},[],{},{},{"tools":5248,"descriptions":5249,"aliases":5250,"see_all":27},[],{},{},{"tools":5252,"descriptions":5253,"aliases":5254,"see_all":27},[],{},{},{"tools":5256,"descriptions":5257,"aliases":5258,"see_all":27},[],{},{},{"tools":5260,"descriptions":5332,"aliases":5338,"see_all":5339},[5261,5273,5289,5301,5316],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":5262,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5263,"subcategory":5264,"categories":5265,"subcategories":5267,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5269,"score_reasonings":5272,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[5266],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5268],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[5270,5271],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":5274,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5275,"subcategory":5276,"categories":5277,"subcategories":5279,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5281,"score_reasonings":5288,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[5278],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5280],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[5282,5283,5284,5285,5286,5287],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":5290,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5291,"subcategory":5292,"categories":5293,"subcategories":5295,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":5297,"score_reasonings":5300,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[5294],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5296],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[5298,5299],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":5302,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5303,"subcategory":5304,"categories":5305,"subcategories":5307,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":5309,"score_reasonings":5315,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[5306],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5308],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[5310,5311,5312,5313,5314],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":5317,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5318,"subcategory":5319,"categories":5320,"subcategories":5322,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":5324,"score_reasonings":5331,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[5321],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5323],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[5325,5326,5327,5328,5329,5330],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":5333,"digitalocean":5334,"hostinger":5335,"aws":5336,"gcp":5337},"A flat-rate root VPS where 16 GB instances, Sentry's official floor, cost around €20\u002Fmo, the cheapest way to meet it on a mainstream provider. Configure the 16 GB of swap Sentry also asks for, and keep the server dedicated, since the bundle leaves little room for other workloads.","A root Droplet with snapshots and a cloud firewall in the panel. Meeting Sentry's 16 GB floor means a larger Droplet, about $96\u002Fmo, several times the VPS price elsewhere in this list; it fits teams already on DigitalOcean who want Sentry next to the services it monitors.","The budget path to Sentry's floor: Hostinger's KVM plan with 4 vCPUs and 16 GB costs about $13\u002Fmo on a two-year term, with higher renewal rates. Add the 16 GB of swap yourself, and snapshot before each monthly upgrade, since hard-stop migrations are the risky moment.","An EC2 instance with 4 vCPUs and 16 GB runs well over $100\u002Fmo on demand, plus EBS volumes for PostgreSQL and ClickHouse. It fits when crash data must stay inside an existing AWS account; an Application Load Balancer with AWS Certificate Manager is the dedicated TLS terminator Sentry recommends.","A Compute Engine instance with 4 vCPUs and 16 GB costs around $100\u002Fmo, plus persistent disks for PostgreSQL and ClickHouse. It fits when crash data must stay inside an existing Google Cloud project, with Cloud Load Balancing and Google-managed certificates terminating TLS in front of Sentry.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":5341,"descriptions":5384,"aliases":5388,"see_all":27},[5342,5356,5370],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":5343,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5344,"subcategory":5345,"categories":5346,"subcategories":5348,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":5350,"score_reasonings":5355,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[5347],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5349],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[5351,5352,5353,5354],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":5357,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5358,"subcategory":5359,"categories":5360,"subcategories":5362,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":5364,"score_reasonings":5369,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[5361],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5363],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[5365,5366,5367,5368],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":5371,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5372,"subcategory":5373,"categories":5374,"subcategories":5376,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":5378,"score_reasonings":5383,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[5375],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5377],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[5379,5380,5381,5382],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":5385,"caddy":5386,"nginx":5387},"Terminates TLS for Sentry's domain and forwards to the bundle's NGINX on port 9000. Set system.url-prefix to the public HTTPS address and enable Sentry's secure-proxy SSL settings in sentry.conf.py, or logins fail CSRF checks behind the proxy.","Automatic HTTPS in a few lines: one site block for Sentry's domain proxying to port 9000. Caddy sends X-Forwarded-Proto by default, which Sentry's secure-proxy setting reads; set system.url-prefix to match so links in alert emails point at the public address.","A host-level NGINX in front of the bundle's own, terminating TLS with Certbot and forwarding to port 9000. Raise client_max_body_size, since source maps and debug files uploaded by release builds easily exceed NGINX's 1 MB default.",{},{"tools":5390,"descriptions":5423,"aliases":5426,"see_all":27},[5391,5407],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":5392,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5393,"subcategory":5394,"categories":5395,"subcategories":5397,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":5399,"score_reasonings":5406,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[5396],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5398],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[5400,5401,5402,5403,5404,5405],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":5408,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5409,"subcategory":5410,"categories":5411,"subcategories":5413,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":5415,"score_reasonings":5422,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[5412],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5414],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[5416,5417,5418,5419,5420,5421],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":5424,"dokploy":5425},"Free and self-hosted, used here as the TLS layer rather than the deployer: Sentry installs through its own install.sh script, which runs migrations and creates the first user. Route Sentry's domain to port 9000 through Coolify's proxy configuration and keep upgrades on Sentry's script.","Free and self-hosted, with its bundled Traefik serving as the TLS terminator in front of Sentry's port 9000. As with Coolify, leave Sentry's installation and monthly upgrades to its own install.sh rather than redeploying the roughly 70-service Compose file from the dashboard.",{},{"tunnel":5428},{"tools":5429,"descriptions":5454,"aliases":5457,"preface":862,"see_all":27},[5430,5442],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":5431,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5432,"subcategory":5433,"categories":5434,"subcategories":5436,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":5438,"score_reasonings":5441,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[5435],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5437],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[5439,5440],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":5443,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5444,"subcategory":5445,"categories":5446,"subcategories":5448,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":5450,"score_reasonings":5453,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[5447],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5449],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[5451,5452],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":5455,"ngrok":5456},"Makes Sentry reachable over HTTPS through an outbound-only connection, with no inbound ports or static IP, for an instance inside a private network. Your apps' SDKs must reach the ingestion endpoint from wherever they run, so publish that path through the tunnel and set system.url-prefix to the tunnel hostname.","The quicker-start tunnel for sending test events from a local or staging app to a Sentry instance on your own machine. Its free-tier limits suit that testing rather than a production ingestion endpoint.",{},{"exposure":5459},{"name":899,"option_types":5460},[901,902],[],{"stack_id":5463,"name":5464,"slug":5465,"description":5466,"experience_level":213,"project_type":1936,"stack_type":5467,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":905,"stack_data":5468,"resolved_tools":5474,"options":5560,"additions":5820,"option_groups":5851,"multi_select_option_types":5854},218,"Superset Self-Hosted","apache-superset-self-hosted","Apache Superset on your own server with Docker: a SQL metadata database (PostgreSQL by default, MySQL and MariaDB also supported) and Redis behind the Celery workers, keeping every dashboard, query, and user record on your infrastructure.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},{"Databases":5469,"BI & Analytics":5470,"DevOps & CI\u002FCD":5472,"Hosting & Cloud":5473},[158,519],[5471],95,[224],[226],{"Databases":5475,"BI & Analytics":5503,"DevOps & CI\u002FCD":5531,"Hosting & Cloud":5547},[5476,5490],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":5477,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5478,"subcategory":5479,"categories":5480,"subcategories":5482,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":5484,"score_reasonings":5489,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[5481],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5483],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[5485,5486,5487,5488],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":519,"name":866,"slug":867,"tooltip_description":868,"logo_url":869,"logo_bg":44,"pricing_model":5491,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5492,"subcategory":5493,"categories":5494,"subcategories":5496,"flexibility_score":61,"performance_score":62,"portability_score":61,"is_featured":63,"tags":5498,"score_reasonings":5502,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":873,"name":874,"slug":875},[5495],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5497],{"subcategory_id":873,"name":874,"slug":875,"category_id":61,"is_primary":3,"display_order":7},[5499,5500,5501],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":884,"name":885,"slug":886,"tag_type":156},{"learning_curve":888,"flexibility":889,"performance":890,"portability":891,"popularity":892},[5504],{"tool_id":5471,"name":5505,"slug":5506,"tooltip_description":5507,"logo_url":5508,"logo_bg":44,"pricing_model":5509,"learning_curve_score":61,"popularity_score":109,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5510,"subcategory":5511,"categories":5512,"subcategories":5514,"flexibility_score":62,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5516,"score_reasonings":5525,"published_date":269,"last_updated_date":168},"Apache Superset","apache-superset","Apache Superset is a modern, enterprise-ready open-source BI platform offering a no-code chart builder, web-based SQL editor, and 50+ database connectors under the Apache 2.0 license.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fapache-superset.svg",{"slug":46,"display_name":47,"description":48},{"category_id":1969,"name":1970,"slug":1971},{"subcategory_id":1973,"name":1974,"slug":1975},[5513],{"category_id":1969,"name":1970,"slug":1971,"is_primary":3,"display_order":7},[5515],{"subcategory_id":1973,"name":1974,"slug":1975,"category_id":1969,"is_primary":3,"display_order":7},[5517,5520,5521,5522,5523,5524],{"tag_id":37,"name":5518,"slug":5519,"tag_type":253},"Python","python",{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":1275,"name":1986,"slug":1987,"tag_type":297},{"tag_id":1989,"name":1990,"slug":1991,"tag_type":297},{"learning_curve":5526,"portability":5527,"flexibility":5528,"performance":5529,"popularity":5530},"Self-hosted setup is involved; SQL Lab is approachable but the semantic layer requires expertise.","Open source with standard SQL; highly portable across warehouses and teams.","Custom charts, SQL Lab, semantic layer, and plugin architecture make it highly extensible.","Async query execution with a caching layer significantly improves dashboard load times.","Open-source alternative to Tableau and Looker; growing community but still relatively niche.",[5532],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":5533,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5534,"subcategory":5535,"categories":5536,"subcategories":5538,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":5540,"score_reasonings":5546,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[5537],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5539],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[5541,5542,5543,5544,5545],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[5548],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":5549,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5550,"subcategory":5551,"categories":5552,"subcategories":5554,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5556,"score_reasonings":5559,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[5553],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5555],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[5557,5558],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":5561,"orm":5620,"authentication":5624,"analytics":5628,"coding_agent":5632,"llm":5636,"language":5640,"frontend_framework":5644,"cms":5648,"hosting":5652,"reverse_proxy":5733,"self_hosted_paas":5782},{"tools":5562,"descriptions":5614,"aliases":5618,"see_all":5619},[5563,5577,5591],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":5564,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5565,"subcategory":5566,"categories":5567,"subcategories":5569,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":5571,"score_reasonings":5576,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[5568],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5570],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[5572,5573,5574,5575],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":916,"name":954,"slug":955,"tooltip_description":956,"logo_url":957,"logo_bg":44,"pricing_model":5578,"learning_curve_score":109,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5579,"subcategory":5580,"categories":5581,"subcategories":5583,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":5585,"score_reasonings":5590,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[5582],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5584],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[5586,5587,5588,5589],{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":971,"learning_curve":972,"flexibility":973,"popularity":974,"portability":975},{"tool_id":4003,"name":5592,"slug":5593,"tooltip_description":5594,"logo_url":5595,"logo_bg":44,"pricing_model":5596,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5597,"subcategory":5598,"categories":5599,"subcategories":5601,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5603,"score_reasonings":5608,"published_date":269,"last_updated_date":168},"MariaDB","mariadb","MariaDB is an open-source relational database forked from MySQL by its original creators, offering a fully GPL-licensed community server with an improved query optimizer, additional storage engines, and Galera Cluster for synchronous multi-master replication.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fmariadb.svg",{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[5600],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5602],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[5604,5605,5606,5607],{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":5609,"flexibility":5610,"performance":5611,"popularity":5612,"portability":5613},"Fully MySQL-compatible SQL and the same tooling ecosystem apply — anyone familiar with MySQL can adopt MariaDB immediately; advanced features like Galera Cluster and ColumnStore have their own learning curve.","Additional storage engines (Aria, ColumnStore, Spider) and Galera Cluster expand the option space beyond standard MySQL; still a relational database at its core, limiting flexibility for non-tabular workloads.","Improved query optimizer (Rowid Filtering, better statistics), community-edition thread pool, and the Aria engine for temporary tables deliver measurably better throughput than MySQL on complex queries and concurrent workloads.","The default MySQL replacement in Debian, Ubuntu, and RHEL; widely used in production but significantly less prevalent than MySQL in tutorials, shared hosting, and the broader public ecosystem.","Drop-in replacement for MySQL — same connectors, ORMs, and cloud managed services (AWS RDS for MariaDB, Cloud SQL, Azure Database) work without modification; minor SQL dialect divergences from MySQL 8.x may surface at the edges.",{"postgresql":5615,"mysql":5616,"mariadb":5617},"Superset's most-deployed metadata database and the Compose default: dashboards, charts, users, saved queries, and query history all land here. The default Compose volume isn't backed up, so a real deployment schedules its own dumps.","Supported for the metadata database. Choose it when your platform standard is MySQL and you'd rather not run a second engine for the BI layer, and accept that the official guides and the Compose default assume PostgreSQL, so most setup help reads that way.","Works for the metadata store wherever MySQL does, through the same driver and schema: a drop-in for shops already standardized on MariaDB. The caveat matches MySQL's, since the deployment guides assume PostgreSQL, so MariaDB earns its place through your existing estate.",{},{"kind":459,"slug":240,"name":239,"href":460},{"tools":5621,"descriptions":5622,"aliases":5623,"see_all":27},[],{},{},{"tools":5625,"descriptions":5626,"aliases":5627,"see_all":27},[],{},{},{"tools":5629,"descriptions":5630,"aliases":5631,"see_all":27},[],{},{},{"tools":5633,"descriptions":5634,"aliases":5635,"see_all":27},[],{},{},{"tools":5637,"descriptions":5638,"aliases":5639,"see_all":27},[],{},{},{"tools":5641,"descriptions":5642,"aliases":5643,"see_all":27},[],{},{},{"tools":5645,"descriptions":5646,"aliases":5647,"see_all":27},[],{},{},{"tools":5649,"descriptions":5650,"aliases":5651,"see_all":27},[],{},{},{"tools":5653,"descriptions":5725,"aliases":5731,"see_all":5732},[5654,5666,5682,5694,5709],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":5655,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5656,"subcategory":5657,"categories":5658,"subcategories":5660,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5662,"score_reasonings":5665,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[5659],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5661],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[5663,5664],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":5667,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5668,"subcategory":5669,"categories":5670,"subcategories":5672,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5674,"score_reasonings":5681,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[5671],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5673],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[5675,5676,5677,5678,5679,5680],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":5683,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5684,"subcategory":5685,"categories":5686,"subcategories":5688,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":5690,"score_reasonings":5693,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[5687],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5689],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[5691,5692],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":5695,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5696,"subcategory":5697,"categories":5698,"subcategories":5700,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":5702,"score_reasonings":5708,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[5699],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5701],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[5703,5704,5705,5706,5707],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":5710,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5711,"subcategory":5712,"categories":5713,"subcategories":5715,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":5717,"score_reasonings":5724,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[5714],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5716],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[5718,5719,5720,5721,5722,5723],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":5726,"digitalocean":5727,"hostinger":5728,"aws":5729,"gcp":5730},"The default: a flat-rate root VPS whose entry instance has 4 GB of memory for around €4-5\u002Fmo, Superset's starting size, and 8 GB instances, the size community admins report for a moderately used instance, cost around €8-10\u002Fmo. PostgreSQL and Redis fit on the same server.","A root Droplet with snapshots and a cloud firewall in the panel: about $24\u002Fmo for 4 GB or $48\u002Fmo for 8 GB. Managed PostgreSQL (from about $15\u002Fmo) can hold the metadata database with automated backups, which Superset's own docs say the default Compose volume doesn't have.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo on a two-year term) has 4 GB, and the next plan 8 GB for about $9\u002Fmo, both on two-year terms with higher renewals. The cheapest way to reach the moderate-instance size, with fewer regions than the larger providers.","An EC2 instance at roughly $30-70\u002Fmo for 4-8 GB. It makes sense once dashboards sit inside a VPC next to the warehouse they query, such as Redshift or RDS; RDS can hold the metadata database, and EKS runs the Helm chart the project recommends for production.","A Compute Engine instance at roughly $30-70\u002Fmo for 4-8 GB, worth it when Superset queries BigQuery over private paths. Cloud SQL can hold the metadata database, and GKE, free for one zonal cluster's management, runs the Helm chart the project recommends for production.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":5734,"descriptions":5777,"aliases":5781,"see_all":27},[5735,5749,5763],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":5736,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5737,"subcategory":5738,"categories":5739,"subcategories":5741,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":5743,"score_reasonings":5748,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[5740],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5742],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[5744,5745,5746,5747],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":5750,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5751,"subcategory":5752,"categories":5753,"subcategories":5755,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":5757,"score_reasonings":5762,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[5754],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5756],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[5758,5759,5760,5761],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":5764,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5765,"subcategory":5766,"categories":5767,"subcategories":5769,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":5771,"score_reasonings":5776,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[5768],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5770],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[5772,5773,5774,5775],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":5778,"caddy":5779,"nginx":5780},"Terminates TLS in front of Superset's web server on port 8088 and routes by Docker label, so Compose restarts need no manual reloads. Set ENABLE_PROXY_FIX in superset_config.py so Superset trusts the forwarded scheme and builds HTTPS links.","The same TLS termination with a short config: automatic Let's Encrypt certificates for port 8088 and nothing to renew by hand. Caddy applies no short response timeout by default, so long SQL Lab queries aren't cut off at the proxy.","The classic choice in front of Superset, with TLS through Certbot. Raise proxy_read_timeout above the 60-second default so long SQL Lab queries finish, forward the scheme and host headers, and turn on ENABLE_PROXY_FIX on the Superset side.",{},{"tools":5783,"descriptions":5816,"aliases":5819,"see_all":27},[5784,5800],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":5785,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5786,"subcategory":5787,"categories":5788,"subcategories":5790,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":5792,"score_reasonings":5799,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[5789],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5791],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[5793,5794,5795,5796,5797,5798],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":5801,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5802,"subcategory":5803,"categories":5804,"subcategories":5806,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":5808,"score_reasonings":5815,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[5805],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5807],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[5809,5810,5811,5812,5813,5814],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":5817,"dokploy":5818},"Free and self-hosted, deploying Superset's image with PostgreSQL and Redis beside it and TLS through Coolify's bundled Traefik. Set SECRET_KEY in the environment before first start, since Superset refuses to run in production with the default key.","Free and self-hosted, running a Superset Compose setup behind its bundled Traefik with HTTPS from the dashboard. Its scheduled database backups can cover the metadata PostgreSQL, the piece Superset's docs warn is unprotected in the default Compose volume.",{},{"tunnel":5821},{"tools":5822,"descriptions":5847,"aliases":5850,"preface":862,"see_all":27},[5823,5835],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":5824,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5825,"subcategory":5826,"categories":5827,"subcategories":5829,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":5831,"score_reasonings":5834,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[5828],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5830],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[5832,5833],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":5836,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5837,"subcategory":5838,"categories":5839,"subcategories":5841,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":5843,"score_reasonings":5846,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[5840],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5842],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[5844,5845],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":5848,"ngrok":5849},"An outbound-only tunnel fits an internal dashboard on a home server or behind a restrictive firewall: Superset stays reachable with no inbound ports and no static IP.","The same outbound model with a quicker start, good for a demo dashboard. The free tier is less generous for permanent internal use.",{},{"exposure":5852},{"name":899,"option_types":5853},[901,902],[],{"stack_id":5856,"name":5857,"slug":5858,"description":5859,"experience_level":909,"project_type":5860,"stack_type":5861,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":1932,"stack_data":5862,"resolved_tools":5868,"options":5938,"additions":6173,"option_groups":6204,"multi_select_option_types":6207},221,"Prefect Self-Hosted","prefect-self-hosted","A Python-first orchestrator that runs on one container: Prefect server with a SQL backend (PostgreSQL for production, SQLite for single-server setups), no cloud account and no per-run bill.","data_pipeline",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},{"Databases":5863,"DevOps & CI\u002FCD":5864,"Hosting & Cloud":5865,"Data Engineering & ETL":5866},[158],[224],[226],[5867],132,{"Databases":5869,"DevOps & CI\u002FCD":5884,"Hosting & Cloud":5900,"Data Engineering & ETL":5913},[5870],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":5871,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5872,"subcategory":5873,"categories":5874,"subcategories":5876,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":5878,"score_reasonings":5883,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[5875],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5877],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[5879,5880,5881,5882],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},[5885],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":5886,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5887,"subcategory":5888,"categories":5889,"subcategories":5891,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":5893,"score_reasonings":5899,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[5890],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[5892],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[5894,5895,5896,5897,5898],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[5901],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":5902,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5903,"subcategory":5904,"categories":5905,"subcategories":5907,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":5909,"score_reasonings":5912,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[5906],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[5908],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[5910,5911],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},[5914],{"tool_id":5867,"name":5915,"slug":5916,"tooltip_description":5917,"logo_url":5918,"logo_bg":74,"pricing_model":5919,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5920,"subcategory":5921,"categories":5924,"subcategories":5926,"flexibility_score":61,"performance_score":49,"portability_score":61,"is_featured":63,"tags":5928,"score_reasonings":5932,"published_date":269,"last_updated_date":168},"Prefect","prefect","Python-native workflow orchestration framework for building resilient data pipelines. Lighter and more developer-friendly than Airflow, with a managed cloud option and a fully free self-hosted edition.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fprefect.svg",{"slug":76,"display_name":77,"description":78},{"category_id":153,"name":2374,"slug":2375},{"subcategory_id":533,"name":5922,"slug":5923},"Orchestration","orchestration",[5925],{"category_id":153,"name":2374,"slug":2375,"is_primary":3,"display_order":7},[5927],{"subcategory_id":533,"name":5922,"slug":5923,"category_id":153,"is_primary":3,"display_order":7},[5929,5930,5931],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":5933,"flexibility":5934,"performance":5935,"popularity":5936,"portability":5937},"Decorate existing Python functions with @flow and @task — no new DSL to learn; local testing works identically to production execution.","Supports any Python logic with bring-your-own-compute via work pools — runs flows on Kubernetes, cloud functions, or local processes without vendor lock-in.","Orchestration overhead is minimal; end-to-end flow latency is dominated by the tasks themselves, not the Prefect scheduler or server.","Growing adoption among Python data teams but significantly smaller than Airflow; roughly 17k GitHub stars as of 2026 with frequent release cadence.","Apache 2.0 licensed engine; Python flow patterns transfer to Dagster with moderate effort; all underlying task logic is plain Python with no proprietary abstractions.",{"database":5939,"orm":5973,"authentication":5977,"analytics":5981,"coding_agent":5985,"llm":5989,"language":5993,"frontend_framework":5997,"cms":6001,"hosting":6005,"reverse_proxy":6086,"self_hosted_paas":6135},{"tools":5940,"descriptions":5968,"aliases":5971,"see_all":5972},[5941,5955],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":5942,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5943,"subcategory":5944,"categories":5945,"subcategories":5947,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":5949,"score_reasonings":5954,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[5946],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5948],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[5950,5951,5952,5953],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":394,"name":395,"slug":396,"tooltip_description":397,"logo_url":398,"logo_bg":74,"pricing_model":5956,"learning_curve_score":37,"popularity_score":62,"hosting_assignment_type":400,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":5957,"subcategory":5958,"categories":5959,"subcategories":5961,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":5963,"score_reasonings":5967,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":52,"name":403,"slug":404},[5960],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[5962],{"subcategory_id":52,"name":403,"slug":404,"category_id":61,"is_primary":3,"display_order":7},[5964,5965,5966],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":414,"popularity":415,"portability":416,"learning_curve":417,"flexibility":418},{"postgresql":5969,"sqlite":5970},"Prefect's production backend: version 14.9 or newer with the pg_trgm extension. It holds flows, runs, deployments, and the event history that automations read, and it's required for high availability and multi-server setups. Event retention defaults to 7 days, which keeps it small.","The zero-setup default for single-server setups: one file beside the server and no database to run. It suits a team that will never scale past one machine; high availability, multiple server instances, and heavy event volume need PostgreSQL.",{},{"kind":459,"slug":240,"name":239,"href":460},{"tools":5974,"descriptions":5975,"aliases":5976,"see_all":27},[],{},{},{"tools":5978,"descriptions":5979,"aliases":5980,"see_all":27},[],{},{},{"tools":5982,"descriptions":5983,"aliases":5984,"see_all":27},[],{},{},{"tools":5986,"descriptions":5987,"aliases":5988,"see_all":27},[],{},{},{"tools":5990,"descriptions":5991,"aliases":5992,"see_all":27},[],{},{},{"tools":5994,"descriptions":5995,"aliases":5996,"see_all":27},[],{},{},{"tools":5998,"descriptions":5999,"aliases":6000,"see_all":27},[],{},{},{"tools":6002,"descriptions":6003,"aliases":6004,"see_all":27},[],{},{},{"tools":6006,"descriptions":6078,"aliases":6084,"see_all":6085},[6007,6019,6035,6047,6062],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":6008,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6009,"subcategory":6010,"categories":6011,"subcategories":6013,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6015,"score_reasonings":6018,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[6012],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6014],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[6016,6017],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":6020,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6021,"subcategory":6022,"categories":6023,"subcategories":6025,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6027,"score_reasonings":6034,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[6024],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6026],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[6028,6029,6030,6031,6032,6033],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":6036,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6037,"subcategory":6038,"categories":6039,"subcategories":6041,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":6043,"score_reasonings":6046,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[6040],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6042],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[6044,6045],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":6048,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6049,"subcategory":6050,"categories":6051,"subcategories":6053,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":6055,"score_reasonings":6061,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[6052],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6054],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[6056,6057,6058,6059,6060],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":6063,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6064,"subcategory":6065,"categories":6066,"subcategories":6068,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":6070,"score_reasonings":6077,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[6067],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6069],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[6071,6072,6073,6074,6075,6076],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":6079,"digitalocean":6080,"hostinger":6081,"aws":6082,"gcp":6083},"The default: a flat-rate root VPS from around €4-5\u002Fmo whose entry instance has 4 GB, several times what the server and PostgreSQL need, so the same box can also run a worker for light flows. A fixed bill beats per-deployment Cloud pricing at any volume.","A root Droplet with snapshots and a cloud firewall in the panel: the 1 GB Droplet (about $6\u002Fmo) runs the server with SQLite, and 2 GB (about $12\u002Fmo) adds PostgreSQL. Managed PostgreSQL (from about $15\u002Fmo) is the low-ops home for the backend if you'd rather not run it.","The budget VPS in the list: the entry KVM plan (about $6.50\u002Fmo on a two-year term) has 4 GB of memory, room for the server, PostgreSQL, and a worker running light flows. Fewer regions than the larger providers, so place it near the data your flows move.","The server on a small EC2 instance or ECS task for roughly $10-20\u002Fmo, close to the compute your work pools target, with RDS as a managed home for the PostgreSQL backend. It earns its place when flows run on ECS, Batch, or EKS in the same VPC.","The same placement on Google Cloud: a small Compute Engine instance or Cloud Run for the server at roughly $10-20\u002Fmo, Cloud SQL behind it, and workers pushing flow runs to Cloud Run jobs or GKE in the same network as the data.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":6087,"descriptions":6130,"aliases":6134,"see_all":27},[6088,6102,6116],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":6089,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6090,"subcategory":6091,"categories":6092,"subcategories":6094,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":6096,"score_reasonings":6101,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6093],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6095],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6097,6098,6099,6100],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":6103,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6104,"subcategory":6105,"categories":6106,"subcategories":6108,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":6110,"score_reasonings":6115,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6107],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6109],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6111,6112,6113,6114],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":6117,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6118,"subcategory":6119,"categories":6120,"subcategories":6122,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":6124,"score_reasonings":6129,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6121],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6123],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6125,6126,6127,6128],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":6131,"caddy":6132,"nginx":6133},"Handles TLS and label-based routing in front of the server on port 4200. Set PREFECT_SERVER_UI_API_URL to the public HTTPS API address, or the UI in the browser calls the internal one, and let WebSocket connections through for the event stream workers use.","Automatic TLS from a short config, the lightest path to an HTTPS server for a small team. Caddy passes WebSocket upgrades by default, which Prefect's clients and workers use to stream events, so nothing extra is needed beyond the UI's public API URL.","The conventional choice when a shared front door already terminates TLS on the host. Add the HTTP\u002F1.1 upgrade headers for the events WebSocket, and remember that the proxy doesn't replace Prefect's own basic-auth setting if the API must be protected.",{},{"tools":6136,"descriptions":6169,"aliases":6172,"see_all":27},[6137,6153],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":6138,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6139,"subcategory":6140,"categories":6141,"subcategories":6143,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":6145,"score_reasonings":6152,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[6142],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6144],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[6146,6147,6148,6149,6150,6151],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":6154,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6155,"subcategory":6156,"categories":6157,"subcategories":6159,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":6161,"score_reasonings":6168,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[6158],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6160],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[6162,6163,6164,6165,6166,6167],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":6170,"dokploy":6171},"Free and self-hosted, running the Prefect server image with PostgreSQL beside it and TLS from Coolify's bundled Traefik. Set the basic-auth string and the UI's public API URL in the service's environment before exposing it.","Free and self-hosted, running the server container behind its bundled Traefik with HTTPS from the dashboard, and able to run workers as separate services on the same box. Scheduled backups cover the PostgreSQL service.",{},{"tunnel":6174},{"tools":6175,"descriptions":6200,"aliases":6203,"preface":862,"see_all":27},[6176,6188],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":6177,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6178,"subcategory":6179,"categories":6180,"subcategories":6182,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":6184,"score_reasonings":6187,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[6181],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6183],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[6185,6186],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":6189,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6190,"subcategory":6191,"categories":6192,"subcategories":6194,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":6196,"score_reasonings":6199,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[6193],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6195],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[6197,6198],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":6201,"ngrok":6202},"An outbound-only connection keeps the server reachable from anywhere without inbound ports, the right shape for a home-lab orchestrator.","The same tunnel with a faster quick-start: fine for evaluation, tighter limits for a permanent server.",{},{"exposure":6205},{"name":899,"option_types":6206},[901,902],[],{"stack_id":6209,"name":6210,"slug":6211,"description":6212,"experience_level":213,"project_type":6213,"stack_type":6214,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":2657,"stack_data":6215,"resolved_tools":6222,"options":6336,"additions":6586,"option_groups":6617,"multi_select_option_types":6620},223,"MLflow Self-Hosted","mlflow-self-hosted","Experiment tracking, model registry, and deployment tracing on your own server: a FastAPI tracking server with a SQL backend (PostgreSQL by default; MySQL and SQLite also supported) and an artifact store you control.","ml_project",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},{"Databases":6216,"DevOps & CI\u002FCD":6217,"Hosting & Cloud":6218,"Backend Frameworks":6219,"Data & ML Libraries":6220},[158],[224],[226],[440],[6221],147,{"Databases":6223,"DevOps & CI\u002FCD":6238,"Hosting & Cloud":6254,"Backend Frameworks":6267,"Data & ML Libraries":6295},[6224],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":6225,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6226,"subcategory":6227,"categories":6228,"subcategories":6230,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":6232,"score_reasonings":6237,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[6229],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[6231],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[6233,6234,6235,6236],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},[6239],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":6240,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6241,"subcategory":6242,"categories":6243,"subcategories":6245,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":6247,"score_reasonings":6253,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[6244],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6246],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[6248,6249,6250,6251,6252],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[6255],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":6256,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6257,"subcategory":6258,"categories":6259,"subcategories":6261,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6263,"score_reasonings":6266,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[6260],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6262],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[6264,6265],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},[6268],{"tool_id":440,"name":6269,"slug":6270,"tooltip_description":6271,"logo_url":6272,"logo_bg":44,"pricing_model":6273,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6274,"subcategory":6277,"categories":6280,"subcategories":6282,"flexibility_score":61,"performance_score":62,"portability_score":61,"is_featured":3,"tags":6284,"score_reasonings":6289,"published_date":269,"last_updated_date":168},"FastAPI","fastapi","FastAPI is a modern Python framework for building APIs from standard type hints, with automatic OpenAPI documentation, Pydantic validation, and native async support.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Ffastapi.svg",{"slug":76,"display_name":77,"description":78},{"category_id":109,"name":6275,"slug":6276},"Backend Frameworks","backend-frameworks",{"subcategory_id":255,"name":6278,"slug":6279},"Python Backend Frameworks","python-backend-frameworks",[6281],{"category_id":109,"name":6275,"slug":6276,"is_primary":3,"display_order":7},[6283],{"subcategory_id":255,"name":6278,"slug":6279,"category_id":109,"is_primary":3,"display_order":7},[6285,6286,6287,6288],{"tag_id":37,"name":5518,"slug":5519,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"tag_id":2696,"name":2697,"slug":2698,"tag_type":297},{"learning_curve":6290,"performance":6291,"flexibility":6292,"portability":6293,"popularity":6294},"Pythonic decorator routing with type hints; the API is effectively self-documenting.","Built on Starlette and uvicorn; one of the fastest Python web frameworks available.","Thin framework with powerful dependency injection; swap any component and extend freely.","Standard Python HTTP; easy to move to Flask or Starlette with minimal changes.","Fastest-growing Python web framework; widely adopted for API and ML service development.",[6296],{"tool_id":6221,"name":6297,"slug":6298,"tooltip_description":6299,"logo_url":6300,"logo_bg":44,"pricing_model":6301,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6302,"subcategory":6305,"categories":6309,"subcategories":6311,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":6313,"score_reasonings":6330,"published_date":269,"last_updated_date":168},"MLflow","mlflow","Open-source platform for the machine learning and generative AI lifecycle: experiment tracking, a model registry, model packaging, and tracing and evaluation for LLM applications.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fmlflow.svg",{"slug":46,"display_name":47,"description":48},{"category_id":440,"name":6303,"slug":6304},"Data & ML Libraries","data-ml-libraries",{"subcategory_id":6306,"name":6307,"slug":6308},47,"ML Operations","ml-operations",[6310],{"category_id":440,"name":6303,"slug":6304,"is_primary":3,"display_order":7},[6312],{"subcategory_id":6306,"name":6307,"slug":6308,"category_id":440,"is_primary":3,"display_order":7},[6314,6315,6316,6317,6318,6319,6323,6326,6329],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":37,"name":5518,"slug":5519,"tag_type":253},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"tag_id":6320,"name":6321,"slug":6322,"tag_type":297},39,"Data Science","data-science",{"tag_id":873,"name":6324,"slug":6325,"tag_type":297},"Data Engineering","data-engineering",{"tag_id":1973,"name":6327,"slug":6328,"tag_type":297},"Data Pipelines","data-pipelines",{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"learning_curve":6331,"flexibility":6332,"performance":6333,"popularity":6334,"portability":6335},"Basic experiment tracking (autolog + UI) takes minutes to learn. Full setup with model registry, multi-user auth, and deployment integrations has a meaningful ramp that goes beyond the initial quick start.","Highly pluggable: swappable tracking stores (SQLite, PostgreSQL, MySQL), artifact backends (S3, GCS, Azure Blob, SFTP), and custom evaluation judges via plugin API. Very configurable, though conventions around the tracking server and run lifecycle still apply.","Handles hundreds of concurrent runs and multi-GB artifact storage reliably. Gateway server was merged into the tracking server in v3.9 to reduce overhead. Minor UI slowdowns at very high run counts.","The most widely adopted ML experiment tracking tool — 20K+ GitHub stars, 60M+ monthly PyPI downloads, deeply embedded in the MLOps ecosystem. Dominant within the experiment tracking niche but that niche is narrow; minimal presence outside the ML engineering community.","Completely self-hostable, cloud-agnostic, backend-agnostic, and open-source licensed. Managed option available via Databricks but no lock-in — teams can migrate tracking stores and artifact backends without touching their training code.",{"database":6337,"orm":6386,"authentication":6390,"analytics":6394,"coding_agent":6398,"llm":6402,"language":6406,"frontend_framework":6410,"cms":6414,"hosting":6418,"reverse_proxy":6499,"self_hosted_paas":6548},{"tools":6338,"descriptions":6380,"aliases":6384,"see_all":6385},[6339,6353,6367],{"tool_id":158,"name":232,"slug":233,"tooltip_description":234,"logo_url":235,"logo_bg":44,"pricing_model":6340,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6341,"subcategory":6342,"categories":6343,"subcategories":6345,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":6347,"score_reasonings":6352,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[6344],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[6346],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[6348,6349,6350,6351],{"tag_id":61,"name":251,"slug":252,"tag_type":253},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"learning_curve":264,"flexibility":265,"performance":266,"portability":267,"popularity":268},{"tool_id":916,"name":954,"slug":955,"tooltip_description":956,"logo_url":957,"logo_bg":44,"pricing_model":6354,"learning_curve_score":109,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6355,"subcategory":6356,"categories":6357,"subcategories":6359,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":6361,"score_reasonings":6366,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[6358],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[6360],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[6362,6363,6364,6365],{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":971,"learning_curve":972,"flexibility":973,"popularity":974,"portability":975},{"tool_id":394,"name":395,"slug":396,"tooltip_description":397,"logo_url":398,"logo_bg":74,"pricing_model":6368,"learning_curve_score":37,"popularity_score":62,"hosting_assignment_type":400,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6369,"subcategory":6370,"categories":6371,"subcategories":6373,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":6375,"score_reasonings":6379,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":52,"name":403,"slug":404},[6372],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[6374],{"subcategory_id":52,"name":403,"slug":404,"category_id":61,"is_primary":3,"display_order":7},[6376,6377,6378],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":414,"popularity":415,"portability":416,"learning_curve":417,"flexibility":418},{"postgresql":6381,"mysql":6382,"sqlite":6383},"The production backend store: runs, parameters, metrics, and the model registry live here, and it handles the concurrent writes of parallel training jobs. It also holds the users and permissions of MLflow's basic auth, so a multi-user server wants it behind it. Back it up alongside the artifact store.","A supported backend store alongside PostgreSQL, and the right pick where your platform already runs MySQL. The trade is documentation gravity: MLflow's guides and examples assume PostgreSQL or SQLite, so MySQL is the standardized-estate choice, not the ecosystem's default.","The zero-setup default: one file on the server's disk, fine for a single-user lab. SQLite serializes writes, so the first parallel training runs surface database-locked errors; that's the signal to move to PostgreSQL before the history you care about piles up.",{},{"kind":459,"slug":240,"name":239,"href":460},{"tools":6387,"descriptions":6388,"aliases":6389,"see_all":27},[],{},{},{"tools":6391,"descriptions":6392,"aliases":6393,"see_all":27},[],{},{},{"tools":6395,"descriptions":6396,"aliases":6397,"see_all":27},[],{},{},{"tools":6399,"descriptions":6400,"aliases":6401,"see_all":27},[],{},{},{"tools":6403,"descriptions":6404,"aliases":6405,"see_all":27},[],{},{},{"tools":6407,"descriptions":6408,"aliases":6409,"see_all":27},[],{},{},{"tools":6411,"descriptions":6412,"aliases":6413,"see_all":27},[],{},{},{"tools":6415,"descriptions":6416,"aliases":6417,"see_all":27},[],{},{},{"tools":6419,"descriptions":6491,"aliases":6497,"see_all":6498},[6420,6432,6448,6460,6475],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":6421,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6422,"subcategory":6423,"categories":6424,"subcategories":6426,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6428,"score_reasonings":6431,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[6425],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6427],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[6429,6430],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":6433,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6434,"subcategory":6435,"categories":6436,"subcategories":6438,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6440,"score_reasonings":6447,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[6437],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6439],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[6441,6442,6443,6444,6445,6446],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":6449,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6450,"subcategory":6451,"categories":6452,"subcategories":6454,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":6456,"score_reasonings":6459,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[6453],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6455],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[6457,6458],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":565,"name":566,"slug":567,"tooltip_description":568,"logo_url":569,"logo_bg":44,"pricing_model":6461,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6462,"subcategory":6463,"categories":6464,"subcategories":6466,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":6468,"score_reasonings":6474,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[6465],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6467],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[6469,6470,6471,6472,6473],{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"learning_curve":586,"flexibility":587,"performance":588,"portability":589,"popularity":590},{"tool_id":592,"name":593,"slug":594,"tooltip_description":595,"logo_url":596,"logo_bg":44,"pricing_model":6476,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6477,"subcategory":6478,"categories":6479,"subcategories":6481,"flexibility_score":62,"performance_score":62,"portability_score":49,"is_featured":63,"tags":6483,"score_reasonings":6490,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":158,"name":573,"slug":574},[6480],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6482],{"subcategory_id":158,"name":573,"slug":574,"category_id":62,"is_primary":3,"display_order":7},[6484,6485,6486,6487,6488,6489],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":440,"name":441,"slug":442,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":242,"name":611,"slug":612,"tag_type":297},{"learning_curve":614,"flexibility":615,"performance":616,"portability":617,"popularity":618},{"hetzner":6492,"digitalocean":6493,"hostinger":6494,"aws":6495,"gcp":6496},"The default: the tracking server and its SQL backend fit the smallest instances, and a fixed bill keeps experiment volume off the invoice. A CX22-class box at roughly €4\u002Fmo carries a small team's server, with artifact storage the first thing that outgrows it.","Root-server Droplets run the same container-plus-database deployment from about $6\u002Fmo, with panel-managed snapshots and firewall included. Managed PostgreSQL behind the droplet is the low-ops path when you would rather not run the database yourself; the natural home when a small project's other infrastructure already sits in the DO panel.","The KVM VPS line (intro pricing around $5\u002Fmo, renewals higher) is enough for a lab-grade tracking server, with a beginner-friendly panel trading some control for convenience. Enough for a solo server; move up when the team grows or artifacts need durability.","The managed-cloud fit when training runs on EC2 or SageMaker: the tracking server sits in the same VPC, artifacts land in S3, and RDS can host the backend store as a managed database. Pay-as-you-go means an always-on small instance lands around $15\u002Fmo before storage, so it earns its place through workload proximity, not price.","The same argument on the Google side: Vertex AI and Compute Engine training jobs reach the server privately, artifacts go to GCS, and Cloud SQL manages the backend store. An always-on e2-small-class instance runs roughly $13\u002Fmo before storage; pick it when the training estate is already in GCP.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":6500,"descriptions":6543,"aliases":6547,"see_all":27},[6501,6515,6529],{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":6502,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6503,"subcategory":6504,"categories":6505,"subcategories":6507,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":6509,"score_reasonings":6514,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6506],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6508],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6510,6511,6512,6513],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":6516,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6517,"subcategory":6518,"categories":6519,"subcategories":6521,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":6523,"score_reasonings":6528,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6520],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6522],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6524,6525,6526,6527],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":6530,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6531,"subcategory":6532,"categories":6533,"subcategories":6535,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":6537,"score_reasonings":6542,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6534],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6536],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6538,6539,6540,6541],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"traefik":6544,"caddy":6545,"nginx":6546},"Terminates TLS in front of the tracking server from one routing label and renews certificates on its own. Artifact uploads pass through the server when it proxies the artifact store, so there's no body-size limit to raise, unlike NGINX.","Automatic certificates for the tracking endpoint from a short config, giving training jobs an HTTPS tracking URI without a renewal job. Caddy has no default request-size limit, so large model artifacts upload through the server without extra settings.","The conventional pattern in front of the tracking server, with TLS through Certbot. Raise client_max_body_size well above the 1 MB default, since artifact uploads through the server carry whole model files, and extend timeouts for large uploads from slow training nodes.",{},{"tools":6549,"descriptions":6582,"aliases":6585,"see_all":27},[6550,6566],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":6551,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6552,"subcategory":6553,"categories":6554,"subcategories":6556,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":6558,"score_reasonings":6565,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[6555],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6557],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[6559,6560,6561,6562,6563,6564],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":6567,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6568,"subcategory":6569,"categories":6570,"subcategories":6572,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":6574,"score_reasonings":6581,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[6571],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6573],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[6575,6576,6577,6578,6579,6580],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":6583,"dokploy":6584},"Free and self-hosted, running the MLflow server image with PostgreSQL attached and TLS from Coolify's bundled Traefik. Mount the artifact directory as a persistent volume, or point MLflow at S3-compatible storage, so models survive redeploys.","Free and self-hosted, running the same server-plus-database deployment behind its bundled Traefik with HTTPS from the dashboard. Its scheduled backups cover PostgreSQL; the artifact store needs its own backup, since models don't live in the database.",{},{"tunnel":6587},{"tools":6588,"descriptions":6613,"aliases":6616,"preface":862,"see_all":27},[6589,6601],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":6590,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6591,"subcategory":6592,"categories":6593,"subcategories":6595,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":6597,"score_reasonings":6600,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[6594],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6596],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[6598,6599],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":6602,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6603,"subcategory":6604,"categories":6605,"subcategories":6607,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":6609,"score_reasonings":6612,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[6606],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6608],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[6610,6611],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":6614,"ngrok":6615},"Exposes the tracking server without inbound ports, useful for a lab server on a home network or a VPS you would rather not open.","The quick-start alternative for temporary access to a tracking server. Its free tier is the constraint for permanent use.",{},{"exposure":6618},{"name":899,"option_types":6619},[901,902],[],{"stack_id":6622,"name":6623,"slug":6624,"description":6625,"experience_level":909,"project_type":910,"stack_type":6626,"canvas_display_order":27,"is_displayed_on_canvas":63,"tool_detail_page_order":3006,"stack_data":6627,"resolved_tools":6633,"options":6709,"additions":6924,"option_groups":6955,"multi_select_option_types":6958},224,"WordPress Self-Hosted","wordpress-self-hosted","The CMS behind the open web on your own server: WordPress with its own database (MariaDB by default; MySQL equally supported) and Docker, with any plugin and any theme, and no managed-WP vendor in sight.",{"stack_type_id":109,"slug":216,"name":217,"description":218,"icon_url":219},{"CMS":6628,"Databases":6630,"DevOps & CI\u002FCD":6631,"Hosting & Cloud":6632},[6629],31,[4003],[224],[226],{"CMS":6634,"Databases":6665,"DevOps & CI\u002FCD":6680,"Hosting & Cloud":6696},[6635],{"tool_id":6629,"name":6636,"slug":6637,"tooltip_description":6638,"logo_url":6639,"logo_bg":44,"pricing_model":6640,"learning_curve_score":37,"popularity_score":62,"hosting_assignment_type":347,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6641,"subcategory":6642,"categories":6643,"subcategories":6645,"flexibility_score":61,"performance_score":49,"portability_score":49,"is_featured":63,"tags":6647,"score_reasonings":6659,"published_date":269,"last_updated_date":168},"WordPress","wordpress","The most widely used CMS, running about 40% of all websites. Open-source PHP platform with a block editor, themes, and a plugin ecosystem, self-hosted or managed on WordPress.com.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fwordpress.svg",{"slug":46,"display_name":47,"description":48},{"category_id":359,"name":928,"slug":929},{"subcategory_id":931,"name":932,"slug":933},[6644],{"category_id":359,"name":928,"slug":929,"is_primary":3,"display_order":7},[6646],{"subcategory_id":931,"name":932,"slug":933,"category_id":359,"is_primary":3,"display_order":7},[6648,6652,6653,6654,6655,6658],{"tag_id":6649,"name":6650,"slug":6651,"tag_type":253},8,"PHP","php",{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":359,"name":360,"slug":361,"tag_type":156},{"tag_id":6629,"name":6656,"slug":6657,"tag_type":297},"E-commerce","e-commerce",{"tag_id":943,"name":944,"slug":945,"tag_type":297},{"learning_curve":6660,"performance":6661,"flexibility":6662,"portability":6663,"popularity":6664},"Visual admin and block editor are accessible to non-developers from day one.","Adequate with caching; plugin overhead and PHP rendering slow uncached pages significantly.","Plugin and theme hooks are vast; major structural choices are fixed by WordPress core.","Plugin hooks and WXR export provide some portability; themes are WordPress-specific.","Powers roughly 43% of all websites globally; the most deployed CMS in the world.",[6666],{"tool_id":4003,"name":5592,"slug":5593,"tooltip_description":5594,"logo_url":5595,"logo_bg":44,"pricing_model":6667,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6668,"subcategory":6669,"categories":6670,"subcategories":6672,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6674,"score_reasonings":6679,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[6671],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[6673],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[6675,6676,6677,6678],{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":5609,"flexibility":5610,"performance":5611,"popularity":5612,"portability":5613},[6681],{"tool_id":224,"name":272,"slug":273,"tooltip_description":274,"logo_url":275,"logo_bg":44,"pricing_model":6682,"learning_curve_score":61,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6683,"subcategory":6684,"categories":6685,"subcategories":6687,"flexibility_score":62,"performance_score":61,"portability_score":62,"is_featured":3,"tags":6689,"score_reasonings":6695,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":279,"name":280,"slug":281},[6686],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6688],{"subcategory_id":279,"name":280,"slug":281,"category_id":52,"is_primary":3,"display_order":7},[6690,6691,6692,6693,6694],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":294,"name":295,"slug":296,"tag_type":297},{"tag_id":299,"name":300,"slug":301,"tag_type":161},{"learning_curve":303,"performance":304,"portability":305,"flexibility":306,"popularity":307},[6697],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":6698,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6699,"subcategory":6700,"categories":6701,"subcategories":6703,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6705,"score_reasonings":6708,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[6702],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6704],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[6706,6707],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"database":6710,"orm":6745,"authentication":6749,"analytics":6753,"coding_agent":6757,"llm":6761,"language":6765,"frontend_framework":6769,"cms":6773,"hosting":6777,"reverse_proxy":6837,"self_hosted_paas":6886},{"tools":6711,"descriptions":6740,"aliases":6743,"see_all":6744},[6712,6726],{"tool_id":4003,"name":5592,"slug":5593,"tooltip_description":5594,"logo_url":5595,"logo_bg":44,"pricing_model":6713,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6714,"subcategory":6715,"categories":6716,"subcategories":6718,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6720,"score_reasonings":6725,"published_date":269,"last_updated_date":168},{"slug":46,"display_name":47,"description":48},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[6717],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[6719],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[6721,6722,6723,6724],{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":5609,"flexibility":5610,"performance":5611,"popularity":5612,"portability":5613},{"tool_id":916,"name":954,"slug":955,"tooltip_description":956,"logo_url":957,"logo_bg":44,"pricing_model":6727,"learning_curve_score":109,"popularity_score":62,"hosting_assignment_type":237,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6728,"subcategory":6729,"categories":6730,"subcategories":6732,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":6734,"score_reasonings":6739,"published_date":269,"last_updated_date":168},{"slug":76,"display_name":77,"description":78},{"category_id":61,"name":239,"slug":240},{"subcategory_id":242,"name":243,"slug":244},[6731],{"category_id":61,"name":239,"slug":240,"is_primary":3,"display_order":7},[6733],{"subcategory_id":242,"name":243,"slug":244,"category_id":61,"is_primary":3,"display_order":7},[6735,6736,6737,6738],{"tag_id":228,"name":261,"slug":262,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"performance":971,"learning_curve":972,"flexibility":973,"popularity":974,"portability":975},{"mariadb":6741,"mysql":6742},"The WordPress community's standard database and the default in the official Docker Compose examples: fully supported and community-maintained. It holds posts, users, settings, and plugin data, while uploads stay on disk, so a backup needs both.","The other first-class WordPress database. Pick it where your tooling or hosting standard already assumes MySQL; WordPress treats the two interchangeably, and a dump from one restores into the other for a typical site.",{},{"kind":459,"slug":240,"name":239,"href":460},{"tools":6746,"descriptions":6747,"aliases":6748,"see_all":27},[],{},{},{"tools":6750,"descriptions":6751,"aliases":6752,"see_all":27},[],{},{},{"tools":6754,"descriptions":6755,"aliases":6756,"see_all":27},[],{},{},{"tools":6758,"descriptions":6759,"aliases":6760,"see_all":27},[],{},{},{"tools":6762,"descriptions":6763,"aliases":6764,"see_all":27},[],{},{},{"tools":6766,"descriptions":6767,"aliases":6768,"see_all":27},[],{},{},{"tools":6770,"descriptions":6771,"aliases":6772,"see_all":27},[],{},{},{"tools":6774,"descriptions":6775,"aliases":6776,"see_all":27},[],{},{},{"tools":6778,"descriptions":6830,"aliases":6835,"see_all":6836},[6779,6791,6803,6819],{"tool_id":226,"name":310,"slug":311,"tooltip_description":312,"logo_url":313,"logo_bg":74,"pricing_model":6780,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6781,"subcategory":6782,"categories":6783,"subcategories":6785,"flexibility_score":49,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6787,"score_reasonings":6790,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[6784],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6786],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[6788,6789],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"learning_curve":336,"flexibility":337,"performance":338,"portability":339,"popularity":340},{"tool_id":543,"name":544,"slug":545,"tooltip_description":546,"logo_url":547,"logo_bg":74,"pricing_model":6792,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6793,"subcategory":6794,"categories":6795,"subcategories":6797,"flexibility_score":49,"performance_score":49,"portability_score":49,"is_featured":63,"tags":6799,"score_reasonings":6802,"published_date":269,"last_updated_date":168},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":322,"name":323,"slug":324},[6796],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6798],{"subcategory_id":322,"name":323,"slug":324,"category_id":62,"is_primary":3,"display_order":7},[6800,6801],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":559,"flexibility":560,"performance":561,"popularity":562,"portability":563},{"tool_id":508,"name":509,"slug":510,"tooltip_description":511,"logo_url":512,"logo_bg":74,"pricing_model":6804,"learning_curve_score":109,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6805,"subcategory":6806,"categories":6807,"subcategories":6809,"flexibility_score":61,"performance_score":61,"portability_score":61,"is_featured":63,"tags":6811,"score_reasonings":6818,"published_date":269,"last_updated_date":168},{"slug":514,"display_name":515,"description":516},{"category_id":62,"name":319,"slug":320},{"subcategory_id":519,"name":520,"slug":521},[6808],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6810],{"subcategory_id":519,"name":520,"slug":521,"category_id":62,"is_primary":3,"display_order":7},[6812,6813,6814,6815,6816,6817],{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":20,"name":444,"slug":445,"tag_type":156},{"tag_id":332,"name":333,"slug":334,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":533,"name":534,"slug":535,"tag_type":297},{"learning_curve":537,"flexibility":538,"performance":539,"popularity":540,"portability":541},{"tool_id":646,"name":647,"slug":648,"tooltip_description":649,"logo_url":650,"logo_bg":44,"pricing_model":6820,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6821,"subcategory":6822,"categories":6823,"subcategories":6825,"flexibility_score":61,"performance_score":109,"portability_score":49,"is_featured":63,"tags":6827,"score_reasonings":6829,"published_date":168,"last_updated_date":27},{"slug":315,"display_name":316,"description":317},{"category_id":62,"name":319,"slug":320},{"subcategory_id":654,"name":655,"slug":656},[6824],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6826],{"subcategory_id":654,"name":655,"slug":656,"category_id":62,"is_primary":3,"display_order":7},[6828],{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"learning_curve":664,"flexibility":665,"performance":666,"popularity":667,"portability":668},{"hetzner":6831,"hostinger":6832,"digitalocean":6833,"raspberry-pi":6834},"The default: a flat-rate root VPS whose entry instance has 4 GB of memory for around €4-5\u002Fmo, double what a few modest WordPress sites need, so a handful of sites share it. The fixed bill replaces every per-site managed price; backups and updates are yours.","Hostinger's VPS line (not its shared WordPress plans) gives a root server from about $6.50\u002Fmo with 4 GB of memory and a beginner-friendly panel, a bridge between managed hosting and full self-hosting. Promotional prices assume a two-year term, with higher renewals.","DigitalOcean's WordPress 1-Click starts the stack pre-assembled, the quickest first deploy. The 2 GB Droplet (about $12\u002Fmo) fits a few modest sites, snapshots cover whole-server backups, and Spaces can offload the media library through a plugin.","A hobbyist target: the official WordPress image has ARM64 builds and runs fine for a home or lab site with no monthly bill. A home connection and SD-card storage make it the free tier of self-hosting rather than a production plan; pair it with a tunnel instead of opening ports.",{},{"kind":459,"slug":320,"name":319,"href":679},{"tools":6838,"descriptions":6881,"aliases":6885,"see_all":27},[6839,6853,6867],{"tool_id":88,"name":89,"slug":90,"tooltip_description":91,"logo_url":92,"logo_bg":44,"pricing_model":6840,"learning_curve_score":49,"popularity_score":62,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6841,"subcategory":6842,"categories":6843,"subcategories":6845,"flexibility_score":62,"performance_score":62,"portability_score":62,"is_featured":63,"tags":6847,"score_reasonings":6852,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6844],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6846],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6848,6849,6850,6851],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":734,"flexibility":735,"performance":736,"popularity":737,"portability":738},{"tool_id":39,"name":40,"slug":41,"tooltip_description":42,"logo_url":43,"logo_bg":44,"pricing_model":6854,"learning_curve_score":37,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6855,"subcategory":6856,"categories":6857,"subcategories":6859,"flexibility_score":49,"performance_score":61,"portability_score":62,"is_featured":63,"tags":6861,"score_reasonings":6866,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6858],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6860],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6862,6863,6864,6865],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":715,"flexibility":716,"performance":717,"popularity":718,"portability":719},{"tool_id":69,"name":70,"slug":71,"tooltip_description":72,"logo_url":73,"logo_bg":74,"pricing_model":6868,"learning_curve_score":49,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6869,"subcategory":6870,"categories":6871,"subcategories":6873,"flexibility_score":61,"performance_score":61,"portability_score":62,"is_featured":63,"tags":6875,"score_reasonings":6880,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":56,"name":57,"slug":58},[6872],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6874],{"subcategory_id":56,"name":57,"slug":58,"category_id":52,"is_primary":3,"display_order":7},[6876,6877,6878,6879],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":696,"flexibility":697,"performance":698,"popularity":699,"portability":700},{"nginx":6882,"caddy":6883,"traefik":6884},"The classic WordPress front, with fast static-file serving that every caching-plugin guide assumes. In front of the official Apache image it proxies with X-Forwarded-Proto set; WordPress then needs its HTTPS detection added in wp-config.php, or logins loop between HTTP and HTTPS.","Automatic certificates from a small config, the least upkeep for a few sites. Caddy sends X-Forwarded-Proto by default, and WordPress still needs to trust it: set HTTPS from that header in wp-config.php, or admin logins redirect in a loop.","Routes each site's container by Docker label and renews certificates automatically, which suits several WordPress sites on one server. The same wp-config.php line that reads X-Forwarded-Proto applies, and PHP's upload limit, not Traefik, is what blocks large media.",{},{"tools":6887,"descriptions":6920,"aliases":6923,"see_all":27},[6888,6904],{"tool_id":747,"name":748,"slug":749,"tooltip_description":750,"logo_url":751,"logo_bg":44,"pricing_model":6889,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6890,"subcategory":6891,"categories":6892,"subcategories":6894,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":6896,"score_reasonings":6903,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[6893],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6895],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[6897,6898,6899,6900,6901,6902],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":773,"flexibility":774,"performance":775,"popularity":776,"portability":777},{"tool_id":779,"name":780,"slug":781,"tooltip_description":782,"logo_url":783,"logo_bg":44,"pricing_model":6905,"learning_curve_score":109,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6906,"subcategory":6907,"categories":6908,"subcategories":6910,"flexibility_score":61,"performance_score":49,"portability_score":62,"is_featured":63,"tags":6912,"score_reasonings":6919,"published_date":168,"last_updated_date":27},{"slug":46,"display_name":47,"description":48},{"category_id":62,"name":319,"slug":320},{"subcategory_id":755,"name":756,"slug":757},[6909],{"category_id":62,"name":319,"slug":320,"is_primary":3,"display_order":7},[6911],{"subcategory_id":755,"name":756,"slug":757,"category_id":62,"is_primary":3,"display_order":7},[6913,6914,6915,6916,6917,6918],{"tag_id":255,"name":47,"slug":256,"tag_type":156},{"tag_id":52,"name":258,"slug":259,"tag_type":156},{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":767,"name":768,"slug":769,"tag_type":156},{"tag_id":290,"name":291,"slug":292,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":799,"flexibility":800,"performance":801,"popularity":802,"portability":803},{"coolify":6921,"dokploy":6922},"Free and self-hosted, with a one-click WordPress template that ships the CMS with its database and HTTPS through Coolify's bundled Traefik, the fastest credible start short of a marketplace Droplet. Check that wp-config.php trusts X-Forwarded-Proto behind its proxy, or logins redirect in a loop.","Free and self-hosted, with a WordPress template of CMS, database, and proxy from its catalog. Its scheduled backups cover the database; add the wp-content volume, where uploads, themes, and plugins live, or a restore brings back posts without their images.",{},{"tunnel":6925},{"tools":6926,"descriptions":6951,"aliases":6954,"preface":862,"see_all":27},[6927,6939],{"tool_id":126,"name":127,"slug":128,"tooltip_description":129,"logo_url":130,"logo_bg":44,"pricing_model":6928,"learning_curve_score":49,"popularity_score":49,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6929,"subcategory":6930,"categories":6931,"subcategories":6933,"flexibility_score":61,"performance_score":61,"portability_score":109,"is_featured":63,"tags":6935,"score_reasonings":6938,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[6932],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6934],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[6936,6937],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":823,"flexibility":824,"performance":825,"popularity":826,"portability":827},{"tool_id":140,"name":141,"slug":141,"tooltip_description":142,"logo_url":143,"logo_bg":74,"pricing_model":6940,"learning_curve_score":37,"popularity_score":61,"hosting_assignment_type":27,"hosting_provider_restriction":50,"hosting_target_restriction":50,"hosting_compatible_tool_ids":27,"parent_tool_id":27,"category":6941,"subcategory":6942,"categories":6943,"subcategories":6945,"flexibility_score":49,"performance_score":49,"portability_score":61,"is_featured":63,"tags":6947,"score_reasonings":6950,"published_date":168,"last_updated_date":27},{"slug":76,"display_name":77,"description":78},{"category_id":52,"name":53,"slug":54},{"subcategory_id":112,"name":113,"slug":114},[6944],{"category_id":52,"name":53,"slug":54,"is_primary":3,"display_order":7},[6946],{"subcategory_id":112,"name":113,"slug":114,"category_id":52,"is_primary":3,"display_order":7},[6948,6949],{"tag_id":153,"name":154,"slug":155,"tag_type":156},{"tag_id":158,"name":159,"slug":160,"tag_type":161},{"learning_curve":163,"flexibility":164,"performance":165,"popularity":166,"portability":167},{"cloudflare-tunnel":6952,"ngrok":6953},"Keeps a home or lab WordPress reachable without opening ports or paying for a static IP: outbound-only, with Cloudflare's edge in front.","A quick temporary tunnel for staging a site before DNS moves. Not the permanent home for production traffic.",{},{"exposure":6956},{"name":899,"option_types":6957},[901,902],[],1790518500676]