{"id":21371504,"url":"https://github.com/chirpstack/chirpstack-fuota-server","last_synced_at":"2025-07-13T07:31:32.472Z","repository":{"id":44651554,"uuid":"318467496","full_name":"chirpstack/chirpstack-fuota-server","owner":"chirpstack","description":"FUOTA server which can be used together with ChirpStack Application Server.","archived":false,"fork":false,"pushed_at":"2024-05-23T12:18:44.000Z","size":6430,"stargazers_count":36,"open_issues_count":7,"forks_count":20,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-06-19T00:20:11.620Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/chirpstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":"chirpstack"}},"created_at":"2020-12-04T09:31:44.000Z","updated_at":"2024-05-24T06:07:35.000Z","dependencies_parsed_at":"2024-04-02T13:32:06.697Z","dependency_job_id":"cbb4fd11-6428-45a0-a90b-952aff1d0e93","html_url":"https://github.com/chirpstack/chirpstack-fuota-server","commit_stats":{"total_commits":28,"total_committers":2,"mean_commits":14.0,"dds":0.0357142857142857,"last_synced_commit":"6e014688cb4b2a5dc658bf7876df69a1cf3e2176"},"previous_names":["brocaar/chirpstack-fuota-server"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chirpstack%2Fchirpstack-fuota-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chirpstack%2Fchirpstack-fuota-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chirpstack%2Fchirpstack-fuota-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chirpstack%2Fchirpstack-fuota-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chirpstack","download_url":"https://codeload.github.com/chirpstack/chirpstack-fuota-server/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225862809,"owners_count":17535998,"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":"2024-11-22T08:13:41.164Z","updated_at":"2024-11-22T08:13:41.810Z","avatar_url":"https://github.com/chirpstack.png","language":"Go","readme":"# ChirpStack FUOTA Server\n\nChirpStack FUOTA Server is an open-source FUOTA server implementation for\nLoRaWAN(R). It integrates with the [ChirpStack](https://www.chirpstack.io/)\nusing the HTTP integration (for receiving uplink payloads) and uses the\nChirpStack gRCP API for creating the multicast-groups and enqueueing the\ndownlink payloads.\n\n**Note:** This version is compatible with ChirpStack v4, for v3, please refer\nto the [v3 branch](https://github.com/brocaar/chirpstack-fuota-server/tree/v3)\nof this repository.\n\n## Building from source\n\nThe following commands explain how to compile the source-code using the\nprovided [Docker Compose](https://docs.docker.com/compose/) development\nenvironment.\n\nTo start a `bash` shell within this environment:\n\n```\ndocker-compose run --rm chirpstack-fuota-server bash\n```\n\n```\n# cleanup workspace\nmake clean\n\n# run the tests\nmake test\n\n# compile (this will also compile the ui and generate the static files)\nmake build\n\n# compile snapshot builds for supported architectures (this will also compile the ui and generate the static files)\nmake snapshot\n```\n\n## API interface\n\nThe ChirpStack FUOTA Server provides a [gRPC](https://grpc.io/) API interface\nfor scheduling the FUOTA deployments to one or multiple devices under a\nChirpStack application ID. This API is defined by the\ngRPC [FuotaServerService](https://github.com/chirpstack/chirpstack-fuota-server/blob/master/api/proto/fuota.proto).\n\n## Setup\n\nAfter installing the ChirpStack FUOTA Server, there are a couple of steps to\ntake to setup. Example commands:\n\n### Database setup\n\nThe ChirpStack FUOTA Server stores the deployment results into a [PostgreSQL](https://www.postgresql.org/)\ndatabase. You must enable the `hstore` extension for this database.\n\n```bash\nsudo -u postgres psql\n```\n\n```sql\n-- set up the user and password\n-- (note that it is important to use single quotes and a semicolon at the end!)\ncreate role chirpstack_fuota with login password 'dbpassword';\n\n-- create the database\ncreate database chirpstack_fuota with owner chirpstack_fuota;\n\n-- change to the ChirpStack FUOTA Server database\n\\c chirpstack_fuota\n\n-- enable the hstore extension\ncreate extension hstore;\n\n-- exit psql\n\\q\n```\n\n### Create API key\n\nThe ChirpStack FUOTA Server needs a ChirpStack API key in order authenticate\nwith the ChirpStack API. You can generate this key within the ChirpStack\nweb-interface. This key must be configured in the `chirpstack-fuota-server.toml`\nconfiguration file.\n\n### HTTP integration\n\nWithin ChirpStack, you must also setup a HTTP integration for the application(s)\nyou want to use with the ChirpStack FUOTA Server. Make sure that this matches\nwith the host / IP and port the ChirpStack FUOTA Server event handler is binding\nto. As well make sure that the marshaler matches.\n\n## Usage and configuration file\n\nPlease refer to the CLI interface for usage information and for the command to\ngenerate a configuration file:\n\n```\nChirpStack FUOTA Server\n\nUsage:\n  chirpstack-fuota-server [flags]\n  chirpstack-fuota-server [command]\n\nAvailable Commands:\n  configfile  Print the ChirpStack FUOTA Server configuration file\n  help        Help about any command\n  version     Print the ChirpStack FUOTA Server version\n\nFlags:\n  -c, --config string   path to configuration file (optional)\n  -h, --help            help for chirpstack-fuota-server\n      --log-level int   debug=5, info=4, error=2, fatal=1, panic=0 (default 4)\n\nUse \"chirpstack-fuota-server [command] --help\" for more information about a command.\n```\n\n## Resources\n\nFor a better understanding of FUOTA, please refer to the following documents\nthat can be found at the [LoRa Alliance Resource Hub](https://lora-alliance.org/resource-hub):\n\n* Remote Multicast Setup\n* Fragmented Data Block Transport\n\n## License\n\nChirpStack FUOTA Server is distributed under the MIT license. See also\n[LICENSE](https://github.com/chirpstack/chirpstack-fuota-server/blob/master/LICENSE).\n","funding_links":["https://github.com/sponsors/chirpstack"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchirpstack%2Fchirpstack-fuota-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchirpstack%2Fchirpstack-fuota-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchirpstack%2Fchirpstack-fuota-server/lists"}