{"id":18620555,"url":"https://github.com/thibmaek/wled-backup","last_synced_at":"2025-04-11T02:31:15.287Z","repository":{"id":37909570,"uuid":"455107752","full_name":"thibmaek/wled-backup","owner":"thibmaek","description":"Simple CLI tool to backup presets \u0026 configuration from a WLED device","archived":false,"fork":false,"pushed_at":"2022-06-30T13:48:06.000Z","size":53600,"stargazers_count":19,"open_issues_count":1,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-10T15:53:28.851Z","etag":null,"topics":["arm","backup","binary","cli","golang","thibmaek-com","wled","x64"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thibmaek.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":"2022-02-03T09:46:55.000Z","updated_at":"2025-03-18T14:44:30.000Z","dependencies_parsed_at":"2022-09-09T04:51:18.432Z","dependency_job_id":null,"html_url":"https://github.com/thibmaek/wled-backup","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":"thibmaek/go-simple-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thibmaek%2Fwled-backup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thibmaek%2Fwled-backup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thibmaek%2Fwled-backup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thibmaek%2Fwled-backup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thibmaek","download_url":"https://codeload.github.com/thibmaek/wled-backup/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248329558,"owners_count":21085559,"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":["arm","backup","binary","cli","golang","thibmaek-com","wled","x64"],"created_at":"2024-11-07T04:06:54.319Z","updated_at":"2025-04-11T02:31:10.268Z","avatar_url":"https://github.com/thibmaek.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WLED Backup (wled-backup)\r\n\r\n[![standard-readme compliant](https://img.shields.io/badge/readme%20style-standard-brightgreen.svg)](https://github.com/RichardLitt/standard-readme)\r\n[![.github/workflows/ci.yaml](https://github.com/thibmaek/wled-backup/actions/workflows/ci.yaml/badge.svg)](https://github.com/thibmaek/wled-backup/actions/workflows/ci.yaml)\r\n![Go version](https://img.shields.io/github/go-mod/go-version/thibmaek/wled-backup)\r\n[![Go Report](https://goreportcard.com/badge/github.com/thibmaek/wled-backup)](https://github.com/thibmaek/wled-backup)\r\n\r\nSimple CLI tool to backup presets \u0026 configuration from a [WLED](https://github.com/Aircoookie/WLED) device.\r\n\r\n## Table of Contents\r\n\u003c!-- - Must link to all Markdown sections in the file.\r\n- Must start with the next section; do not include the title or Table of Contents headings.\r\n- Must be at least one-depth: must capture all `##` headings. --\u003e\r\n- [Background](#background)\r\n- [Install](#install)\r\n- [Usage](#usage)\r\n- [Development](#development)\r\n- [License](#license)\r\n\r\n## Background\r\n\r\nI put a lot of effort in getting my presets right for all of my WLED devices. The cheap ESP8266's I buy from AliExpress aren't resistant to failure however and reflashing WLED on a new ESP means that I would have to recreate my presets from scratch.\r\nLuckily WLED's JSON API exposes an endpoint to retrieve your presets \u0026 configuration as JSON files.\r\n\r\nThis tool does nothing more than calling that endpoint and writing it to a file on the system in parallel. This way you can backup your files via e.g a cronjob.\r\n\r\nIt's also possible to reupload these files across host and syncing the presets if you'd want that. This tool however does not currently support that.\r\n\r\n## Install\r\n\r\nDownload the latest release binary for your platform from the [releases page](https://github.com/thibmaek/wled-backup/releases). Optionally rename it if you want but this is not required.\r\n\r\n## Usage\r\n\r\nRun the `export` command and pass a host or a list of (comma separated) hosts.\r\n\r\n```console\r\n# A single host\r\n$ ./wled-backup_linux_x64 export --hosts=192.168.1.12\r\n\r\n# Multiple hosts\r\n$ ./wled-backup_linux_x64 export --hosts=192.168.1.12,192.168.1.177\r\n\r\n# mDNS works too, you can mix and match\r\n$ ./wled-backup_linux_x64 export --hosts=wled-tv.local,192.168.1.177\r\n```\r\n\r\nBy default this will output the backup files in the current folder. You can optionally specify an output directory with the `--outputDir` flag:\r\n\r\n```console\r\n$ ./wled-backup_linux_x64 export --hosts=192.168.1.12,192.168.1.177 --outputDir=/home/user/wled_backups\r\n```\r\n\r\n## Development\r\n\r\nTo build from source make sure you have the following dependencies installed:\r\n\r\n- GNU Make 3.81+\r\n- [asdf](https://asdf-vm.com)\r\n\r\nThe version of Go is determined by `.tool-versions`, the configuration file for asdf.\r\nTo install the correct version determined by the repository run the following command:\r\n\r\n```shell\r\n$ asdf install\r\n```\r\n\r\nYou can then use the provided Make targets to build for all or specific architectures:\r\n\r\n```shell\r\n# Build for 64 bit (Linux, macOS Intel, Windows)\r\n$ make build_x64\r\n\r\n# Build for ARM (Linux, Raspberry Pi, macOS M1)\r\n$ make build_x64\r\n\r\n# Build all artifacts\r\n$ make build\r\n```\r\n\r\nThe built artifacts will then be available in the `./bin/` folder:\r\n\r\n```console\r\nbin\r\n├── wled-backup_linux_armv6\r\n├── wled-backup_linux_armv7\r\n├── wled-backup_linux_x64\r\n├── wled-backup_mac_arm64\r\n├── wled-backup_mac_x64\r\n└── wled-backup_win_x64.exe\r\n```\r\n\r\n## License\r\n\r\nUnlicense\r\n\r\nFor more info, see [LICENSE file](./LICENSE)\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthibmaek%2Fwled-backup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthibmaek%2Fwled-backup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthibmaek%2Fwled-backup/lists"}