{"id":37758510,"url":"https://github.com/fedejaure/raspberry-pi","last_synced_at":"2026-01-18T00:45:45.740Z","repository":{"id":37032562,"uuid":"291522888","full_name":"fedejaure/raspberry-pi","owner":"fedejaure","description":"Raspberry Pi setup and configuration via Ansible.","archived":false,"fork":false,"pushed_at":"2025-12-18T19:26:27.000Z","size":3377,"stargazers_count":3,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-21T18:20:15.600Z","etag":null,"topics":["ansible","mdns","netdata","pihole","playbook","raspberry-pi","setup","zeroconf"],"latest_commit_sha":null,"homepage":"","language":"Jinja","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/fedejaure.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"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":"2020-08-30T17:54:44.000Z","updated_at":"2022-10-15T17:08:15.000Z","dependencies_parsed_at":"2023-10-16T11:25:04.912Z","dependency_job_id":"4059e2f6-f47e-4252-882f-dabc7363f113","html_url":"https://github.com/fedejaure/raspberry-pi","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/fedejaure/raspberry-pi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedejaure%2Fraspberry-pi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedejaure%2Fraspberry-pi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedejaure%2Fraspberry-pi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedejaure%2Fraspberry-pi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fedejaure","download_url":"https://codeload.github.com/fedejaure/raspberry-pi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fedejaure%2Fraspberry-pi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28479396,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: 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":["ansible","mdns","netdata","pihole","playbook","raspberry-pi","setup","zeroconf"],"created_at":"2026-01-16T14:33:41.853Z","updated_at":"2026-01-16T14:33:42.651Z","avatar_url":"https://github.com/fedejaure.png","language":"Jinja","readme":"Raspberry Pi\n============\n\n\u003cdiv align=\"center\"\u003e\n\n[![GitHub release (latest SemVer)](https://img.shields.io/github/v/release/fedejaure/raspberry-pi?logo=github)](https://github.com/fedejaure/raspberry-pi/releases)\n[![tests](https://github.com/fedejaure/raspberry-pi/actions/workflows/tests.yml/badge.svg)](https://github.com/fedejaure/raspberry-pi/actions/workflows/tests.yml)\n[![License](https://img.shields.io/badge/license-MIT-brightgreen)](https://opensource.org/licenses/MIT)\n\n[![pre-commit](https://img.shields.io/badge/pre--commit-enabled-brightgreen?logo=pre-commit\u0026logoColor=white)](https://github.com/pre-commit/pre-commit)\n[![Contributor Covenant](https://img.shields.io/badge/Contributor%20Covenant-2.0-4baaaa.svg)](https://www.contributor-covenant.org/version/2/0/code_of_conduct/)\n\n\u003c/div\u003e\n\nSetup and configuration of my own Raspberry Pi fleet via Ansible Collection (use by your own risk).\n\n\nFleet Members ([Metal Gear Characters][metal-gear-characters])\n-------------\n\n* [Otacon][otacon]\n    \n    \u003e Pi-hole DNS sinkhole instance.\n    \n    - services:\n\n        + [jump][jump]: Simple startpage. [otacon.local](http://otacon.local)\n        \n        + [pihole][pihole]: The Pi-hole DNS sinkhole instance. Available at [pihole.otacon.local](http://pihole.otacon.local)\n        \n        + [whoami][whoami]: Tiny Go webserver that prints os information and HTTP request to output. Available at [whoami.otacon.local](http://whoami.otacon.local)\n\n        + [netdata][netdata]: Monitor everything in real time. Available at [netdata.otacon.local](http://netdata.otacon.local)\n\n    - variables:\n        \n        + `rpi_locale`: Raspberry Pi locale config. (Default: `en_US.UTF-8`)\n        \n        + `rpi_layout`: Raspberry Pi keyboard layout config. (Default: `us`)\n        \n        + `rpi_dist_upgrade`: If Raspberry Pi should do a dist-upgrade. (Default: `no`)\n        \n        + `rpi_tz`: Raspberry Pi Time Zone config. (Default: `'Europe/Amsterdam'`)\n\n        + `rpi_wifi_country`: Raspberry Pi Wifi Country config. (Default: `NL`)\n\n        + `rpi_pihole_password`: [pihole.otacon.local](http://pihole.otacon.local) `Admin password`. (Default: `random`)\n\n        + `rpi_swap_config`: Raspberry Pi swap config. (Default: `CONF_SWAPSIZE: 100`)\n\n        + `rpi_open_weather_map_key`: An API key for Open Weather Map, LATLONG (below) must also be defined.\n\n        + `rpi_latlong`: A latitude and longitude for the default location. (Default: `51.9812,5.6584`)\n\n* Ocelot ([Revolver Ocelot][ocelot])\n\n    \u003e OctoPrint an snappy web interface for my 3D printer.\n\n    - services:\n\n        + [jump][jump]: Simple startpage. [ocelot.local](http://ocelot.local)\n\n        + [octoprint][octoprint]: The snappy web interface for your 3D printer! [octoprint.ocelot.local](http://octoprint.ocelot.local)\n\n        + [whoami][whoami]: Tiny Go webserver that prints os information and HTTP request to output. Available at [whoami.ocelot.local](http://whoami.ocelot.local)\n\n        + [netdata][netdata]: Monitor everything in real time. Available at [netdata.ocelot.local](http://netdata.ocelot.local)\n\n    - variables:\n\n        + `rpi_locale`: Raspberry Pi locale config. (Default: `en_US.UTF-8`)\n\n        + `rpi_layout`: Raspberry Pi keyboard layout config. (Default: `us`)\n\n        + `rpi_dist_upgrade`: If Raspberry Pi should do a dist-upgrade. (Default: `no`)\n\n        + `rpi_tz`: Raspberry Pi Time Zone config. (Default: `'Europe/Amsterdam'`)\n\n        + `rpi_wifi_country`: Raspberry Pi Wifi Country config. (Default: `NL`)\n\n        + `rpi_swap_config`: Raspberry Pi swap config. (Default: `CONF_SWAPSIZE: 100`)\n\n        + `rpi_open_weather_map_key`: An API key for Open Weather Map, LATLONG (below) must also be defined.\n\n        + `rpi_latlong`: A latitude and longitude for the default location. (Default: `51.9812,5.6584`)\n\n* more coming ...\n\nQuickstart\n----------\n\n1. Clone this repository.\n\n2. Install dependencies:\n\n    ```shell\n    $ poetry install --no-root\n    Creating virtualenv raspberry-pi in .venv\n    Using virtualenv: .venv\n    Installing dependencies from lock file\n\n    Package operations: 95 installs, 0 updates, 0 removals\n\n    ...\n    ```\n\n3. Activate the virtual environment:\n\n    ```shell\n    $ poetry shell\n    Spawning shell within .venv\n    (raspberry-pi)$\n    ```\n\n4.  Install required Ansible roles:\n\n    ```shell\n    (raspberry-pi)$ ansible-galaxy install -r requirements.yml\n    ```\n\n    or\n\n    ```shell\n    (raspberry-pi)$ inv galaxy-install\n    ```\n\n5. Configure the `inventory` file, e.g.:\n\n    ```\n    [otacon]\n    127.0.0.1 ansible_python_interpreter=/usr/bin/python3 ansible_user=pi ansible_password=somepassword ansible_become_password=somepassword\n    ```\n\n6. Run the playbook:\n\n    ```shell\n    (raspberry-pi)$ ansible-playbook main.yml -i inventory\n    ```\n\n    or\n\n    ```shell\n    (raspberry-pi)$ inv playbook\n    ```\n\n7. Enjoy!\n\nRunning a specific set of tagged tasks\n--------------------------------------\n\nThe tags available are:\n\n* `always`\n* `docker`\n* `firewall`\n* `git`\n* `init`\n* `lcd`\n* `mdns-beacon`\n* `pip`\n* `security`\n* `services`\n* `ssh`\n* `supervisor`\n\nOverriding Defaults\n-------------------\n\nYou can override the defaults configured in `default.\u003cfleet-member\u003e.config.yml` by creating a `\u003cfleet-member\u003e.config.yml` file and setting the overrides in that file. e.g.:\n\n```yaml\nsecurity_ssh_password_authentication: \"yes\"\nsecurity_ssh_permit_root_login: \"yes\"\nsecurity_autoupdate_mail_to: example@example.com\n```\n\nAny variable can be overridden in `\u003cfleet-member\u003e.config.yml`; see the supporting roles documentation for a complete list of available variables.\n\nDevelopment\n-----------\n\nTo display available tasks run:\n\n```shell\n(raspberry-pi)$ inv --list\nAvailable tasks:\n\n  ansible-lint     Run ansible linter.\n  galaxy-install   Install ansible-galaxy requirements.\n  hooks            Run pre-commit hooks.\n  install-hooks    Install pre-commit hooks.\n  lint             Run all linting.\n  playbook         Runs Ansible playbooks, executing the defined tasks on the targeted hosts.\n  version          Bump version.\n  yamllint         Run yamllint, a linter for YAML files.\n```\n\nLicense\n-------\n\nMIT / BSD\n\nAuthor Information\n------------------\n\nThis playbook was created in 2020 by [Federico Jaureguialzo][fedejaure].\n\n[fedejaure]: https://github.com/fedejaure\n[metal-gear-characters]: https://en.wikipedia.org/wiki/List_of_Metal_Gear_characters\n[otacon]: https://en.wikipedia.org/wiki/Otacon\n[pihole]: https://pi-hole.net/\n[whoami]: https://github.com/traefik/whoami\n[netdata]: https://www.netdata.cloud/\n[ocelot]: https://en.wikipedia.org/wiki/Revolver_Ocelot\n[octoprint]: https://octoprint.org/\n[jump]: https://github.com/daledavies/jump\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedejaure%2Fraspberry-pi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffedejaure%2Fraspberry-pi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffedejaure%2Fraspberry-pi/lists"}