{"id":19429177,"url":"https://github.com/farmradiohangar/boxter","last_synced_at":"2026-07-22T02:02:04.892Z","repository":{"id":57609997,"uuid":"86909883","full_name":"FarmRadioHangar/boxter","owner":"FarmRadioHangar","description":"track and sync multiple voxbox playbacks between machines.","archived":false,"fork":false,"pushed_at":"2017-05-18T21:58:04.000Z","size":41,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-10-21T05:44:30.794Z","etag":null,"topics":["deployment","voxbox"],"latest_commit_sha":null,"homepage":"","language":"Go","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/FarmRadioHangar.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":"2017-04-01T11:47:56.000Z","updated_at":"2017-04-03T09:42:37.000Z","dependencies_parsed_at":"2022-08-27T21:23:49.066Z","dependency_job_id":null,"html_url":"https://github.com/FarmRadioHangar/boxter","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/FarmRadioHangar/boxter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmRadioHangar%2Fboxter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmRadioHangar%2Fboxter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmRadioHangar%2Fboxter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmRadioHangar%2Fboxter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FarmRadioHangar","download_url":"https://codeload.github.com/FarmRadioHangar/boxter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FarmRadioHangar%2Fboxter/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35743464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-07-20T02:08:10.276Z","status":"online","status_checked_at":"2026-07-22T02:00:06.236Z","response_time":124,"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":["deployment","voxbox"],"created_at":"2024-11-10T14:18:18.278Z","updated_at":"2026-07-22T02:02:04.843Z","avatar_url":"https://github.com/FarmRadioHangar.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# boxter\n\nboxter is a commandline application which helps track and sync multiple voxbox playbooks between machines.\n\n## Dependencies\n\n- `rsync` boxter relies on rsync to update playbooks\n\n## Commands\n\nsync\n\n```\nNAME:\n   boxter sync - syncs new or specified version of playbook\n\nUSAGE:\n   boxter sync [command options] [arguments...]\n\nOPTIONS:\n   --config value               path to the configuration file\n   --host value                 the name of the host machine\n   --boxid value                unique id of the box\n   --remote-playbook-dir value  the directory to sync playbooks to in a remote host\n   --ssh value                  ssh connection url\n   --rsh value                  passed to rsync\n```\n\nThe `--config` points to a simple configuration file which has the following formal\n\n```json\n{\n\t\"boxidDir\": \"/path/to/where/boxid/manifext/syncs\",\n\t\"hostsFile\": \"/paths/to/hosts/ini/file\",\n\t\"localPlaybookDIr\": \"/local/playbooks/dir\",\n\t\"remotePlaybookDIr\": \"/path/to/remote/playbook/dir\"\n}\n```\n\nYou can also specify the version of the playbook you want to sync as the first argument to the sync command\n\n```\nboxter sync --config /path/to/config  0.1.0\n```\n\nThis way, `0.1.0` will take precedence over  the version you specified on the ini file.\n\nboxter uses a ini configuration file to determine which versions of the voxbox playbook should be provisioned for specific hosts.\nIn the sample config above `hostsFile` is the path to this configuration file.\n\nThis is a sample of the ini file\n\n```ini\n[latest]\nbox2 =\nbox3  =\nbox4 =\n\n[0.1.0]\nhabarimaalum=\n\n[0.2.1]\nmambojambo=\n```\n\nThe sections `[all], [0.1.0] etc ` defines the versions of the playbook. The keys defined under these sections represent the host names.\n\n__IMPORTANT__ don't forget to add the `=` sign after the host name. The configuration is nini we need to add this to be compliant with the parser but it has no effect whatsoeve.\n\nSo that sample says provision voxbox version `0.1.0` for a host named `habarimaalum`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarmradiohangar%2Fboxter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffarmradiohangar%2Fboxter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffarmradiohangar%2Fboxter/lists"}