{"id":17041947,"url":"https://github.com/cloudhead/golem","last_synced_at":"2026-05-17T03:11:27.081Z","repository":{"id":66106807,"uuid":"1597151","full_name":"cloudhead/golem","owner":"cloudhead","description":"pre-forking HTTP server for node (old)","archived":false,"fork":false,"pushed_at":"2011-04-20T00:44:28.000Z","size":135,"stargazers_count":2,"open_issues_count":1,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-09T19:08:24.168Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cloudhead.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-04-11T02:43:13.000Z","updated_at":"2013-10-12T22:53:31.000Z","dependencies_parsed_at":"2023-02-19T22:35:16.169Z","dependency_job_id":null,"html_url":"https://github.com/cloudhead/golem","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/cloudhead/golem","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhead%2Fgolem","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhead%2Fgolem/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhead%2Fgolem/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhead%2Fgolem/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cloudhead","download_url":"https://codeload.github.com/cloudhead/golem/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cloudhead%2Fgolem/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279001981,"owners_count":26083243,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-09T02:00:07.460Z","response_time":59,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-10-14T09:14:16.932Z","updated_at":"2025-10-09T19:08:24.820Z","avatar_url":"https://github.com/cloudhead.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\ngolem\n=====\n\n\u003e pre-forking HTTP server for node.\n\nintroduction\n------------\n\n**golem** was directly inspired by [unicorn](http://raa.ruby-lang.org/project/unicorn/) and [nginx](http://nginx.org),\nin its pre-forking model, UNIX-oriented design and signal handling. Unlike unicorn, it is capable of handling slow clients,\nand doesn't need to run behind a load-balancer. This is due to [node](http://nodejs.org) being inherently designed for\nslow clients.\n\noverview\n--------\n\n**golem** is started with the `golem` command, which takes a number of options, and a path to the application file:\n\n    $ golem -p 8888 -n 2 server/index.js\n\n*See the `examples/` folder for examples. For information on all the options, see the `golem(1)` man page.*\n\nOne may choose to start **golem** in *daemonized* mode, this is simply achieved by passing the `-D` flag. **golem**\nwill then fork itself twice, start a new session and detach itself from the terminal. If the child process hasn't\nencountered any errors, it will signal its grand-parent (which will exit promptly), and start listening for connections.\n\nOnce it's started accepting connections, **golem** distributes the load amongst its worker processes. If a worker dies,\nit is respawned immediately. The running instance can be controlled via standard POSIX signals, such as `SIGHUP` and `SIGQUIT`:\n\n    $ kill -s SIGQUIT `cat /var/run/golem.pid`\n\nThis performs a graceful shutdown of the master and all workers.\n\nlogging\n-------\n\n**golem** has several ways of logging:\n\n### stdout/stderr #\n\nThis is the default, when in *development* mode. Output is to current terminal.\n\n### log file #\n\nThis is the default, when in *production* mode. Output is to a file of your choosing.\nIt defaults to `/var/log/golem.log`, this can be changed via the command-line, with the\n`--log` option, and similarly in the server file.\n\n### custom logger #\n\nWe can specify a custom logger, by setting the `logger` option in the server file, for example\nif we want *syslog* logging, we can do:\n\n    config.logger = syslog.createClient(514, 'localhost');\n\ndocumentation\n-------------\n\nSee the `golem(1)` man page for specifics. Alternatively, you can view `doc/golem.1.md`.\n\ndevelopment\n-----------\n\nRun `make` to build the source files, `make install` to install.\n\nlicense\n-------\n\n**golem** is licensed under the AGPLv3 license. See `LICENSE` for more information.\n\ncopyright\n---------\n\nCopyright (C) 2011 [Alexis Sellier](http://cloudhead.io)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudhead%2Fgolem","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcloudhead%2Fgolem","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcloudhead%2Fgolem/lists"}