-- Tech Stack Specifications Seed Data -- Total: 176 tech specs -- Last updated: 2026-01-24 -- Based on real-world benchmarks and production experience INSERT OR REPLACE INTO tech_specs (name, category, vcpu_per_users, vcpu_per_users_max, min_memory_mb, max_memory_mb, description, aliases, is_memory_intensive, is_cpu_intensive) VALUES -- ============================================================================ -- AUTOMATION (1) -- ============================================================================ ('n8n', 'automation', 50, 150, 512, 2048, 'Workflow automation', '[]', 0, 0), -- ============================================================================ -- BACKUP (3) -- ============================================================================ ('borgbackup', 'backup', 30, 100, 1024, 2048, 'Deduplicating backup', '["borg"]', 0, 1), ('duplicati', 'backup', 30, 100, 1024, 2048, 'Backup with encryption', '[]', 0, 1), ('restic', 'backup', 50, 200, 512, 2048, 'Backup program', '[]', 0, 1), -- ============================================================================ -- CACHE (2) -- ============================================================================ ('memcached', 'cache', 1000, 2000, 512, 2048, 'Distributed memory caching', '[]', 1, 0), ('redis', 'cache', 500, 1000, 1024, 4096, 'In-memory data store and cache', '["redis-cluster", "keydb"]', 1, 0), -- ============================================================================ -- CMS (17) -- ============================================================================ ('directus', 'cms', 100, 300, 512, 1024, 'Headless CMS', '[]', 0, 0), ('drupal', 'cms', 50, 150, 1024, 4096, 'Enterprise CMS', '[]', 0, 0), ('erpnext', 'cms', 20, 50, 4096, 8192, 'Open source ERP', '[]', 1, 0), ('ghost', 'cms', 100, 300, 512, 1024, 'Publishing platform', '[]', 0, 0), ('joomla', 'cms', 50, 150, 1024, 2048, 'Content management system', '[]', 0, 0), ('keystone', 'cms', 50, 150, 1024, 2048, 'Node.js headless CMS', '[]', 0, 0), ('magento', 'cms', 20, 50, 4096, 8192, 'E-commerce platform, resource intensive', '["adobe-commerce"]', 1, 1), ('medusa', 'cms', 50, 150, 1024, 2048, 'Open source Shopify alternative', '["medusajs"]', 0, 0), ('odoo', 'cms', 20, 50, 4096, 8192, 'Business ERP suite', '[]', 1, 0), ('payload', 'cms', 50, 150, 1024, 2048, 'Headless CMS', '["payload-cms"]', 0, 0), ('saleor', 'cms', 30, 100, 2048, 4096, 'GraphQL e-commerce', '[]', 1, 0), ('shopify', 'cms', 50, 150, 1024, 2048, 'Shopify app hosting', '[]', 0, 0), ('strapi', 'cms', 50, 150, 1024, 2048, 'Headless CMS', '[]', 0, 0), ('umbraco', 'cms', 30, 100, 2048, 4096, '.NET CMS', '[]', 1, 0), ('wagtail', 'cms', 50, 150, 1024, 2048, 'Django CMS', '[]', 0, 0), ('woocommerce', 'cms', 30, 100, 4096, 8192, 'E-commerce platform on WordPress, needs 4-8GB for stores', '["woo"]', 1, 0), ('wordpress', 'cms', 100, 300, 512, 2048, 'Popular CMS, optimized can run on 512MB', '["wp"]', 0, 0), -- ============================================================================ -- COMMUNICATION (9) -- ============================================================================ ('discord-bot', 'communication', 100, 500, 256, 512, 'Discord bot hosting', '["discordjs", "discord.py"]', 0, 0), ('jitsi', 'communication', 5, 15, 4096, 8192, 'Video conferencing', '["jitsi-meet"]', 1, 1), ('matrix', 'communication', 50, 150, 1024, 4096, 'Matrix/Synapse chat server', '["synapse", "element"]', 1, 0), ('mattermost', 'communication', 50, 150, 2048, 4096, 'Slack alternative', '[]', 0, 0), ('mumble', 'communication', 100, 500, 256, 512, 'Voice chat server, very lightweight', '[]', 0, 0), ('revolt', 'communication', 30, 100, 1024, 2048, 'Discord alternative', '[]', 0, 0), ('rocketchat', 'communication', 30, 100, 2048, 4096, 'Open source chat', '["rocket-chat"]', 1, 0), ('teamspeak', 'communication', 50, 200, 512, 1024, 'Voice chat server', '["ts3"]', 0, 0), ('zulip', 'communication', 30, 100, 2048, 4096, 'Team chat', '[]', 1, 0), -- ============================================================================ -- CONTAINER (2) -- ============================================================================ ('docker', 'container', 100, 200, 512, 1024, 'Container runtime overhead', '["containerd", "podman"]', 0, 0), ('kubernetes', 'container', 50, 100, 2048, 4096, 'Container orchestration overhead', '["k8s", "k3s", "microk8s"]', 1, 0), -- ============================================================================ -- DATABASE (18) -- ============================================================================ ('arangodb', 'database', 30, 80, 4096, 8192, 'Multi-model database', '[]', 1, 0), ('cassandra', 'database', 50, 100, 4096, 8192, 'Distributed wide-column database', '["scylladb"]', 1, 0), ('clickhouse', 'database', 30, 80, 8192, 16384, 'OLAP database, needs 8GB+ for production', '[]', 1, 1), ('cockroachdb', 'database', 20, 50, 4096, 8192, 'Distributed SQL database', '["crdb"]', 1, 0), ('couchdb', 'database', 50, 150, 2048, 4096, 'Document database with sync', '[]', 1, 0), ('elasticsearch', 'database', 20, 50, 8192, 32768, 'Search engine, needs 8GB+ heap for production', '["elastic", "opensearch"]', 1, 1), ('influxdb', 'database', 50, 150, 2048, 8192, 'Time-series database', '[]', 1, 0), ('mongodb', 'database', 80, 200, 2048, 4096, 'Document-oriented database', '["mongo"]', 1, 0), ('mssql', 'database', 50, 100, 4096, 8192, 'Microsoft SQL Server', '["sql-server", "sqlserver"]', 1, 0), ('mysql', 'database', 100, 200, 2048, 4096, 'Popular relational database', '["mariadb", "percona"]', 1, 0), ('neo4j', 'database', 20, 50, 4096, 8192, 'Graph database', '[]', 1, 0), ('nocodb', 'database', 50, 150, 512, 2048, 'Airtable alternative', '[]', 0, 0), ('postgresql', 'database', 100, 200, 2048, 4096, 'Advanced relational database', '["postgres", "pg", "supabase"]', 1, 0), ('questdb', 'database', 30, 100, 4096, 8192, 'Fast time-series database', '[]', 1, 0), ('sqlite', 'database', 500, 1000, 256, 512, 'Embedded relational database', '[]', 0, 0), ('supabase', 'database', 50, 150, 2048, 4096, 'Firebase alternative (self-hosted)', '[]', 1, 0), ('timescaledb', 'database', 30, 100, 4096, 8192, 'Time-series PostgreSQL extension', '[]', 1, 0), ('vitess', 'database', 20, 50, 4096, 8192, 'MySQL clustering system', '[]', 1, 0), -- ============================================================================ -- DEVOPS (13) -- ============================================================================ ('argocd', 'devops', 30, 100, 1024, 2048, 'GitOps continuous delivery', '[]', 0, 0), ('concourse', 'devops', 20, 50, 2048, 4096, 'CI/CD pipeline', '[]', 1, 0), ('consul', 'devops', 50, 150, 512, 1024, 'Service mesh', '[]', 0, 0), ('drone', 'devops', 50, 150, 512, 2048, 'Lightweight CI/CD', '[]', 0, 0), ('gitea', 'devops', 100, 300, 512, 1024, 'Lightweight Git server', '["forgejo"]', 0, 0), ('gitlab', 'devops', 10, 30, 4096, 8192, 'Git + CI/CD platform', '["gitlab-ce", "gitlab-ee"]', 1, 0), ('gitness', 'devops', 50, 150, 1024, 2048, 'Code hosting platform', '["harness"]', 0, 0), ('harbor', 'devops', 20, 50, 4096, 8192, 'Container registry', '[]', 1, 0), ('jenkins', 'devops', 20, 50, 2048, 4096, 'CI/CD server', '[]', 1, 0), ('nomad', 'devops', 30, 100, 1024, 2048, 'Workload orchestrator', '[]', 0, 0), ('sonarqube', 'devops', 10, 30, 4096, 8192, 'Code quality analysis', '[]', 1, 1), ('vault', 'devops', 50, 150, 1024, 2048, 'Secrets management', '["hashicorp-vault"]', 0, 0), ('woodpecker', 'devops', 50, 150, 512, 1024, 'Lightweight CI/CD', '[]', 0, 0), -- ============================================================================ -- GAME (19) -- ============================================================================ ('7daystodie', 'game', 3, 10, 8192, 16384, '7 Days to Die dedicated server', '["7dtd", "7-days-to-die"]', 1, 1), ('ark', 'game', 3, 10, 8192, 16384, 'ARK: Survival Evolved server', '["ark-survival"]', 1, 1), ('conanexiles', 'game', 3, 8, 8192, 16384, 'Conan Exiles dedicated server', '["conan-exiles"]', 1, 1), ('csgo', 'game', 10, 30, 2048, 4096, 'Counter-Strike server', '["cs2"]', 0, 1), ('dayz', 'game', 3, 10, 8192, 16384, 'DayZ dedicated server', '[]', 1, 1), ('enshrouded', 'game', 3, 10, 8192, 16384, 'Enshrouded dedicated server', '[]', 1, 1), ('factorio', 'game', 5, 20, 2048, 4096, 'Factory simulation server', '[]', 0, 1), ('gmod', 'game', 5, 15, 4096, 8192, 'Garry''s Mod server', '["garrysmod"]', 1, 0), ('l4d2', 'game', 10, 30, 2048, 4096, 'Left 4 Dead 2 server', '["left4dead2"]', 0, 0), ('minecraft', 'game', 5, 20, 4096, 8192, 'Minecraft server (Java edition)', '["minecraft-java", "paper", "spigot", "bukkit"]', 1, 1), ('minecraft-bedrock', 'game', 10, 30, 2048, 4096, 'Minecraft Bedrock server', '["bedrock"]', 0, 1), ('palworld', 'game', 3, 10, 8192, 16384, 'Palworld dedicated server', '[]', 1, 1), ('projectzomboid', 'game', 3, 10, 4096, 8192, 'Project Zomboid server', '["pz", "project-zomboid"]', 1, 0), ('rust-game', 'game', 3, 10, 8192, 16384, 'Rust game server', '[]', 1, 1), ('satisfactory', 'game', 3, 10, 6144, 12288, 'Satisfactory dedicated server', '[]', 1, 1), ('terraria', 'game', 10, 30, 1024, 2048, 'Terraria server', '["tmodloader"]', 0, 0), ('unturned', 'game', 10, 30, 2048, 4096, 'Unturned server, lightweight', '[]', 0, 0), ('valheim', 'game', 5, 15, 4096, 8192, 'Valheim dedicated server', '[]', 1, 1), ('vrising', 'game', 5, 15, 6144, 12288, 'V Rising dedicated server', '["v-rising"]', 1, 1), -- ============================================================================ -- IOT (1) -- ============================================================================ ('homeassistant', 'iot', 50, 200, 1024, 2048, 'Home automation', '["hass", "home-assistant"]', 0, 0), -- ============================================================================ -- MEDIA (4) -- ============================================================================ ('ffmpeg', 'media', 5, 20, 2048, 8192, 'Video transcoding, CPU intensive', '[]', 0, 1), ('jellyfin', 'media', 3, 10, 2048, 4096, 'Open source media server', '[]', 1, 1), ('obs', 'media', 5, 10, 4096, 8192, 'Streaming software', '["obs-studio"]', 1, 1), ('plex', 'media', 3, 10, 2048, 8192, 'Media server with transcoding', '[]', 1, 1), -- ============================================================================ -- ML (10) -- ============================================================================ ('comfyui', 'ml', 1, 3, 8192, 16384, 'Node-based Stable Diffusion UI', '[]', 1, 1), ('langchain', 'ml', 10, 30, 2048, 4096, 'LLM application framework', '[]', 1, 0), ('localai', 'ml', 1, 5, 4096, 16384, 'OpenAI-compatible local AI', '[]', 1, 1), ('ollama', 'ml', 1, 5, 8192, 32768, 'Local LLM inference', '["llama", "llm"]', 1, 1), ('pytorch', 'ml', 5, 20, 8192, 16384, 'Deep learning framework', '["torch"]', 1, 1), ('stable-diffusion', 'ml', 1, 3, 8192, 16384, 'Image generation, needs GPU or lots of RAM', '["sd", "automatic1111", "a1111"]', 1, 1), ('tensorflow', 'ml', 5, 20, 8192, 16384, 'Machine learning framework', '["tf", "keras"]', 1, 1), ('text-generation-webui', 'ml', 1, 3, 8192, 32768, 'LLM web interface', '["oobabooga", "tgwui"]', 1, 1), ('vllm', 'ml', 1, 2, 16384, 65536, 'High-throughput LLM serving', '[]', 1, 1), ('whisper', 'ml', 1, 5, 4096, 8192, 'Speech recognition', '["openai-whisper"]', 1, 1), -- ============================================================================ -- MONITORING (9) -- ============================================================================ ('grafana', 'monitoring', 100, 300, 512, 2048, 'Visualization dashboard', '[]', 0, 0), ('jaeger', 'monitoring', 30, 100, 2048, 4096, 'Distributed tracing', '[]', 1, 0), ('loki', 'monitoring', 30, 100, 2048, 4096, 'Log aggregation', '[]', 1, 0), ('nagios', 'monitoring', 50, 150, 1024, 2048, 'Infrastructure monitoring', '[]', 0, 0), ('netdata', 'monitoring', 50, 150, 512, 1024, 'Real-time performance monitoring', '[]', 0, 0), ('prometheus', 'monitoring', 50, 150, 2048, 8192, 'Metrics monitoring', '[]', 1, 0), ('uptime-kuma', 'monitoring', 100, 500, 256, 512, 'Uptime monitoring', '[]', 0, 0), ('zabbix', 'monitoring', 30, 100, 2048, 4096, 'Enterprise monitoring', '[]', 1, 0), ('zipkin', 'monitoring', 30, 100, 1024, 2048, 'Distributed tracing', '[]', 0, 0), -- ============================================================================ -- NETWORK (7) -- ============================================================================ ('cloudflared', 'network', 500, 2000, 128, 256, 'Cloudflare Tunnel', '["argo-tunnel"]', 0, 0), ('openvpn', 'network', 100, 500, 256, 512, 'Traditional VPN', '[]', 0, 0), ('squid', 'network', 100, 500, 1024, 4096, 'Caching proxy', '[]', 1, 0), ('tailscale', 'network', 500, 2000, 128, 256, 'Zero-config VPN', '[]', 0, 0), ('varnish', 'network', 200, 1000, 2048, 8192, 'HTTP accelerator cache', '[]', 1, 0), ('wireguard', 'network', 500, 2000, 64, 256, 'Modern VPN, very lightweight', '[]', 0, 0), ('zerotier', 'network', 500, 2000, 128, 256, 'Software-defined networking', '[]', 0, 0), -- ============================================================================ -- QUEUE (2) -- ============================================================================ ('kafka', 'queue', 100, 300, 4096, 8192, 'Distributed event streaming', '["kafka-connect"]', 1, 0), ('rabbitmq', 'queue', 100, 500, 2048, 4096, '1GB per 10k connections, 2-4 cores for 10k msg/s', '["amqp"]', 1, 0), -- ============================================================================ -- RUNTIME (28) -- ============================================================================ ('adonis', 'runtime', 100, 300, 1024, 2048, 'Node.js MVC framework', '["adonisjs"]', 0, 0), ('angular', 'runtime', 100, 300, 512, 1024, 'Angular SSR', '[]', 0, 0), ('appwrite', 'runtime', 50, 150, 1024, 2048, 'Backend as a Service', '[]', 0, 0), ('astro', 'runtime', 300, 800, 256, 512, 'Static-first framework, very efficient', '[]', 0, 0), ('bun', 'runtime', 300, 600, 512, 1024, 'Fast JavaScript runtime with bundler', '[]', 0, 0), ('deno', 'runtime', 200, 500, 512, 1024, 'Secure JavaScript/TypeScript runtime', '["deno2"]', 0, 0), ('dotnet', 'runtime', 100, 300, 1024, 2048, '.NET runtime', '["csharp", "c#", "asp.net", "aspnet", ".net", "dotnet-core", "blazor"]', 0, 0), ('elixir', 'runtime', 500, 1000, 512, 2048, 'Functional language on BEAM VM', '["phoenix", "erlang", "beam"]', 0, 0), ('elysia', 'runtime', 500, 1500, 256, 512, 'Bun web framework', '[]', 0, 0), ('fastify', 'runtime', 300, 800, 512, 1024, 'Fast Node.js framework', '[]', 0, 0), ('go', 'runtime', 300, 800, 512, 1024, 'Compiled language with built-in concurrency', '["golang", "gin", "echo", "fiber"]', 0, 0), ('graphql', 'runtime', 150, 400, 512, 1024, 'GraphQL server', '["apollo", "hasura"]', 0, 0), ('grpc', 'runtime', 200, 500, 512, 1024, 'gRPC server', '[]', 0, 0), ('hono', 'runtime', 500, 1500, 256, 512, 'Lightweight web framework', '[]', 0, 0), ('java', 'runtime', 50, 150, 2048, 4096, 'Enterprise-grade JVM runtime', '["spring", "spring-boot", "tomcat", "jetty", "quarkus", "micronaut"]', 1, 0), ('kotlin', 'runtime', 50, 150, 2048, 4096, 'Modern JVM language', '["ktor"]', 1, 0), ('nextjs', 'runtime', 100, 300, 512, 2048, 'React SSR framework, SSR needs 500MB+', '["next", "next.js"]', 1, 0), ('nodejs', 'runtime', 200, 500, 1024, 2048, 'JavaScript runtime for server-side applications', '["node", "node.js", "express", "express.js", "nestjs", "fastify", "koa"]', 0, 0), ('nuxt', 'runtime', 100, 300, 512, 2048, 'Vue SSR framework', '["nuxt.js", "nuxtjs"]', 1, 0), ('php', 'runtime', 100, 300, 1024, 2048, 'Server-side scripting language', '["php-fpm", "laravel", "symfony", "wordpress", "drupal", "codeigniter"]', 0, 0), ('python', 'runtime', 100, 300, 1024, 2048, 'General-purpose programming language', '["django", "flask", "fastapi", "gunicorn", "uvicorn", "celery"]', 0, 0), ('remix', 'runtime', 150, 400, 512, 1024, 'React full-stack framework', '[]', 0, 0), ('ruby', 'runtime', 80, 200, 1024, 2048, 'Dynamic programming language', '["rails", "ruby-on-rails", "sinatra", "puma", "unicorn"]', 0, 0), ('rust', 'runtime', 400, 1000, 256, 512, 'Systems programming language', '["actix", "actix-web", "rocket", "axum"]', 0, 0), ('scala', 'runtime', 40, 100, 2048, 4096, 'Functional JVM language', '["akka", "play"]', 1, 0), ('spring-boot', 'runtime', 30, 100, 512, 2048, 'Spring Boot needs 512MB-2GB per instance', '["spring", "springboot"]', 1, 0), ('svelte', 'runtime', 200, 500, 256, 512, 'Svelte SSR', '[]', 0, 0), ('sveltekit', 'runtime', 200, 500, 256, 1024, 'Svelte SSR framework, efficient', '[]', 0, 0), -- ============================================================================ -- SECURITY (5) -- ============================================================================ ('authelia', 'security', 100, 300, 256, 512, 'Authentication server', '[]', 0, 0), ('authentik', 'security', 30, 100, 1024, 2048, 'Identity provider', '[]', 0, 0), ('crowdsec', 'security', 100, 500, 512, 1024, 'Collaborative IPS', '[]', 0, 0), ('fail2ban', 'security', 500, 2000, 128, 256, 'Intrusion prevention', '[]', 0, 0), ('keycloak', 'security', 20, 50, 2048, 4096, 'Identity and access management', '[]', 1, 0), -- ============================================================================ -- SELFHOSTED (17) -- ============================================================================ ('audiobookshelf', 'selfhosted', 50, 150, 512, 1024, 'Audiobook and podcast server', '[]', 0, 0), ('bookstack', 'selfhosted', 50, 150, 512, 1024, 'Documentation wiki', '[]', 0, 0), ('calibre-web', 'selfhosted', 50, 150, 512, 1024, 'E-book library', '["calibre"]', 0, 0), ('excalidraw', 'selfhosted', 100, 300, 256, 512, 'Whiteboard collaboration', '[]', 0, 0), ('freshrss', 'selfhosted', 100, 300, 256, 512, 'RSS reader', '[]', 0, 0), ('hedgedoc', 'selfhosted', 50, 150, 512, 1024, 'Collaborative markdown', '["codimd"]', 0, 0), ('immich', 'selfhosted', 10, 30, 4096, 8192, 'Self-hosted Google Photos alternative', '[]', 1, 1), ('linkding', 'selfhosted', 200, 500, 128, 256, 'Bookmark manager', '[]', 0, 0), ('mealie', 'selfhosted', 100, 300, 256, 512, 'Recipe manager', '[]', 0, 0), ('nextcloud', 'selfhosted', 30, 100, 1024, 4096, 'Self-hosted cloud storage', '[]', 1, 0), ('outline', 'selfhosted', 50, 150, 1024, 2048, 'Knowledge base', '[]', 0, 0), ('paperless', 'selfhosted', 20, 50, 2048, 4096, 'Document management system', '["paperless-ngx"]', 1, 0), ('photoprism', 'selfhosted', 10, 30, 4096, 8192, 'AI-powered photo management', '[]', 1, 1), ('seafile', 'selfhosted', 50, 150, 1024, 2048, 'File sync and share', '[]', 0, 0), ('vaultwarden', 'selfhosted', 100, 500, 256, 512, 'Bitwarden compatible password manager', '["bitwarden"]', 0, 0), ('wallabag', 'selfhosted', 100, 300, 256, 512, 'Read-it-later service', '[]', 0, 0), ('wiki-js', 'selfhosted', 50, 150, 512, 1024, 'Modern wiki', '["wikijs"]', 0, 0), -- ============================================================================ -- STATIC (1) -- ============================================================================ ('static', 'static', 2000, 5000, 128, 256, 'Static file serving', '["jamstack", "hugo", "jekyll", "gatsby", "nextjs-static", "astro"]', 0, 0), -- ============================================================================ -- WEB_SERVER (8) -- ============================================================================ ('apache', 'web_server', 200, 500, 512, 2048, 'Traditional web server with mod_php support', '["httpd", "apache2"]', 0, 0), ('caddy', 'web_server', 800, 1500, 256, 512, 'Modern web server with automatic HTTPS', '["caddy2"]', 0, 0), ('envoy', 'web_server', 800, 2000, 256, 1024, 'Cloud-native proxy', '[]', 0, 0), ('haproxy', 'web_server', 2000, 5000, 256, 1024, 'High-performance TCP/HTTP load balancer', '[]', 0, 0), ('kong', 'web_server', 500, 1500, 512, 2048, 'API Gateway', '[]', 0, 0), ('nginx', 'web_server', 1000, 2000, 512, 1024, 'High-performance reverse proxy and web server', '["nginx-plus", "openresty"]', 0, 0), ('nginx-proxy-manager', 'web_server', 300, 1000, 256, 512, 'Reverse proxy with UI', '["npm"]', 0, 0), ('traefik', 'web_server', 500, 1000, 256, 512, 'Cloud-native reverse proxy and load balancer', '["traefik2"]', 0, 0);