{"id":19429604,"url":"https://github.com/bene/staticstatus","last_synced_at":"2025-02-25T05:41:33.897Z","repository":{"id":135995931,"uuid":"603919420","full_name":"bene/StaticStatus","owner":"bene","description":"0-backend status page.","archived":false,"fork":false,"pushed_at":"2023-03-04T17:22:36.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-07T20:11:55.149Z","etag":null,"topics":["serverless","static-site-generator","status","status-page"],"latest_commit_sha":null,"homepage":"","language":"Go","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/bene.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-19T23:47:34.000Z","updated_at":"2023-02-20T11:53:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"a1e748ca-8b63-4241-b9fb-c369ff1c5df4","html_url":"https://github.com/bene/StaticStatus","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/bene%2FStaticStatus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bene%2FStaticStatus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bene%2FStaticStatus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bene%2FStaticStatus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bene","download_url":"https://codeload.github.com/bene/StaticStatus/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240612540,"owners_count":19829027,"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":["serverless","static-site-generator","status","status-page"],"created_at":"2024-11-10T14:20:01.647Z","updated_at":"2025-02-25T05:41:33.869Z","avatar_url":"https://github.com/bene.png","language":"Go","readme":"# StaticStatus\n\nStatusStatus is the easiest way to spin up a status page. There is no need for a\ndatabase or a backend at all. All you need to do is to clone this repo and\ndeploy it via Netlify.\n\n## Deployment\n\n### Environment variables\n\nAll of the following environment variables are required.\n\n| Name                    | Description                                                                                                          | Value                        |\n| ----------------------- | -------------------------------------------------------------------------------------------------------------------- | ---------------------------- |\n| `CHECK_URL`             | The URL to check the status.                                                                                         | `https://app1.example.com`   |\n| `SELF_URL`              | The URL of the status page deployment.                                                                               | `https://status.example.com` |\n| `INITIAL_BUILD`         | Must be `true` for first build and then set to `false`. When set to `true` all previous status entries will be lost. | `true` -\u003e `false`            |\n| `BUILD_WEBHOOK`         | A build hook URL to redeploy the status page.                                                                        | `https://api.netlify.com`    |\n| `AWS_LAMBDA_JS_RUNTIME` | Static value to execute Lambda function in Node 18.                                                                  | `nodejs18.x`                 |\n\n[![Deploy to Netlify](https://www.netlify.com/img/deploy/button.svg)](https://app.netlify.com/start/deploy?repository=https://github.com/bene/StaticStatus)\n\n## Concept\n\nThis kinda works like a blockchain. A scheduled Netlify function redeploys the\nstatus page every minute. During the build process not only the new status\nis checked but also the status history is fetched from the currently deployed\nstatus page. The new build attaches the new status to the history and deploys\nthe next history.\n\n## Cost\n\nThe price for this 0-backend status page is payed in Netlify build minutes. A\nsingle deploy has an average build time of 10 seconds which results in the\nfollowing prices per month:\n\n| Interval  | Price        |\n| --------- | ------------ |\n| 1 minute  | 7300 minutes |\n| 5 minutes | 1460 minutes |\n\n## Disclaimer\n\nThis project has been created to deploy a status page in the quickest, most\neasiest way possible. If you want to consistently monitor your app over a longer\nperiod of time, a traditional status page service with a backend is probably the\nway to go.\n\n## Development\n\n### Simulate deploy\n\n\u003e go run ./src/main.go\n\n### Build styles\n\nTo build the stylesheets use the\n[Tailwind CLI](https://tailwindcss.com/blog/standalone-cli).\n\n\u003e tailwindcss -i ./src/main.css -o ./static/main.css\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbene%2Fstaticstatus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbene%2Fstaticstatus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbene%2Fstaticstatus/lists"}