[{"data":1,"prerenderedAt":662},["ShallowReactive",2],{"categories-init":3,"stack-apache-airflow-self-hosted":4},true,{"stack_id":5,"slug":6,"name":7,"tagline":8,"long_description":9,"key_features":10,"use_cases":17,"pros":23,"cons":27,"cover_image_url":32,"scores":33,"options":47,"additions":410,"option_groups":411,"multi_select_option_types":412,"tools_by_category":413,"related_stacks":542,"faqs":611,"pricing":627,"system_requirements":642,"experience_level":569,"project_type":657,"stack_type_slug":549,"stack_type_icon_url":550,"published_date":99,"last_updated_date":32,"seo_meta":658},219,"apache-airflow-self-hosted","Airflow Self-Hosted","Self-hosted Apache Airflow: the standard data-pipeline scheduler on your infrastructure.","Airflow Self-Hosted runs Apache Airflow on your own server from the project's official Docker Compose file. It starts **the full Airflow 3 platform**: the API server behind the UI, the scheduler that triggers every DAG run, a separate DAG processor that parses your pipeline files, a Celery worker and a triggerer for execution, Redis as the queue between them, and PostgreSQL as the metadata database for DAGs, runs, and task history.\n\nAirflow is the de facto standard orchestrator in data engineering. Pipelines are plain Python, with **retries, backfills, and dependency ordering** handled by the scheduler instead of a cron table, and hundreds of provider packages cover AWS, GCP, dbt, Spark, and nearly every warehouse a pipeline touches.\n\nSelf-hosting keeps pipeline code and run history private and **off the managed tiers**: Astronomer, Amazon MWAA, and Google Cloud Composer all price by workers and environment size. Pipelines on your own server can also reach internal databases over a private network without a cloud egress hop.\n\nThe trade is that Airflow is **a scheduler you operate**. Airflow's docs present the Compose file as a quick-start without production security guarantees, so a real deployment changes the default login and secret keys, puts TLS in front of port 8080, and plans for upgrades, worker capacity, and log retention. Teams that want plain Python with a lighter footprint should compare Prefect Self-Hosted.",[11,12,13,14,15,16],"Official Docker Compose deployment: API server, scheduler, DAG processor, Celery worker, and triggerer","PostgreSQL metadata database for DAGs, runs, and task history","Redis as the message queue between scheduler and workers","Pipelines as plain Python with retries, backfills, and dependency ordering built in","REST API for triggering and watching runs from other systems","Hundreds of provider packages for AWS, GCP, dbt, Spark, and more",[18,19,20,21,22],"Data teams scheduling ELT and warehouse transformations as Python DAGs","Pipelines that must reach internal databases on a private network","Organizations replacing a managed Airflow bill with a fixed server","Machine-learning teams orchestrating training and batch-scoring jobs","Engineering teams consolidating cron jobs into one observable scheduler",[24,25,26],"The most battle-tested open-source orchestrator in data engineering","Python-native: no YAML DSL, and every integration is importable code","A provider ecosystem no other orchestrator matches",[28,29,30,31],"Operationally heavy: a multi-service deployment you harden, operate, and upgrade","The official Compose file is a quick-start, not a production-hardened setup","The UI is engineer-facing, not a tool for stakeholders","Executor and worker sizing decisions arrive early and are hard to undo",null,{"popularity":34,"learning_curve":37,"flexibility":40,"performance":42,"portability":44},{"score":35,"reasoning":36},5,"Airflow is the de facto standard orchestrator in data engineering and a common line on data-engineering job descriptions.",{"score":38,"reasoning":39},4,"Writing DAGs is plain Python, but operating Airflow means several services, executors, hardening the Compose setup, and upgrades that touch the metadata database.",{"score":38,"reasoning":41},"Anything Python can do can be a task, and hundreds of provider packages connect DAGs to nearly every cloud service and warehouse.",{"score":38,"reasoning":43},"One server runs a sizable pipeline estate, and the Celery executor spreads tasks across more workers when runs start queueing.",{"score":45,"reasoning":46},3,"DAGs are plain Python that run on any Airflow, self-hosted or managed, though they are written against Airflow's own operators and APIs.",{"database":48,"orm":142,"authentication":146,"analytics":150,"coding_agent":154,"llm":158,"language":162,"frontend_framework":166,"cms":170,"hosting":174,"reverse_proxy":321,"self_hosted_paas":406},{"tools":49,"descriptions":135,"aliases":138,"see_all":139},[50,100],{"tool_id":51,"name":52,"slug":53,"tooltip_description":54,"logo_url":55,"logo_bg":56,"pricing_model":57,"learning_curve_score":45,"popularity_score":35,"hosting_assignment_type":61,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":63,"subcategory":66,"categories":70,"subcategories":73,"flexibility_score":35,"performance_score":38,"portability_score":35,"is_featured":3,"tags":75,"score_reasonings":92,"published_date":98,"last_updated_date":99},40,"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","dark",{"slug":58,"display_name":59,"description":60},"open_source","Open Source","Source code is publicly available and free to use, modify, and distribute. No paid plans from the project itself.","deployable","open",{"category_id":38,"name":64,"slug":65},"Databases","databases",{"subcategory_id":67,"name":68,"slug":69},25,"OLTP Databases","oltp-databases",[71],{"category_id":38,"name":64,"slug":65,"is_primary":3,"display_order":72},0,[74],{"subcategory_id":67,"name":68,"slug":69,"category_id":38,"is_primary":3,"display_order":72},[76,80,84,88],{"tag_id":38,"name":77,"slug":78,"tag_type":79},"SQL","sql","technology",{"tag_id":81,"name":59,"slug":82,"tag_type":83},11,"open-source","feature",{"tag_id":85,"name":86,"slug":87,"tag_type":83},12,"Self-hostable","self-hostable",{"tag_id":89,"name":90,"slug":91,"tag_type":83},22,"ACID Compliant","acid-compliant",{"learning_curve":93,"flexibility":94,"performance":95,"portability":96,"popularity":97},"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","2026-09-27",{"tool_id":101,"name":102,"slug":103,"tooltip_description":104,"logo_url":105,"logo_bg":56,"pricing_model":106,"learning_curve_score":110,"popularity_score":35,"hosting_assignment_type":61,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":111,"subcategory":112,"categories":113,"subcategories":115,"flexibility_score":45,"performance_score":45,"portability_score":38,"is_featured":117,"tags":118,"score_reasonings":129,"published_date":98,"last_updated_date":99},129,"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":107,"display_name":108,"description":109},"freemium","Freemium","A free tier is available; additional features, usage limits, or managed hosting require a paid plan.",2,{"category_id":38,"name":64,"slug":65},{"subcategory_id":67,"name":68,"slug":69},[114],{"category_id":38,"name":64,"slug":65,"is_primary":3,"display_order":72},[116],{"subcategory_id":67,"name":68,"slug":69,"category_id":38,"is_primary":3,"display_order":72},false,[119,120,124,125],{"tag_id":89,"name":90,"slug":91,"tag_type":83},{"tag_id":121,"name":122,"slug":123,"tag_type":83},13,"Free Tier","free-tier",{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":51,"name":126,"slug":127,"tag_type":128},"Web","web","platform",{"performance":130,"learning_curve":131,"flexibility":132,"popularity":133,"portability":134},"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.",{"postgresql":136,"mysql":137},"Airflow's recommended metadata database and the Compose default. It holds every DAG run, task instance, XCom value, and connection, and it grows with run history, so schedule backups and prune old records with airflow db clean.","Airflow supports MySQL 8 for the metadata database. Choose it where your platform standard already runs MySQL, and accept that the Compose file, the Helm chart, and most deployment guides assume PostgreSQL, so you'll adapt the configuration yourself.",{},{"kind":140,"slug":65,"name":64,"href":141},"category","\u002Ftools\u002Fcategories\u002Fdatabases",{"tools":143,"descriptions":144,"aliases":145,"see_all":32},[],{},{},{"tools":147,"descriptions":148,"aliases":149,"see_all":32},[],{},{},{"tools":151,"descriptions":152,"aliases":153,"see_all":32},[],{},{},{"tools":155,"descriptions":156,"aliases":157,"see_all":32},[],{},{},{"tools":159,"descriptions":160,"aliases":161,"see_all":32},[],{},{},{"tools":163,"descriptions":164,"aliases":165,"see_all":32},[],{},{},{"tools":167,"descriptions":168,"aliases":169,"see_all":32},[],{},{},{"tools":171,"descriptions":172,"aliases":173,"see_all":32},[],{},{},{"tools":175,"descriptions":313,"aliases":318,"see_all":319},[176,210,252,285],{"tool_id":177,"name":178,"slug":179,"tooltip_description":180,"logo_url":181,"logo_bg":182,"pricing_model":183,"learning_curve_score":110,"popularity_score":45,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":187,"subcategory":190,"categories":194,"subcategories":196,"flexibility_score":45,"performance_score":38,"portability_score":38,"is_featured":117,"tags":198,"score_reasonings":204,"published_date":98,"last_updated_date":99},52,"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","white",{"slug":184,"display_name":185,"description":186},"paid","Paid","No meaningful free tier — a subscription or one-time purchase is required to use the tool.",{"category_id":35,"name":188,"slug":189},"Hosting & Cloud","hosting-cloud",{"subcategory_id":191,"name":192,"slug":193},42,"VPS & Servers","vps-and-servers",[195],{"category_id":35,"name":188,"slug":189,"is_primary":3,"display_order":72},[197],{"subcategory_id":191,"name":192,"slug":193,"category_id":35,"is_primary":3,"display_order":72},[199,200],{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":201,"name":202,"slug":203,"tag_type":83},21,"Multi-region","multi-region",{"learning_curve":205,"flexibility":206,"performance":207,"portability":208,"popularity":209},"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.",{"tool_id":211,"name":212,"slug":213,"tooltip_description":214,"logo_url":215,"logo_bg":182,"pricing_model":216,"learning_curve_score":110,"popularity_score":38,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":220,"subcategory":221,"categories":225,"subcategories":227,"flexibility_score":38,"performance_score":38,"portability_score":38,"is_featured":117,"tags":229,"score_reasonings":246,"published_date":98,"last_updated_date":99},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":217,"display_name":218,"description":219},"usage_based","Usage-Based","Pricing scales with consumption: API calls, data volume, compute time, or similar metered units.",{"category_id":35,"name":188,"slug":189},{"subcategory_id":222,"name":223,"slug":224},41,"App Hosting","app-hosting",[226],{"category_id":35,"name":188,"slug":189,"is_primary":3,"display_order":72},[228],{"subcategory_id":222,"name":223,"slug":224,"category_id":35,"is_primary":3,"display_order":72},[230,231,232,236,237,241],{"tag_id":51,"name":126,"slug":127,"tag_type":128},{"tag_id":121,"name":122,"slug":123,"tag_type":83},{"tag_id":233,"name":234,"slug":235,"tag_type":83},20,"Auto-scaling","auto-scaling",{"tag_id":201,"name":202,"slug":203,"tag_type":83},{"tag_id":238,"name":239,"slug":240,"tag_type":83},24,"Docker Compatible","docker-compatible",{"tag_id":242,"name":243,"slug":244,"tag_type":245},28,"Web Development","web-development","use_case",{"learning_curve":247,"flexibility":248,"performance":249,"popularity":250,"portability":251},"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":253,"name":254,"slug":255,"tooltip_description":256,"logo_url":257,"logo_bg":56,"pricing_model":258,"learning_curve_score":38,"popularity_score":35,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":259,"subcategory":260,"categories":263,"subcategories":265,"flexibility_score":35,"performance_score":35,"portability_score":45,"is_featured":117,"tags":267,"score_reasonings":279,"published_date":98,"last_updated_date":99},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":217,"display_name":218,"description":219},{"category_id":35,"name":188,"slug":189},{"subcategory_id":51,"name":261,"slug":262},"Cloud Providers","cloud-providers",[264],{"category_id":35,"name":188,"slug":189,"is_primary":3,"display_order":72},[266],{"subcategory_id":51,"name":261,"slug":262,"category_id":35,"is_primary":3,"display_order":72},[268,272,273,274,275],{"tag_id":269,"name":270,"slug":271,"tag_type":83},14,"Serverless","serverless",{"tag_id":233,"name":234,"slug":235,"tag_type":83},{"tag_id":201,"name":202,"slug":203,"tag_type":83},{"tag_id":238,"name":239,"slug":240,"tag_type":83},{"tag_id":276,"name":277,"slug":278,"tag_type":245},36,"CI\u002FCD","ci-cd",{"learning_curve":280,"flexibility":281,"performance":282,"portability":283,"popularity":284},"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":286,"name":287,"slug":288,"tooltip_description":289,"logo_url":290,"logo_bg":56,"pricing_model":291,"learning_curve_score":45,"popularity_score":45,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":292,"subcategory":293,"categories":294,"subcategories":296,"flexibility_score":35,"performance_score":35,"portability_score":45,"is_featured":117,"tags":298,"score_reasonings":307,"published_date":98,"last_updated_date":99},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":217,"display_name":218,"description":219},{"category_id":35,"name":188,"slug":189},{"subcategory_id":51,"name":261,"slug":262},[295],{"category_id":35,"name":188,"slug":189,"is_primary":3,"display_order":72},[297],{"subcategory_id":51,"name":261,"slug":262,"category_id":35,"is_primary":3,"display_order":72},[299,300,301,302,303,304],{"tag_id":121,"name":122,"slug":123,"tag_type":83},{"tag_id":269,"name":270,"slug":271,"tag_type":83},{"tag_id":233,"name":234,"slug":235,"tag_type":83},{"tag_id":201,"name":202,"slug":203,"tag_type":83},{"tag_id":238,"name":239,"slug":240,"tag_type":83},{"tag_id":67,"name":305,"slug":306,"tag_type":245},"Machine Learning","machine-learning",{"learning_curve":308,"flexibility":309,"performance":310,"portability":311,"popularity":312},"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.",{"hetzner":314,"digitalocean":315,"aws":316,"gcp":317},"The default: an 8 GB instance, the size Airflow's docs call ideal for the full Compose bundle, costs around €8-10\u002Fmo on a flat-rate root VPS, so pipeline count never touches the bill. DAGs that hold large data in memory are what push it to the next size up.","A root Droplet with snapshots and a cloud firewall in the panel, about $48\u002Fmo for 8 GB. Managed PostgreSQL (from about $15\u002Fmo) can hold the metadata database with automated backups, which keeps run history safe through Airflow upgrades.","An EC2 instance at roughly $60-70\u002Fmo for 8 GB, placed where DAGs call S3, Redshift, or Glue so worker traffic stays inside the VPC. RDS can host the metadata database; compare the bill against MWAA, which runs the same scheduler as a managed environment.","A Compute Engine instance at roughly $50-70\u002Fmo for 8 GB. Airflow is the engine behind Cloud Composer, so GCS and BigQuery pipelines move over unchanged, and Cloud SQL can hold the metadata database while traffic stays inside the project.",{},{"kind":140,"slug":189,"name":188,"href":320},"\u002Ftools\u002Fcategories\u002Fhosting-cloud",{"tools":322,"descriptions":401,"aliases":405,"see_all":32},[323,352,377],{"tool_id":324,"name":325,"slug":326,"tooltip_description":327,"logo_url":328,"logo_bg":182,"pricing_model":329,"learning_curve_score":45,"popularity_score":38,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":330,"subcategory":333,"categories":337,"subcategories":339,"flexibility_score":38,"performance_score":38,"portability_score":35,"is_featured":117,"tags":341,"score_reasonings":346,"published_date":99,"last_updated_date":32},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",{"slug":107,"display_name":108,"description":109},{"category_id":85,"name":331,"slug":332},"DevOps & CI\u002FCD","devops-cicd",{"subcategory_id":334,"name":335,"slug":336},57,"Web Servers & Reverse Proxies","web-servers-reverse-proxies",[338],{"category_id":85,"name":331,"slug":332,"is_primary":3,"display_order":72},[340],{"subcategory_id":334,"name":335,"slug":336,"category_id":85,"is_primary":3,"display_order":72},[342,343,344,345],{"tag_id":81,"name":59,"slug":82,"tag_type":83},{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":238,"name":239,"slug":240,"tag_type":83},{"tag_id":51,"name":126,"slug":127,"tag_type":128},{"learning_curve":347,"flexibility":348,"performance":349,"popularity":350,"portability":351},"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":353,"name":354,"slug":355,"tooltip_description":356,"logo_url":357,"logo_bg":56,"pricing_model":358,"learning_curve_score":359,"popularity_score":45,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":360,"subcategory":361,"categories":362,"subcategories":364,"flexibility_score":45,"performance_score":38,"portability_score":35,"is_featured":117,"tags":366,"score_reasonings":371,"published_date":99,"last_updated_date":32},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",{"slug":58,"display_name":59,"description":60},1,{"category_id":85,"name":331,"slug":332},{"subcategory_id":334,"name":335,"slug":336},[363],{"category_id":85,"name":331,"slug":332,"is_primary":3,"display_order":72},[365],{"subcategory_id":334,"name":335,"slug":336,"category_id":85,"is_primary":3,"display_order":72},[367,368,369,370],{"tag_id":81,"name":59,"slug":82,"tag_type":83},{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":238,"name":239,"slug":240,"tag_type":83},{"tag_id":51,"name":126,"slug":127,"tag_type":128},{"learning_curve":372,"flexibility":373,"performance":374,"popularity":375,"portability":376},"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":378,"name":379,"slug":380,"tooltip_description":381,"logo_url":382,"logo_bg":56,"pricing_model":383,"learning_curve_score":45,"popularity_score":35,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":384,"subcategory":385,"categories":386,"subcategories":388,"flexibility_score":35,"performance_score":35,"portability_score":35,"is_featured":117,"tags":390,"score_reasonings":395,"published_date":99,"last_updated_date":32},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":107,"display_name":108,"description":109},{"category_id":85,"name":331,"slug":332},{"subcategory_id":334,"name":335,"slug":336},[387],{"category_id":85,"name":331,"slug":332,"is_primary":3,"display_order":72},[389],{"subcategory_id":334,"name":335,"slug":336,"category_id":85,"is_primary":3,"display_order":72},[391,392,393,394],{"tag_id":81,"name":59,"slug":82,"tag_type":83},{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":238,"name":239,"slug":240,"tag_type":83},{"tag_id":51,"name":126,"slug":127,"tag_type":128},{"learning_curve":396,"flexibility":397,"performance":398,"popularity":399,"portability":400},"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":402,"caddy":403,"nginx":404},"Fronts the API server on port 8080 with TLS and label-based routing, keeping the other services internal. Start the API server with --proxy-headers so Airflow trusts the forwarded scheme and host, and set base_url to the public HTTPS address.","Automatic certificates from one config block, a good fit for an internal but TLS-protected Airflow UI. Caddy forwards the scheme and host headers and passes WebSocket upgrades by default; Airflow still needs --proxy-headers and base_url set to match.","The proxy in Airflow's own run-behind-proxy guide, which gives the full server block: forwarded headers, WebSocket upgrade headers, and HTTP\u002F1.1. Set FORWARDED_ALLOW_IPS if NGINX runs on another host, or Airflow ignores the forwarded headers.",{},{"tools":407,"descriptions":408,"aliases":409,"see_all":32},[],{},{},{},{},[],{"Databases":414,"Hosting & Cloud":457,"DevOps & CI\u002FCD":470,"Data Engineering & ETL":502},[415,429],{"tool_id":51,"name":52,"slug":53,"tooltip_description":54,"logo_url":55,"logo_bg":56,"pricing_model":416,"learning_curve_score":45,"popularity_score":35,"hosting_assignment_type":61,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":417,"subcategory":418,"categories":419,"subcategories":421,"flexibility_score":35,"performance_score":38,"portability_score":35,"is_featured":3,"tags":423,"score_reasonings":428,"published_date":98,"last_updated_date":99},{"slug":58,"display_name":59,"description":60},{"category_id":38,"name":64,"slug":65},{"subcategory_id":67,"name":68,"slug":69},[420],{"category_id":38,"name":64,"slug":65,"is_primary":3,"display_order":72},[422],{"subcategory_id":67,"name":68,"slug":69,"category_id":38,"is_primary":3,"display_order":72},[424,425,426,427],{"tag_id":38,"name":77,"slug":78,"tag_type":79},{"tag_id":81,"name":59,"slug":82,"tag_type":83},{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":89,"name":90,"slug":91,"tag_type":83},{"learning_curve":93,"flexibility":94,"performance":95,"portability":96,"popularity":97},{"tool_id":222,"name":430,"slug":431,"tooltip_description":432,"logo_url":433,"logo_bg":56,"pricing_model":434,"learning_curve_score":110,"popularity_score":45,"hosting_assignment_type":61,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":435,"subcategory":436,"categories":440,"subcategories":442,"flexibility_score":38,"performance_score":35,"portability_score":38,"is_featured":117,"tags":444,"score_reasonings":451,"published_date":98,"last_updated_date":99},"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":107,"display_name":108,"description":109},{"category_id":38,"name":64,"slug":65},{"subcategory_id":437,"name":438,"slug":439},27,"Key-Value Stores","key-value-stores",[441],{"category_id":38,"name":64,"slug":65,"is_primary":3,"display_order":72},[443],{"subcategory_id":437,"name":438,"slug":439,"category_id":38,"is_primary":3,"display_order":72},[445,446,447],{"tag_id":81,"name":59,"slug":82,"tag_type":83},{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":448,"name":449,"slug":450,"tag_type":83},15,"Real-time","real-time",{"learning_curve":452,"flexibility":453,"performance":454,"portability":455,"popularity":456},"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.",[458],{"tool_id":177,"name":178,"slug":179,"tooltip_description":180,"logo_url":181,"logo_bg":182,"pricing_model":459,"learning_curve_score":110,"popularity_score":45,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":460,"subcategory":461,"categories":462,"subcategories":464,"flexibility_score":45,"performance_score":38,"portability_score":38,"is_featured":117,"tags":466,"score_reasonings":469,"published_date":98,"last_updated_date":99},{"slug":184,"display_name":185,"description":186},{"category_id":35,"name":188,"slug":189},{"subcategory_id":191,"name":192,"slug":193},[463],{"category_id":35,"name":188,"slug":189,"is_primary":3,"display_order":72},[465],{"subcategory_id":191,"name":192,"slug":193,"category_id":35,"is_primary":3,"display_order":72},[467,468],{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":201,"name":202,"slug":203,"tag_type":83},{"learning_curve":205,"flexibility":206,"performance":207,"portability":208,"popularity":209},[471],{"tool_id":472,"name":473,"slug":474,"tooltip_description":475,"logo_url":476,"logo_bg":56,"pricing_model":477,"learning_curve_score":38,"popularity_score":35,"hosting_assignment_type":32,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":478,"subcategory":479,"categories":483,"subcategories":485,"flexibility_score":35,"performance_score":38,"portability_score":35,"is_featured":3,"tags":487,"score_reasonings":496,"published_date":98,"last_updated_date":99},72,"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":107,"display_name":108,"description":109},{"category_id":85,"name":331,"slug":332},{"subcategory_id":480,"name":481,"slug":482},33,"Containerization","containerization",[484],{"category_id":85,"name":331,"slug":332,"is_primary":3,"display_order":72},[486],{"subcategory_id":480,"name":481,"slug":482,"category_id":85,"is_primary":3,"display_order":72},[488,489,490,491,492],{"tag_id":81,"name":59,"slug":82,"tag_type":83},{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":238,"name":239,"slug":240,"tag_type":83},{"tag_id":276,"name":277,"slug":278,"tag_type":245},{"tag_id":493,"name":494,"slug":495,"tag_type":128},43,"Cross-platform","cross-platform",{"learning_curve":497,"performance":498,"portability":499,"flexibility":500,"popularity":501},"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.",[503],{"tool_id":504,"name":505,"slug":506,"tooltip_description":507,"logo_url":508,"logo_bg":56,"pricing_model":509,"learning_curve_score":38,"popularity_score":45,"hosting_assignment_type":61,"hosting_provider_restriction":62,"hosting_target_restriction":62,"hosting_compatible_tool_ids":32,"parent_tool_id":32,"category":510,"subcategory":513,"categories":516,"subcategories":518,"flexibility_score":45,"performance_score":38,"portability_score":38,"is_featured":117,"tags":520,"score_reasonings":536,"published_date":98,"last_updated_date":99},9,"Apache Airflow","apache-airflow","Apache Airflow is an open-source workflow orchestration platform that lets you define, schedule, and monitor data pipelines as Python code using Directed Acyclic Graphs (DAGs). It is the de facto standard for orchestrating data engineering workflows at scale.","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fapache-airflow.svg",{"slug":58,"display_name":59,"description":60},{"category_id":121,"name":511,"slug":512},"Data Engineering & ETL","data-engineering-etl",{"subcategory_id":242,"name":514,"slug":515},"Orchestration","orchestration",[517],{"category_id":121,"name":511,"slug":512,"is_primary":3,"display_order":72},[519],{"subcategory_id":242,"name":514,"slug":515,"category_id":121,"is_primary":3,"display_order":72},[521,524,525,526,529,532],{"tag_id":359,"name":522,"slug":523,"tag_type":79},"Python","python",{"tag_id":81,"name":59,"slug":82,"tag_type":83},{"tag_id":85,"name":86,"slug":87,"tag_type":83},{"tag_id":437,"name":527,"slug":528,"tag_type":245},"Data Engineering","data-engineering",{"tag_id":480,"name":530,"slug":531,"tag_type":245},"Workflow Automation","workflow-automation",{"tag_id":533,"name":534,"slug":535,"tag_type":245},37,"Data Pipelines","data-pipelines",{"learning_curve":537,"flexibility":538,"performance":539,"portability":540,"popularity":541},"DAG concepts, operators, and executor configurations take weeks to fully master.","DAG-based orchestration is powerful but the scheduler model constrains architecture choices.","Scheduler overhead is minimal; task throughput scales with the executor configuration.","Open source; DAG patterns transfer to Prefect and Dagster with moderate adjustment.","De facto standard for data workflow orchestration; used across data engineering teams globally.",[543,564,585,600],{"stack_id":544,"slug":545,"name":546,"tagline":547,"experience_level":548,"project_type":32,"stack_type_slug":549,"stack_type_icon_url":550,"score_popularity":35,"score_learning_curve":38,"catalog_display_order":32,"published_date":32,"last_updated_date":32,"core_tool_previews":551},222,"gitlab-self-hosted","GitLab Self-Hosted","Self-hosted GitLab with Docker: your code, your CI, your infrastructure.","advanced","infrastructure","https:\u002F\u002Fassets.tekyous.dev\u002Ficons\u002Fstack-types\u002Finfrastructure.svg",[552,553,554,559,563],{"tool_id":51,"slug":53,"name":52,"logo_url":55,"logo_bg":56},{"tool_id":222,"slug":431,"name":430,"logo_url":433,"logo_bg":56},{"tool_id":555,"slug":556,"name":557,"logo_url":558,"logo_bg":182},152,"gitlab","GitLab","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fgitlab.svg",{"tool_id":560,"slug":561,"name":562,"logo_url":558,"logo_bg":182},165,"gitlab-cicd","GitLab CI\u002FCD",{"tool_id":472,"slug":474,"name":473,"logo_url":476,"logo_bg":56},{"stack_id":565,"slug":566,"name":567,"tagline":568,"experience_level":569,"project_type":570,"stack_type_slug":549,"stack_type_icon_url":550,"score_popularity":38,"score_learning_curve":38,"catalog_display_order":32,"published_date":32,"last_updated_date":32,"core_tool_previews":571},193,"sentry-self-hosted","Sentry Self-Hosted","Self-hosted Sentry error tracking on your own infrastructure, with PostgreSQL, Redis, ClickHouse, and Kafka under the hood.","intermediate","web_app",[572,573,574,579,580],{"tool_id":51,"slug":53,"name":52,"logo_url":55,"logo_bg":56},{"tool_id":222,"slug":431,"name":430,"logo_url":433,"logo_bg":56},{"tool_id":575,"slug":576,"name":577,"logo_url":578,"logo_bg":56},135,"clickhouse","ClickHouse","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fclickhouse.svg",{"tool_id":472,"slug":474,"name":473,"logo_url":476,"logo_bg":56},{"tool_id":581,"slug":582,"name":583,"logo_url":584,"logo_bg":182},133,"apache-kafka","Apache Kafka","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fapache-kafka.svg",{"stack_id":586,"slug":587,"name":588,"tagline":589,"experience_level":569,"project_type":590,"stack_type_slug":549,"stack_type_icon_url":550,"score_popularity":45,"score_learning_curve":38,"catalog_display_order":32,"published_date":32,"last_updated_date":32,"core_tool_previews":591},218,"apache-superset-self-hosted","Superset Self-Hosted","Self-hosted Apache Superset: BI dashboards that never leave your server.","dashboard",[592,593,594,595],{"tool_id":51,"slug":53,"name":52,"logo_url":55,"logo_bg":56},{"tool_id":222,"slug":431,"name":430,"logo_url":433,"logo_bg":56},{"tool_id":472,"slug":474,"name":473,"logo_url":476,"logo_bg":56},{"tool_id":596,"slug":597,"name":598,"logo_url":599,"logo_bg":56},95,"apache-superset","Apache Superset","https:\u002F\u002Fassets.tekyous.dev\u002Flogos\u002Ftools\u002Fapache-superset.svg",{"stack_id":601,"slug":602,"name":603,"tagline":604,"experience_level":569,"project_type":570,"stack_type_slug":549,"stack_type_icon_url":550,"score_popularity":38,"score_learning_curve":38,"catalog_display_order":32,"published_date":32,"last_updated_date":32,"core_tool_previews":605},155,"posthog-self-hosted","PostHog Self-Hosted","Self-hosted PostHog: product analytics, session replay, and feature flags with every event on your own server.",[606,607,608,609,610],{"tool_id":51,"slug":53,"name":52,"logo_url":55,"logo_bg":56},{"tool_id":222,"slug":431,"name":430,"logo_url":433,"logo_bg":56},{"tool_id":575,"slug":576,"name":577,"logo_url":578,"logo_bg":56},{"tool_id":472,"slug":474,"name":473,"logo_url":476,"logo_bg":56},{"tool_id":581,"slug":582,"name":583,"logo_url":584,"logo_bg":182},[612,615,618,621,624],{"question":613,"answer":614},"Why self-host Airflow instead of Astronomer or a cloud's managed Airflow?","The managed Airflow offerings (Astronomer, Amazon MWAA, and Google Cloud Composer) price by workers and environment size and run around the clock, so the bill tracks your growth curve directly. Self-hosting flattens that into a fixed server bill and puts the scheduler on a private network next to the sources it reads. The trade is owning hardening, upgrades, worker capacity, and log retention.",{"question":616,"answer":617},"What does the server need to run?","Airflow's Docker guide asks for at least 4 GB of memory and calls 8 GB ideal, and 8 GB is the honest size for the full Compose bundle: API server, scheduler, DAG processor, worker, triggerer, Redis, and PostgreSQL together. 2 vCPUs and 40 GB of SSD cover a small pipeline estate. DAGs that load large datasets into memory size the box more than DAG count does, and run history grows the database over time.",{"question":619,"answer":620},"Which executor do I need, and do I need Redis?","LocalExecutor runs tasks in the scheduler's own processes and fits a single machine; the Celery executor hands queued tasks to workers over Redis, which is why the Compose file includes both. Stay on LocalExecutor while everything fits one server, and move to Celery when tasks start queueing behind each other. On LocalExecutor, Redis sits mostly idle; keeping it costs one small container and avoids rewriting the Compose file.",{"question":622,"answer":623},"What changes before production, and how do upgrades work?","Airflow's docs present the Compose file as a quick-start without production security guarantees, so change the default airflow\u002Fairflow login, set your own secret and Fernet keys, and keep port 8080 behind TLS. PostgreSQL holds all state worth backing up; DAG files live in git. Upgrades are a new image tag, with the init service running the database migration first. Airflow 3 changed how tasks access the metadata database and removed SubDAGs, so a 2.x estate checks its DAGs before moving.",{"question":625,"answer":626},"Airflow Self-Hosted or Prefect Self-Hosted?","Airflow is the established standard: DAGs, operators, and a provider ecosystem deep enough that most data teams already know it. Prefect is Python-first and lighter, with decorated functions, one server container, and a gentler learning curve. Choose Airflow when the ecosystem and the hiring pool matter; Prefect when the team wants plain Python and a small operation.",{"summary":628,"starting_cost_label":629,"has_free_tier":3,"line_items":630},"Everything in the stack is free and open source; the bill is the server, an 8 GB instance for the full Compose bundle at $10-70\u002Fmo depending on the provider. The managed tiers this replaces, Astronomer, MWAA, and Cloud Composer, price by workers and environment size and run continuously.","From ~$15\u002Fmo",[631,635,639],{"label":632,"cost":633,"note":634},"Server (VPS or cloud)","$10-70\u002Fmo","Airflow's docs set 4 GB as the minimum and 8 GB as ideal for the full Compose bundle; data-heavy DAGs need more.",{"label":636,"cost":637,"note":638},"Airflow, PostgreSQL, Redis, Docker","Free (open source)","Apache-licensed, all of it.",{"label":640,"cost":637,"note":641},"Reverse proxy","Traefik, Caddy, or NGINX, free with free Let's Encrypt certificates.",{"is_official":117,"source_url":32,"items":643,"notes":656},[644,647,650,653],{"label":645,"value":646},"CPU","2 vCPU",{"label":648,"value":649},"RAM","4 GB minimum (the official recommendation), 8 GB for the full Compose bundle",{"label":651,"value":652},"Disk","40 GB SSD; run history accumulates in PostgreSQL",{"label":654,"value":655},"OS","Any Linux with Docker","The official docs set a memory floor only (4 GB minimum, ideally 8 in the Docker guide); CPU and disk are estimates from real single-server deployments, one widely cited at 4 GB \u002F 2 vCPU \u002F 40 GB with 32 parallel workers. DAGs that hold large data in memory size the box.","data_pipeline",{"title":659,"description":660,"og_image":32,"canonical":661},"Airflow Self-Hosted: Tools, Pricing & How to Deploy | Tekyous","Self-hosted Apache Airflow: the standard data-pipeline scheduler on your infrastructure. Compare Airflow Self-Hosted tools, pricing & how to deploy on Tekyous.","https:\u002F\u002Ftekyous.dev\u002Fstacks\u002Fapache-airflow-self-hosted",1790518795482]