{"id":13343727,"url":"https://github.com/inlife/releases","last_synced_at":"2025-04-14T12:22:42.879Z","repository":{"id":44068443,"uuid":"209395133","full_name":"inlife/releases","owner":"inlife","description":"Page with latest GitHub releases from private repos","archived":false,"fork":false,"pushed_at":"2023-01-07T10:04:36.000Z","size":370,"stargazers_count":8,"open_issues_count":9,"forks_count":1,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-10T12:43:36.260Z","etag":null,"topics":["artifact","github","nextjs","now","release","template","zeit"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/inlife.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":"2019-09-18T20:09:15.000Z","updated_at":"2023-05-17T01:37:05.000Z","dependencies_parsed_at":"2023-02-06T21:00:50.584Z","dependency_job_id":null,"html_url":"https://github.com/inlife/releases","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inlife%2Freleases","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inlife%2Freleases/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inlife%2Freleases/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/inlife%2Freleases/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/inlife","download_url":"https://codeload.github.com/inlife/releases/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248878432,"owners_count":21176331,"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":["artifact","github","nextjs","now","release","template","zeit"],"created_at":"2024-07-29T19:31:57.421Z","updated_at":"2025-04-14T12:22:42.844Z","avatar_url":"https://github.com/inlife.png","language":"JavaScript","readme":"# releases\n\n\nA simple web-page/api resource that allows you to display the latest releases to your users and allow them to download them.\nIt is oriented to work with and support private github repositories.\n\n![](https://user-images.githubusercontent.com/2182108/65677990-3ce81800-e05b-11e9-8750-4e116048d3e0.png)\n\n\u003e Example page: [nexrender.now.sh](https://nexrender.now.sh/)\n\nIt is based on the same idea, design, and principles established by [ZEIT's Hazel](https://github.com/zeit/hazel/) (which is an amazing tool on it's own).\n\nHowever this is a more general version with intention to support:\n\n* Support for any kind of applications/binary artifacts/etc\n* Support of multiple repositories even from different owners (projects) at the same time\n* Support private repositories by default\n* Repository name and owner aliasing (to override the display names for your private repos)\n* Leverages GitHub releases, as well as git tag versioning approach\n\n## Instructions\n\n### Local development\n\n1. `git clone https://github.com/inlife/releases.git`\n2. `cd releases`\n2. `npm install`\n3. `cp config.dest.json config.json`\n4. Edit config to reflect your needs\n5. `GITHUB_TOKEN=... npm run dev`\n\n### Deployment (using now)\n\n1. `now --prod -e GITHUB_TOKEN=...`\n\n### Additional options\n\n#### ENV\n* `CACHE_DELAY=900000` - cache time for the specific release\n* `MAXIMUM_RELEASES=25` - how many releases should be pulled from gihtub and displayed on `All releases` page\n\n#### Config\n* `config.prereleases=true/false` - do you want to display only pre-releases or stable releases\n\n## Routes\n\n### /\n\nDisplays information about latest releas for each one of the configured projects.\n\n### /[owner]/[repo]/\n\nDisplay a set of releases for a specific repository.\n\n### /[owner]/[repo]/[version]\n\nDisplay a detailed information about a specific release, including it's release notes.\n\n\u003e You can also provide `latest` as version name to auto-redirect to the latest available release.\n\n### /api\n\nGet infromation in the JSON format about all projects with a single call.\n\n### /api/download/[owner]/[repo]/[version]/[assetId]\n\nGet a direct proxied download link for the specific asset (can be retrieved from `/api` call).\n\n### /api/fetch/[onwer]/[repo]/[keyword]/[version]\n\nAuto-guess and get a direct download link for an asset matching provided criteria.\n\nThe `keyword` is used to search for the match inside of the asset label string.\n\n#### Examples:\n\nAssuming your asset name would look like: `myasset-win-server-v12.3.exe`, or `myasset-linux-worker-1.23.2`, both cases below would return the appropriate asset respectively:\n\n* `/api/fetch/inlife/releases/win-serv/latest`\n* `/api/fetch/inlife/nexrender/linux-worker/1.23.2`\n\nBy default all releases are cached for 15 minutes. To bust cache (for example right after the release) you can call `GET /api?cache=bust`\n\n## Credits\n\nHuge thanks to Leo Lamprecht ([@leo](https://github.com/leo)) - [ZEIT](https://zeit.co) for creating [Hazel](https://github.com/zeit/hazel/)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finlife%2Freleases","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finlife%2Freleases","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finlife%2Freleases/lists"}