{"id":15558348,"url":"https://github.com/gobengo/indieweb","last_synced_at":"2025-03-29T15:29:48.832Z","repository":{"id":30149500,"uuid":"33699701","full_name":"gobengo/indieweb","owner":"gobengo","description":"A server to host your indie-things","archived":false,"fork":false,"pushed_at":"2015-04-29T09:49:09.000Z","size":236,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-26T14:23:37.560Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gobengo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-04-10T00:29:51.000Z","updated_at":"2015-05-19T19:55:26.000Z","dependencies_parsed_at":"2022-07-21T20:49:08.191Z","dependency_job_id":null,"html_url":"https://github.com/gobengo/indieweb","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gobengo%2Findieweb","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gobengo%2Findieweb/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gobengo%2Findieweb/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gobengo%2Findieweb/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gobengo","download_url":"https://codeload.github.com/gobengo/indieweb/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246203797,"owners_count":20740195,"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","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-02T15:32:05.498Z","updated_at":"2025-03-29T15:29:48.803Z","avatar_url":"https://github.com/gobengo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# indieweb\n\nA JavaScript library (and runnable server/process) for hosting your own [#indieweb](http://indiewebcamp.com/).\n\n## What is an indieweb?\n\nGreat question. That has an evolving answer.\n\nCurrently\n* Serve HTTP at the / route\n\nFuture\n* idk maybe some articles or something\n* [MicroPub](http://indiewebcamp.com/Micropub)? Is that a thing?\n* [Social API](https://www.w3.org/wiki/Socialwg/Social_API/Sorting_user_stories)s\n\n## Run it\n\n`make server`\n\nRestart on file changes with `make watch`.\n\n### Configuration\n\nConfiguration is accomplished with both config files (in [./config](./config)) and environment variables. Environment Variables have a higher priority.\n\nConfiguration defaults are loaded from [defaults.json](./config/defaults.json).\n\nAccepted configuration parameters:\n\n* `indieweb` - General settings that are passed to all modules\n  * `.domain` - Public domain of your indieweb\n  * `.me` - A JSON Object describing the owner of this site. Currently this uses a JSON-LD Serialization of an [AS Person](http://www.w3.org/TR/2015/WD-activitystreams-vocabulary-20150129/#dfn-person).\n* `indieweb-home` - Settings for the homepage module\n  * `.title` - Title of the page\n* `DEBUG` - Exactly as described in [debug README](https://www.npmjs.com/package/debug). `DEBUG=*` to show all logs.\n* `config` - Path to config file other than defaults.json. `config=/path/to/config.json make server`\n* `PORT` - Port to listen for HTTP traffic on\n* `findPortBase` - If no `PORT`, [portfinder](https://www.npmjs.com/package/portfinder) will start at this port and look 1 by 1 to find an open port\n* `https` - Settings for HTTPS support\n  * `.require` - Require HTTPS. All requests over http will be redirected to https.\n  * `.trustXForwardedProto` - If incoming protocol is 'http', but the request has header for 'X-Forwarded-Proto: https', still treat it as if https. [Relevant StackOverflow](https://stackoverflow.com/questions/7185074/heroku-nodejs-http-to-https-ssl-forced-redirect)\n\n## Use in another webapp\n\nIf you prefer, you can use `indieweb` as a library.\n\nInstall with `npm install --save indieweb`.\n\nUse like any other express app.\n* TODO: easily interop with other patterns like koa\n\n```javascript\nconst yourApp = require('express')();\nconst indiewebConfig = {};\nyourApp.use('/indieweb', require('indieweb')(indiewebConfig))\n```\n\n## Want a feature?\n\nFile an issue\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgobengo%2Findieweb","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgobengo%2Findieweb","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgobengo%2Findieweb/lists"}