{"id":21085050,"url":"https://github.com/overneath/serf","last_synced_at":"2026-05-17T12:41:40.536Z","repository":{"id":70787349,"uuid":"166356414","full_name":"overneath/serf","owner":"overneath","description":"hashicorp/serf `FROM scratch`","archived":false,"fork":false,"pushed_at":"2019-04-15T17:20:57.000Z","size":5,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T00:16:37.732Z","etag":null,"topics":["cli","docker-image","dockerfile","gossip-protocol","hashicorp-serf","serf"],"latest_commit_sha":null,"homepage":"https://www.serf.io","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/overneath.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-01-18T06:36:17.000Z","updated_at":"2023-02-15T20:17:10.000Z","dependencies_parsed_at":"2023-02-27T01:30:41.242Z","dependency_job_id":null,"html_url":"https://github.com/overneath/serf","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overneath%2Fserf","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overneath%2Fserf/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overneath%2Fserf/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/overneath%2Fserf/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/overneath","download_url":"https://codeload.github.com/overneath/serf/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243526945,"owners_count":20305115,"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":["cli","docker-image","dockerfile","gossip-protocol","hashicorp-serf","serf"],"created_at":"2024-11-19T20:29:19.876Z","updated_at":"2025-12-29T12:57:20.776Z","avatar_url":"https://github.com/overneath.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nothin' but Serf\n\n![Hashicorp Serf][serf-192]\n\n## But Why Though\n\nI needed a minimal installation of [hashicorp/serf][serf-src], downloaded and verified from the [official Serf downloads][serf-bin] page. This serves as a simple, containerized installation source.\n\n## Docker\n\nTo install into an image via `Dockerfile`:\n\n```dockerfile\nCOPY --from=overneath/serf:0.8 /opt/local/ /usr/local/\n```\n\n## LinuxKit\n\nTo underlay in [minimalist LinuxKit composition](linuxkit.yml):\n\n```yaml\nkernel:\n  # ...\ninit:\n  - linuxkit/init:v0.6\n  # ...\n  - overneath/serf:0.8\nonboot:\n  # ...\nservices:\n  # ...\n  - name: serf\n    image: alpine:3.7\n    binds:\n      - /etc/resolv.conf:/etc/resolv.conf\n      - /run/config/serf:/etc/serf\n      - /opt/local:/usr/local\n      - /var/lib/serf:/var/lib/serf\n    command: [/usr/local/bin/serf, agent, -config-dir=/etc/serf, -tags-file=/var/lib/serf/tags.json]\n    runtime:\n      mkdir:\n        - /run/config/serf\n        - /var/lib/serf\n```\n\nTo verify that the LinuxKit build is working, invoke via `linuxkit run` and then after the OS comes up in the getty console:\n\n```shell\nnsenter -a -t 1 /opt/local/bin/serf members\n```\n\nE.g. (in the `linuxkit run` console):\n\n```\n(ns: getty) linuxkit-025000000006:~# nsenter -a -t 1 /opt/local/bin/serf members\nlinuxkit-025000000006  127.0.0.1:7946  alive\n(ns: getty) linuxkit-025000000006:~#\n(ns: getty) linuxkit-025000000006:~# poweroff\nThe system is going down NOW!0006:~# ^[[20;38R\nSent SIGTERM to all processes\nSent SIGKILL to all processes\nRequesting system poweroff\n[   17.369562] ACPI: Preparing to enter system sleep state S5\n[   17.371389] reboot: Power down\n```\n\n---\n\n[serf-192]: https://github.com/hashicorp/serf/raw/3d6a974239f0b515c87479d5beefe575ad866805/website/source/assets/images/favicons/android-chrome-192x192.png \"Hashicorp Serf\"\n[serf-bin]: https://www.serf.io/downloads.html \"Serf Downloads\"\n[serf-src]: https://github.com/hashicorp/serf \"Serf on Github\"\n[serf-by-dweomer]: https://hub.docker.com/r/dweomer/serf\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foverneath%2Fserf","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foverneath%2Fserf","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foverneath%2Fserf/lists"}