{"id":21768490,"url":"https://github.com/lucascorpion/local-discovery","last_synced_at":"2026-05-21T07:11:54.322Z","repository":{"id":55947120,"uuid":"315993796","full_name":"LucaScorpion/local-discovery","owner":"LucaScorpion","description":"Simple agent discovery in your local network.","archived":false,"fork":false,"pushed_at":"2022-08-25T14:32:04.000Z","size":276,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-02-19T13:03:19.904Z","etag":null,"topics":["discovery","docker-image","local-network","server"],"latest_commit_sha":null,"homepage":"https://hub.docker.com/r/lucascorpion/local-discovery","language":"TypeScript","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/LucaScorpion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-25T16:23:12.000Z","updated_at":"2020-12-18T22:34:32.000Z","dependencies_parsed_at":"2022-08-15T10:01:14.699Z","dependency_job_id":null,"html_url":"https://github.com/LucaScorpion/local-discovery","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaScorpion%2Flocal-discovery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaScorpion%2Flocal-discovery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaScorpion%2Flocal-discovery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LucaScorpion%2Flocal-discovery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LucaScorpion","download_url":"https://codeload.github.com/LucaScorpion/local-discovery/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244745720,"owners_count":20503048,"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":["discovery","docker-image","local-network","server"],"created_at":"2024-11-26T13:36:29.542Z","updated_at":"2026-05-21T07:11:49.287Z","avatar_url":"https://github.com/LucaScorpion.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Local Discovery\n\n[![Docker Image Version](https://img.shields.io/docker/v/lucascorpion/local-discovery?sort=semver)](https://hub.docker.com/r/lucascorpion/local-discovery)\n[![Docker Image Size](https://img.shields.io/docker/image-size/lucascorpion/local-discovery?sort=semver)](https://hub.docker.com/r/lucascorpion/local-discovery)\n[![Docker Pulls](https://img.shields.io/docker/pulls/lucascorpion/local-discovery)](https://hub.docker.com/r/lucascorpion/local-discovery)\n\nA simple API which can be used to discover agents in a local network.\n\n## Using the API\n\nAll endpoints only expose agents in the same network as the request origin, based on the remote client IP address.\n\n### Agent Schema\n\n| Attribute  | Description |\n|------------|-------------|\n| `name`     | The name of the agent application. This will likely be the same for all agents.\n| `version`  | The version of the agent application.\n| `address`  | The local address (IP and port) at which the agent is running.\n| `platform` | The platform the agent is running on, e.g. `windows`, `linux` or `mac`.\n| `hostname` | The name of the host the agent is running on.\n\n### List the Agents\n\nSend a `GET` request to `/api/agents`. This will return a JSON list of known agent information:\n\n```json\n[\n  {\n    \"name\": \"agent\",\n    \"version\": \"1.0.0\",\n    \"address\": \"192.168.0.110:4000\",\n    \"platform\": \"windows\",\n    \"hostname\": \"my-pc\"\n  }\n]\n```\n\n### Register an Agent\n\nSend a `POST` request to `/api/agents`, with the agent information as JSON in the request body:\n\n```json\n{\n  \"name\": \"agent\",\n  \"version\": \"1.0.0\",\n  \"address\": \"192.168.0.110:4000\",\n  \"platform\": \"windows\",\n  \"hostname\": \"my-pc\"\n}\n```\n\nThis will return the list of known agents in the local network (see \"List the Agents\" above).\n\nIf the agent address is the same as the address of a known agent, the known agent will be replaced with the new one.\n\n### Remove an agent\n\nSend a `DELETE` request to `/api/agents/:address`, where `:address` is the local address of the agent. If no agent with that address is registered, nothing happens. \n\nThis will return the list of known agents in the local network (see \"List the Agents\" above).\n\n## Configuration\n\nThe discovery server can be configured through environment variables.\n\n| Variable          | Default | Description |\n|-------------------|---------|-------------|\n| `LOG_LEVEL`       | `INFO`  | The log level (`DEBUG`, `INFO`, `WARN`, `ERROR` or `OFF`).\n| `PORT`            | 5000    | The port the server listens on.\n| `KEEP_AGENT_TIME` | 600     | The time (in seconds) to keep agents in the registry. \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucascorpion%2Flocal-discovery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucascorpion%2Flocal-discovery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucascorpion%2Flocal-discovery/lists"}