{"id":23814371,"url":"https://github.com/stuartpb/reshotput","last_synced_at":"2025-02-21T20:17:13.551Z","repository":{"id":19403215,"uuid":"22644967","full_name":"stuartpb/reshotput","owner":"stuartpb","description":"One-button app to restore a server to a snapshot","archived":false,"fork":false,"pushed_at":"2018-02-22T00:34:22.000Z","size":36,"stargazers_count":0,"open_issues_count":6,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-02T03:47:19.903Z","etag":null,"topics":[],"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/stuartpb.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":"2014-08-05T13:42:52.000Z","updated_at":"2019-07-26T10:30:17.000Z","dependencies_parsed_at":"2022-08-21T07:10:47.427Z","dependency_job_id":null,"html_url":"https://github.com/stuartpb/reshotput","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/stuartpb%2Freshotput","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartpb%2Freshotput/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartpb%2Freshotput/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/stuartpb%2Freshotput/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/stuartpb","download_url":"https://codeload.github.com/stuartpb/reshotput/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240079640,"owners_count":19744726,"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":"2025-01-02T03:47:23.216Z","updated_at":"2025-02-21T20:17:13.531Z","avatar_url":"https://github.com/stuartpb.png","language":"JavaScript","readme":"# reshotput\n\nreshotput is a one-button app to restore a server to a snapshot. It was created for the Plushu sandbox reset page at http://reset-sandbox.plushu.org app, to allow the sandbox server to be reset at any time by any user.\n\n## Configuring\n\nreshotput is a [12-Factor App](http://12factor.net), with all configuration performed by setting environment variables.\n\n## API parameters\n\nRight now, DigitalOcean and Packet are the only supported server hosts: support for more hosts is planned via the [pkgcloud](https://github.com/pkgcloud/pkgcloud) library.\n\n### General\n\n- `SNAPSHOT_ID`: The ID of the image to restore.\n- `SERVER_ID`: The ID of the server to restore the image to.\n- `SERVER_ADDRESS`: The location of the server, for use when referring to the server in messages, and when connecting to run the SSH pre-reset command (see below).\n\nHow the `SNAPSHOT_ID` and `SERVER_ID` parameters will be interpreted depends on which of the following parameters are present:\n\n### DigitalOcean\n\n- `DIGITALOCEAN_API_TOKEN`: The API token to use for authentication.\n\n### Packet\n\n- `PACKET_API_KEY`: The API key to use for authentication.\n\nNote that, as Packet does not support any kind of snapshotting for a system's on-board storage, Packet will only trigger a reinstall of the server, ignoring any value of `SNAPSHOT_ID`.\n\n## SSH Pre-reset Commands\n\nreshotput includes functionality to log in and perform a command on the server via SSH before resetting it.\n\n- `SSH_IDENTITY`: The content of the private key to use when logging into the server.\n- `SSH_USERNAME`: The name of the user to log in as. Defaults to `root`.\n- `PRE_RESET_COMMAND`: The command to execute before performing the reset. Defaults to `echo \"The system is going down for reset NOW!\" | wall`.\n- `PRE_RESET_COMMAND_TIMEOUT`: How long to wait for the pre-reset command to finish executing before performing the reset anyway, in seconds. Defaults to 5 seconds.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuartpb%2Freshotput","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fstuartpb%2Freshotput","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fstuartpb%2Freshotput/lists"}