{"id":46492001,"url":"https://github.com/wielorzeczownik/docker-argonone","last_synced_at":"2026-04-23T21:02:33.212Z","repository":{"id":195489552,"uuid":"495048792","full_name":"wielorzeczownik/docker-argonone","owner":"wielorzeczownik","description":"Dockerized Argon ONE fan-control and power-button driver for non‑Raspberry Pi OS distributions","archived":false,"fork":false,"pushed_at":"2026-04-07T06:31:31.000Z","size":145,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-04-07T08:31:30.905Z","etag":null,"topics":["argon","argon-one","argon1","argonone","container","docker","docker-compose","docker-container","dockerfile","python","raspberry-pi","raspberry-pi-4","raspberry-pi-5","raspberrypi","rpi4","rpi5"],"latest_commit_sha":null,"homepage":"","language":"Python","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/wielorzeczownik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-05-22T12:06:54.000Z","updated_at":"2026-04-07T06:31:25.000Z","dependencies_parsed_at":"2026-02-03T00:02:18.645Z","dependency_job_id":null,"html_url":"https://github.com/wielorzeczownik/docker-argonone","commit_stats":null,"previous_names":["wielorzeczownik/docker-argonone"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/wielorzeczownik/docker-argonone","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wielorzeczownik%2Fdocker-argonone","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wielorzeczownik%2Fdocker-argonone/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wielorzeczownik%2Fdocker-argonone/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wielorzeczownik%2Fdocker-argonone/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wielorzeczownik","download_url":"https://codeload.github.com/wielorzeczownik/docker-argonone/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wielorzeczownik%2Fdocker-argonone/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32198232,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-23T20:19:26.138Z","status":"ssl_error","status_checked_at":"2026-04-23T20:19:23.520Z","response_time":53,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["argon","argon-one","argon1","argonone","container","docker","docker-compose","docker-container","dockerfile","python","raspberry-pi","raspberry-pi-4","raspberry-pi-5","raspberrypi","rpi4","rpi5"],"created_at":"2026-03-06T11:02:13.442Z","updated_at":"2026-04-23T21:02:33.204Z","avatar_url":"https://github.com/wielorzeczownik.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003edocker-argonone\u003c/h1\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/wielorzeczownik/docker-argonone/actions/workflows/release.yml\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/github/actions/workflow/status/wielorzeczownik/docker-argonone/release.yml?branch=master\u0026style=flat-square\u0026labelColor=2d333b\u0026color=3fb950\"/\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/github/actions/workflow/status/wielorzeczownik/docker-argonone/release.yml?branch=master\u0026style=flat-square\u0026color=2ea043\"/\u003e\u003cimg src=\"https://img.shields.io/github/actions/workflow/status/wielorzeczownik/docker-argonone/release.yml?branch=master\u0026style=flat-square\u0026labelColor=2d333b\u0026color=3fb950\" alt=\"release\"/\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://github.com/wielorzeczownik/docker-argonone/releases/latest\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/github/v/release/wielorzeczownik/docker-argonone?style=flat-square\u0026labelColor=2d333b\u0026color=3fb950\"/\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/github/v/release/wielorzeczownik/docker-argonone?style=flat-square\u0026color=2ea043\"/\u003e\u003cimg src=\"https://img.shields.io/github/v/release/wielorzeczownik/docker-argonone?style=flat-square\u0026labelColor=2d333b\u0026color=3fb950\" alt=\"Latest Release\"/\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://hub.docker.com/r/wielorzeczownik/argonone\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/docker/pulls/wielorzeczownik/argonone?style=flat-square\u0026labelColor=2d333b\u0026color=3fb950\"/\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/docker/pulls/wielorzeczownik/argonone?style=flat-square\u0026color=2ea043\"/\u003e\u003cimg src=\"https://img.shields.io/docker/pulls/wielorzeczownik/argonone?style=flat-square\u0026labelColor=2d333b\u0026color=3fb950\" alt=\"Docker Pulls\"/\u003e\u003c/picture\u003e\u003c/a\u003e \u003ca href=\"https://github.com/wielorzeczownik/docker-argonone/blob/master/LICENSE\"\u003e\u003cpicture\u003e\u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://img.shields.io/badge/License-MIT-3fb950?style=flat-square\u0026labelColor=2d333b\"/\u003e\u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://img.shields.io/badge/License-MIT-2ea043?style=flat-square\"/\u003e\u003cimg src=\"https://img.shields.io/badge/License-MIT-3fb950?style=flat-square\u0026labelColor=2d333b\" alt=\"License: MIT\"/\u003e\u003c/picture\u003e\u003c/a\u003e\n  \u003cbr/\u003e\n  \u003cimg src=\"https://img.shields.io/badge/-RaspberryPi-C51A4A?style=flat-square\u0026logo=Raspberry-Pi\" alt=\"Raspberry Pi\"/\u003e\n  \u003ca href=\"https://hub.docker.com/r/wielorzeczownik/argonone\"\u003e\u003cimg src=\"https://img.shields.io/badge/docker-2496ed.svg?style=flat-square\u0026logo=docker\u0026logoColor=white\" alt=\"Docker\"/\u003e\u003c/a\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://raw.githubusercontent.com/wielorzeczownik/docker-argonone/master/assets/logo.png\" alt=\"Dockerized Argon ONE logo\" width=\"520\" /\u003e\n\u003c/p\u003e\n\nDockerized Argon ONE fan-control and power-button driver for Raspberry Pi 4 and Raspberry Pi 5 — runs on any Linux distribution, no Raspberry Pi OS required.\n\n\u003e Based on the work of [johnmerchant](https://github.com/johnmerchant/docker-argonone) with two patches included:\n\u003e\n\u003e - `argononed.py` — daemon respects low PWM duty cycles (\u003c25%) without a forced 100% spin-up,\n\u003e - `argonone-fanconfig.sh` — fan config accepts 0–100% duty cycle (no 30% floor).\n\n## Run\n\nThe container runs systemd and requires `--privileged` to access hardware registers. Pass `/dev/i2c-1` so the daemon can reach the Argon ONE MCU over I2C.\n\n### Docker Compose\n\n```yaml\nservices:\n  argonone:\n    image: wielorzeczownik/argonone:latest\n    container_name: argonone\n    privileged: true\n    restart: unless-stopped\n    devices:\n      - /dev/i2c-1:/dev/i2c-1\n      - /dev/gpiochip0:/dev/gpiochip0\n    volumes:\n      - ./argononed.conf:/etc/argononed.conf:ro\n```\n\n```sh\ndocker compose up -d\n```\n\n### Docker Run\n\n```bash\ndocker run -d \\\n  --name argonone \\\n  --privileged \\\n  --restart unless-stopped \\\n  --device /dev/i2c-1:/dev/i2c-1 \\\n  --device /dev/gpiochip0:/dev/gpiochip0 \\\n  -v $(pwd)/argononed.conf:/etc/argononed.conf:ro \\\n  wielorzeczownik/argonone:latest\n```\n\n## Raspberry Pi 5\n\nRaspberry Pi 5 moves the user-facing GPIO lines to the RP1 I/O chip, exposed as `/dev/gpiochip4` instead of `/dev/gpiochip0` used on earlier models. Add one extra device entry — everything else stays the same.\n\nDocker Compose:\n\n```yaml\ndevices:\n  - /dev/i2c-1:/dev/i2c-1\n  - /dev/gpiochip4:/dev/gpiochip4\n```\n\nDocker Run:\n\n```bash\ndocker run -d \\\n  --name argonone \\\n  --privileged \\\n  --restart unless-stopped \\\n  --device /dev/i2c-1:/dev/i2c-1 \\\n  --device /dev/gpiochip4:/dev/gpiochip4 \\\n  -v $(pwd)/argononed.conf:/etc/argononed.conf:ro \\\n  wielorzeczownik/argonone:latest\n```\n\nThe same image works for both RPi 4 and RPi 5 — the Argon ONE installer auto-detects the board model from `/proc/cpuinfo`, which is passed through from the host in Docker.\n\n## Fan configuration\n\n`/etc/argononed.conf` maps temperature thresholds (°C) to fan speed percentages. Default template:\n\n```\n#\n# Argon ONE Fan Configuration\n#\n# List below the temperature (Celsius) and fan speed (in percent) pairs\n# Use the following form:\n# min.temperature=speed\n#\n# Example:\n# 55=10\n# 60=55\n# 65=100\n#\n# NOTE: Lines beginning with # are ignored\n#\n# Apply changes with:\n# sudo systemctl restart argononed.service\n#\n55=10\n60=55\n65=100\n```\n\nMount the file read-only (`:ro`) to avoid accidental edits inside the container. Values of `0` are honored (fan fully off) — no 30% floor is enforced.\n\n## Host requirements\n\nEnable I2C on the host before starting the container:\n\n- Add `dtparam=i2c_arm=on` to `/boot/firmware/config.txt` (RPi 5) or `/boot/config.txt` (RPi 4)\n- Load the kernel module: `modprobe i2c-dev`\n- Optionally persist it: add `i2c-dev` to `/etc/modules-load.d/i2c.conf`\n\nOn Raspberry Pi 5, GPIO access goes through `libgpiod` and `/dev/gpiochip4`.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwielorzeczownik%2Fdocker-argonone","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwielorzeczownik%2Fdocker-argonone","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwielorzeczownik%2Fdocker-argonone/lists"}