{"id":20543438,"url":"https://github.com/morgankryze/raspberrypi-setup-wizard","last_synced_at":"2026-01-20T04:32:21.048Z","repository":{"id":253547141,"uuid":"843026469","full_name":"MorganKryze/RaspberryPi-Setup-Wizard","owner":"MorganKryze","description":"All-in-one script to setup a Raspberry Pi as a server/homelab.","archived":false,"fork":false,"pushed_at":"2024-09-27T19:33:31.000Z","size":469,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-25T18:31:56.531Z","etag":null,"topics":["docker","homelab","portainer","rpi","server","setup","shell","ufw"],"latest_commit_sha":null,"homepage":"","language":"Shell","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/MorganKryze.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":".github/SECURITY","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":"2024-08-15T16:11:20.000Z","updated_at":"2025-09-19T12:56:28.000Z","dependencies_parsed_at":"2024-09-05T13:50:41.430Z","dependency_job_id":"85b9c201-ffcd-4904-a804-dbd6e579433c","html_url":"https://github.com/MorganKryze/RaspberryPi-Setup-Wizard","commit_stats":null,"previous_names":["morgankryze/raspberrypi-setup-wizard"],"tags_count":0,"template":false,"template_full_name":"MorganKryze/Repository-Template","purl":"pkg:github/MorganKryze/RaspberryPi-Setup-Wizard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FRaspberryPi-Setup-Wizard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FRaspberryPi-Setup-Wizard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FRaspberryPi-Setup-Wizard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FRaspberryPi-Setup-Wizard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MorganKryze","download_url":"https://codeload.github.com/MorganKryze/RaspberryPi-Setup-Wizard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MorganKryze%2FRaspberryPi-Setup-Wizard/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28596079,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T02:08:49.799Z","status":"ssl_error","status_checked_at":"2026-01-20T02:08:44.148Z","response_time":117,"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":["docker","homelab","portainer","rpi","server","setup","shell","ufw"],"created_at":"2024-11-16T01:37:51.937Z","updated_at":"2026-01-20T04:32:21.028Z","avatar_url":"https://github.com/MorganKryze.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Raspberry Pi Setup Wizard\n\n\u003e All-in-one script to setup a Raspberry Pi as a server/homelab.\n\n![screenshot](./assets/img/screenshot.jpg)\n\n## Getting Started\n\n### Introduction\n\nRaspberry Pi Setup Wizard is an all-in-one script to setup a Raspberry Pi as a server/homelab. It is designed to be run on a fresh install of Raspberry Pi OS Lite/Desktop. Pay attention to the prerequisites and the install section before running the script.\n\n### Prerequisites\n\n- Hardware:\n  - Raspberry Pi 3/4/Zero\n  - MicroSD card (8GB or more)\n  - Power supply\n  - Ethernet cable or Wi-Fi connectivity\n- Software:\n  - Raspberry Pi OS Lite/Desktop flashed from [Raspberry Pi Imager](https://www.raspberrypi.org/software/) (username \u0026 hostname has to be defined)\n  - SSH enabled\n  - Internet connection\n- Host machine:\n  - macOS (ideal) with [Homebrew](https://brew.sh/) and [Git](https://git-scm.com/) installed\n  - Linux (not tested, **may** require changes)\n  - Windows (not tested, **will** require changes)\n\n### Install\n\n\u003e [!NOTE]\n\u003e The installation process is intended for macOS users. Linux and Windows users are welcome to contribute to the project by providing the necessary changes.\n\nFirst we need to install the required dependency:\n\n```bash\nbrew install jq\n```\n\nThen, we will clone the project to a local permanent directory:\n\n```bash\ncd ~ # Optional\n```\n\n```bash\ngit clone https://github.com/MorganKryze/RaspberryPi-Setup-Wizard.git\ncd RaspberryPi-Setup-Wizard\n```\n\n\u003e [!CAUTION]\n\u003e The location should be permanent as the script will be run from this directory. Its value will be stored in the ~/.zshrc file (you may change it to ~/.bashrc if you are using bash).\n\nFinally, we will run the script and follow the instructions:\n\n```bash\nsource src/rpi-wizard.sh ; rpi init\n```\n\nOnce finished, restart your terminal and run the following command to confirm the installation:\n\n```bash\nrpi\n```\n\nIf it displays the welcome message, the installation was successful.\n\n### Usage\n\n#### Format\n\nThe commands are decomposed as:\n\n```bash\nrpi \u003ccommand\u003e \u003coptions\u003e\n```\n\n#### Help\n\nThe help command will display the available commands and their usage:\n\n```bash\nrpi help\n```\n\nOr\n\n```bash\nrpi help \u003ccommand\u003e\n```\n\n#### Commands\n\n- `help`: Display the help message.\n- `init`: Initialize the script.\n- `update`: Update the script.\n- `link`: Store the Raspberry Pi username and hostname.\n- `unlink`: Remove the stored Raspberry Pi username and hostname.\n- `connect`: Connect to the Raspberry Pi.\n- `ssh`: Add the SSH key to the Raspberry Pi.\n- `env`: Set up the Raspberry Pi environment.\n- `docker`: Install Docker on the Raspberry Pi.\n- `git`: Set up Git on the Raspberry Pi to push/pull repositories.\n- `firewall`: Set up the firewall on the Raspberry Pi.\n- `usb`: Set up the USB drive on the Raspberry Pi to automatically mount it at boot.\n\n### Project structure\n\n```plaintext\nRaspberryPi-Setup-Wizard\n├── .github\n├── src\n│   └── rpi-wizard.sh\n├── conf\n│   ├── 20auto-upgrades\n│   └── 50unattended-upgrades\n├── assets\n│   └── img\n│       └── screenshot.jpg\n├── .gitignore\n├── LICENCE\n└── README.md\n```\n\n#### Small descriptive\n\n##### `src/`\n\nThis directory contains the executable script of the project.\n\n##### `config/`\n\nThis directory contains the configuration files for the unattended-upgrades config.\n\n## Supported platforms\n\n- macOS (ideal)\n- Linux (not tested, **may** require changes)\n- Windows (not tested, **will** require changes)\n\n## Future improvements\n\n- Linux \u0026 Windows compatibility.\n- More customization options \u0026 features (*feel free to suggest some*).\n\n## Contributing\n\nIf you want to contribute to the project, you can follow the steps described in the [CONTRIBUTING](CONTRIBUTING) file.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE.md](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorgankryze%2Fraspberrypi-setup-wizard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmorgankryze%2Fraspberrypi-setup-wizard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmorgankryze%2Fraspberrypi-setup-wizard/lists"}