{"id":17216868,"url":"https://github.com/markusjx/traefik-wol","last_synced_at":"2025-04-13T23:22:20.566Z","repository":{"id":176683016,"uuid":"619283418","full_name":"MarkusJx/traefik-wol","owner":"MarkusJx","description":"Traefik plugin which starts a machine when a request is received using wake-on-lan","archived":false,"fork":false,"pushed_at":"2023-09-30T21:31:34.000Z","size":10,"stargazers_count":15,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-27T13:39:47.447Z","etag":null,"topics":["traefik","traefik-plugin"],"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/MarkusJx.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-03-26T19:40:32.000Z","updated_at":"2025-02-25T20:25:34.000Z","dependencies_parsed_at":null,"dependency_job_id":"8a4ccbb2-5dde-4aed-be85-f36c2ca46224","html_url":"https://github.com/MarkusJx/traefik-wol","commit_stats":null,"previous_names":["markusjx/traefik-wol"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkusJx%2Ftraefik-wol","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkusJx%2Ftraefik-wol/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkusJx%2Ftraefik-wol/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MarkusJx%2Ftraefik-wol/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MarkusJx","download_url":"https://codeload.github.com/MarkusJx/traefik-wol/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248795174,"owners_count":21162725,"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":["traefik","traefik-plugin"],"created_at":"2024-10-15T03:42:33.565Z","updated_at":"2025-04-13T23:22:20.531Z","avatar_url":"https://github.com/MarkusJx.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# traefik-wol\n\nTraefik plugin which starts a machine when a request is received using wake-on-lan.\nBased somewhat on [`go-wol`](https://github.com/sabhiram/go-wol).\n\n## Operation modes\n### Using the built-in wake-on-lan service\n\nIn this mode, the plugin will try to start the machine using the wake-on-lan service provided by the plugin.\nFor this to work, the plugin needs to be able to send a magic packet to the machine.\nThis means that the machine needs to be on the same network as the plugin.\nIn other words, when using docker the network mode needs to be `host`.\n\nDynamic configuration example:\n```yaml\nhttp:\n  middlewares:\n    traefik-wol:\n      plugin:\n        wol:\n          healthCheck: http://192.168.0.10:8009 # REQUIRED The URL to use for the health check\n          macAddress: 00:00:00:00:00:00 # REQUIRED The MAC address of the machine to start\n          ipAddress: 192.168.0.10 # REQUIRED The IP address of the machine to start\n```\n\n### Using an external wake-on-lan service\nIn order to not have to run the plugin in `host` mode, you can use an external wake-on-lan service.\nThis service needs to be able to send a magic packet to the machine.\nThe plugin will then send a request to the service to start the machine.\n\nA service that can be used for this is [`docker-wol_api`](https://github.com/rix1337/docker-wol_api).\n\nDynamic configuration example:\n```yaml\nhttp:\n  middlewares:\n    traefik-wol:\n      plugin:\n        wol:\n          healthCheck: http://192.168.0.10:8009 # REQUIRED The URL to use for the health check\n          #REQUIRED The URL to use for the start request\n          # This is the URL of the \"wake\" service\n          startUrl: http://192.168.0.11:8081/wol/00:00:00:00:00:00\n          startMethod: POST # The method to use for the start request\n          numRetries: 5 # The number of retries\n          requestTimeout: 5 # The request timeout in seconds\n```\n\n## Automatically stopping the machine after a period of inactivity\nThe plugin can automatically stop the machine after a period of inactivity.\nThis is done by sending a request to the machine to stop itself.\n\nA service that can be used for this is [`sleep-on-lan`](https://github.com/SR-G/sleep-on-lan).\n\nDynamic configuration example:\n```yaml\nhttp:\n  middlewares:\n    traefik-wol:\n      plugin:\n        wol:\n          healthCheck: http://192.168.0.10:8009 # REQUIRED The URL to use for the health check\n          # REQUIRED The URL to use for the start request\n          # This is the URL of the \"wake\" service\n          startUrl: http://192.168.0.11:8081/wol/00:00:00:00:00:00\n          startMethod: POST # The method to use for the start request\n          numRetries: 5 # The number of retries\n          requestTimeout: 5 # The request timeout in seconds\n          stopTimeout: 5 # The number of minutes to wait before stopping the server\n          stopUrl: http://192.168.0.10:8009/sleep # The URL to use for the stop request\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkusjx%2Ftraefik-wol","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarkusjx%2Ftraefik-wol","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarkusjx%2Ftraefik-wol/lists"}