{"id":14971374,"url":"https://github.com/stealify/server-harp","last_synced_at":"2026-04-02T12:30:13.277Z","repository":{"id":13492951,"uuid":"73237393","full_name":"stealify/server-harp","owner":"stealify","description":"The Core Server and Cli","archived":false,"fork":false,"pushed_at":"2022-05-15T19:22:01.000Z","size":283,"stargazers_count":2,"open_issues_count":34,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2026-02-01T00:41:37.765Z","etag":null,"topics":["direktspeed-server","docker","donejs","dssrv-prerender","harp","harpjs","javascript","nodejs","prerender","pug","server-management","server-side-rendering","ssr","stealjs"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/stealify.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-08T23:52:19.000Z","updated_at":"2022-09-08T19:10:13.000Z","dependencies_parsed_at":"2022-08-09T08:36:19.944Z","dependency_job_id":null,"html_url":"https://github.com/stealify/server-harp","commit_stats":null,"previous_names":["steal-server/server"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/stealify/server-harp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stealify%2Fserver-harp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stealify%2Fserver-harp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stealify%2Fserver-harp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stealify%2Fserver-harp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stealify","download_url":"https://codeload.github.com/stealify/server-harp/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stealify%2Fserver-harp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31306044,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T09:48:21.550Z","status":"ssl_error","status_checked_at":"2026-04-02T09:48:19.196Z","response_time":89,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["direktspeed-server","docker","donejs","dssrv-prerender","harp","harpjs","javascript","nodejs","prerender","pug","server-management","server-side-rendering","ssr","stealjs"],"created_at":"2024-09-24T13:45:06.515Z","updated_at":"2026-04-02T12:30:13.218Z","avatar_url":"https://github.com/stealify.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# steal-server \n\n## Goals\nHelps you to serve NodeJS Projects based on a simple reuseable config\nAllows you to serve many express or koa projects on diffrent urls\nGives you a Modular NodeJS Server Framework.\nit can easy get used with the stealify/config-* modules to configure your\nexisting Infrastructure or to even deploy that Infrastructure for you\nSteal Server can also act as a Process Manager or InitD for NodeOS or other Unikernels\nvia stealify/config-init-*\n\n## Isomorphic Code\n- it matters for Project Maintainability\n- Faster Testing in Development\n- Faster Deployment to Production\nLearn More about Server Templating in your ssr.js via steal!\nStealJS is a Core Dependency and name giver of this server\nits main Maintainer is a genius called Matthew Philipps and the Bitovi Open Source Team.\nHow does StealJS Make Your Code Isomorphic? it allows you to bundle including any asset for Production Frontend and Backend\nas also translate code for Frontend and Backend so see it as the Unifed Bundler Import Method that you ever wanted to have.\n\n## Why Should i Use this?\nThe Cloud and IaaS Prices and Services as also other Capacity and Investment Related Variables are fast Changing you need to be able to protect your Investment to run efficent on any Infrastructure no Matter how it is provided or who provides it.\nYou will ask is that needed for Normal People like me? YES!\n - you will want to change your Hosting Provider often even if you rent WebHosting Packages and Not IaaS\n - you will want to use stealify-fs to Host Your Data Anywhere and keep it automatic backuped\n - you will want auto renew SSL Certificates via any Provider like Letsencrypt or Your own\n - Short You will want to reduce admin and maintance and forget about that once configured and change it fast if you need so.\nYou will ask i am a Developer i am DevOp do i need this? YES!\n - You will find no more general way to configure all this software that your Configuring always even if your using docker or other stuff you find your self always repeating the same stuff over and over again you will want to stop that!\n\n## Supported Init Integrations\n- stealify/config-init-systemd\n- stealify/config-init-s6\n- stealify/config-init-pm2\n- stealify/config-init-cloudinit **Upcoming**\n\n## Supported Deployment Integrations\n- stealify/fs =\u003e Confugreable Multi Endpoint FileSystem\n  - Stealify FS it Self Allows you to build a Hybrid Multi Cloud Storage Solution\n- stealify/dns\n  - It Allows you to build a Cloudflare Like CDN if bundled with Stealify FS\n  - It Allows you to Integrate Diffrent CDN and Storage Providers Into a Single Endpoint\n  - Integrate Routing and Security Stuff.\n- stealify/config-iaas-openstack\n- stealify/config-iaas-vmware\n- stealify/config-iaas-amazon\n- stealify/config-iaas-virtualbox\n- stealify/config-iaas-kubernetes **Upcoming**\n- stealify/config-iaas-firebase\n- stealify/config-iaas-docker\n- stealify/config-iaas-mesos\n- stealify/config-iaas-aurora\n- stealify/config-iaas-marathon\n- stealify/config-iaas-vagrant\n- stealify/config-iaas-runc\n\n## Guides:\n- DoneJS + SSR + PHP Or NodeJS Api (Local Development)\n- DoneJS Production build on Nginx + SSR + PHP-FPM (Additional Caching)\n- Use as single domain Static Web Server\n- Use as multi domain Static Only Web Server\n- Use as Mixed Multi domain Static/Dynamic Webserver\n- Use as Static web Server with loadbalancing\n- Use as GIT protocol and http server.\n- Use as Loadbalancer - TCP/UDP\n- Use as TCP Port sharing server\n- Use as Rule Based Firewall\n- Use as manager for iptables, git,docker, networking, users, folder permissions, task runner, cron, plugins supported\n- Use as software deploytool.\n\n\n## Use\n\nPush a Application to localhost:3030\n```bash\nsteal -p 3030 --develop\n```\n\nUsing it best via install global then require inside your app if needed\nuse servers === array and run app\n\n\n\n### Planned Features\n- Show Running Servers Status\n- Show Running Servers Registered Routers Tree\n- Easy Modify Routes and Servers\n\n\n### Options\n- mount \"aMountPath\"\n- hostname \"aextra hostname to listen on\"\n- host \"aIp\"\n- ngrock\n\n\n## Features\n- Flexible configuration via ssr.js / server.js where ssr gets rendered via steal-ssr is voted higher then server that gets executed via stealify/pm steal-pm\n- Able to serve Unlimited NodeJS Projects via a Single Instance and return the right Project via configureable algorythms.\n- Big Ecosystem!\n- easy React / Preact SSR via StealJS\n- easy WebComponents SSR via StealJS\n- easy CanJS / DoneJS via StealJS\n- easy NodeJS Server managment via Stealify/config-* EcoSystem and custom NodeJS/EMCA WA Modules loaded on Demand via StealJS\n\n\n## New Mission ! This is now the WebComponent Development Server\nEnabling you to pre process assets even importet once from npm to\ncreate your webcomponents faster then ever or even whole projects\nit does support anything you need to code Web Tech Driven Applications\n\n- supports diffrent bundlers.\n- supports diffrent preprocessors.\n- gives tool chain to work with any code\n\n\n\n![build](https://travis-ci.org/steal-server/server.svg?branch=master)\n\n\u003e zero-configuration web server with built in:\n - pre-processing\n - SSR\n - NodeJS Project\n\u003e can be deployed with DIREKTSPEED Server in production fully horizontal scale able even on a single server.\n\n### What is DIREKTSPEED Server\nsteal-server stealify/server is a Server and Application Delivery Controller\n  - Supplys Unifed Server Configuration via Modules\n  - Importent Modules are DNS, FS, SSR, PM\nsteal-tools stealify/tools is a Cross Plattform Production Application and Any Asset Bundler as also task runner\n  - Dropin Replacment for grunt, and tools like that\n### stealify/prerender-middleware\nserves doT Jade, Markdown, EJS, Less, Stylus, Sass, and CoffeeScript **as** HTML, CSS, and JavaScript without any configuration. It supports the beloved layout/partial paradigm and it has flexible metadata and global objects for traversing the file system and injecting custom data into templates. Optionally, steal-server can also compile your project down to static assets for hosting behind any valid HTTP server via StealJS.\n\n### Why?\nDevelopment got Hard this Days if you want to stay up with current Technology. I wanted a Way to Develop Faster and Better then Ever Befor thats why i created this it enables us to Setup fast a Server with all needed Things and Focus more on the Application code.\n\nPre-compilers are becoming extremely powerful and shipping front-ends as static assets has many upsides. It's simple, it's easy to maintain, it's low risk, easy to scale, and requires low cognitive overhead. I wanted a lightweight web server that was powerful enough for me to abandon web frameworks for dead simple front-end publishing.\n\n### Features\n\n- easy installation, easy to use\n- fast and lightweight\n- robust (clean urls, intelligent path redirects)\n- built in pre-processing\n- first-class layout and partial support\n- built in LRU caching in production mode\n- can export assets to HTML/CSS/JS\n- does not require a build steps or grunt task\n- fun to use\n- Many more like image/audio/video preprocessing.\n- Easy Run NodeJS Projects and Manage the Process.\n- Extensiv Local and Remote Debuging and Logging\n- Extensible via Modules (Express like HTTP Applications)\n\n### Supported Pre-Processors by steal-prerender\n\n|                 | Language Superset                                                 | Whitespace Sensitive\n| --------------- | ----------------------------------------------------------------- | --------------------------------------------------------------------------------------\n| **HTML**        | [EJS](http://embeddedjs.com/)                                     | [Jade](http://jade-lang.com/), [pug](http://pug-lang.com/), [Markdown](http://daringfireball.net/projects/markdown/), [doT](http://http://olado.github.io/doT/index.htm)\n| **CSS**         | [LESS](http://lesscss.org/), [Sass (SCSS)](http://sass-lang.com/) | [Stylus](http://learnboost.github.io/stylus/), [Sass](http://sass-lang.com/)\n| **JavaScript**  | (TBD)                                                             | [CoffeeScript](http://coffeescript.org/), [EJS](http://embeddedjs.com/)\n\n### Resources\n\n- **Server Documentation** - [harpjs.com/docs/](http://steal-srv-prerenderjs.com/docs/)\n- **Platform Documentation** - [harp.io/docs](https://steal-srv-prerender.io/docs)\n- **Source Code** - [github.com/steal/srv-prerender](https://github.com/steal/srv-prerender)\n\n---\n\n### Installation\n\n    sudo npm install -g steal-server\n\n### Quick Start\n\nCreating a new steal-prerender application is a breeze...\n\n    prerender add myproj\n    prerender server myproj\n\nYour DIREKTSPEED Server application is now running at [http://localhost:9000]()\n\n---\n\n## Documentation\n\nSteal Server \n- is a library \n- Offering command line utility.\n\n### CLI Usage\n\n    Usage: prerender [command] [options]\n\n    Commands:\n\n      init [path]                 initalize new steal-srv-prerender application (defaults to current directory)\n      server [path] [options]     start steal-srv-prerender server\n      compile [path] [options]    compile project to static assets\n      multihost [path] [options]  start steal-srv-prerender server to host directory of steal-srv-prerender apps\n\n    Options:\n\n      -h, --help     output usage information\n      -V, --version  output the version number\n\nStart the server in root of your application by running...\n\n    prerender server\n\nYou may optionally supply a port to listen on...\n\n    prerender server --port 8002\n\nCompile an application from the root of your application by running...\n\n    prerender compile\n\nYou may optionally pass in a path to where you want the compiled assets to go...\n\n    prerender compile --output /path/to/cordova/project/www\n\n### Lib Usage\n\nYou may also use prerender as a node library for compiling or running as a server.\n\nServe up a prerender application...\n\n```js\nvar stealSrvPrerender = require(\"steal-srv-prerender\")\nstealSrvPrerender.server(projectPath [,args] [,callback])\n```\n\n**Or** compile steal-srv-prerender application\n\n```js\nvar stealSrvPrerender = require(\"steal-srv-prerender\")\nstealSrvPrerender.compile(projectPath [,outputPath] [, callback])\n```\n\n**Or** use as Connect/ExpressJS middleware\n\n```js\nvar express = require(\"express\");\nvar stealSrvPrerender = require(\"steal-srv-prerender\");\nvar app = express();\n```\n\n```js\n// Express 3\napp.configure(function(){\n  app.use(express.static(__dirname + \"/public\"));\n  app.use(stealSrvPrerender.mount(__dirname + \"/public\"));\n});\n```\n\n```js\n// Express 4\n\napp.use(express.static(__dirname + \"/public\"));\napp.use(stealSrvPrerender.mount(__dirname + \"/public\"));\n\n```\n\n## License\nCreated by Frank Lemanschik and the Opensource Community Since 1990–2019 [DIREKTSPEED](https://dspeed.eu)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstealify%2Fserver-harp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstealify%2Fserver-harp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstealify%2Fserver-harp/lists"}