{"id":20974120,"url":"https://github.com/rcasto/pi-up","last_synced_at":"2026-05-08T19:32:06.460Z","repository":{"id":42239403,"uuid":"208982592","full_name":"rcasto/pi-up","owner":"rcasto","description":"Update a Raspberry Pi using a custom script on a desired schedule and be notified of results","archived":false,"fork":false,"pushed_at":"2023-05-06T19:24:21.000Z","size":39,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"master","last_synced_at":"2025-10-09T17:04:03.239Z","etag":null,"topics":["pi-hole","raspberry-pi","raspberrypi","scheduled-task"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/rcasto.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":"2019-09-17T07:03:00.000Z","updated_at":"2023-01-05T16:37:26.000Z","dependencies_parsed_at":"2024-11-19T04:41:49.027Z","dependency_job_id":null,"html_url":"https://github.com/rcasto/pi-up","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rcasto/pi-up","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcasto%2Fpi-up","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcasto%2Fpi-up/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcasto%2Fpi-up/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcasto%2Fpi-up/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rcasto","download_url":"https://codeload.github.com/rcasto/pi-up/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rcasto%2Fpi-up/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32794593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-08T08:22:46.396Z","status":"ssl_error","status_checked_at":"2026-05-08T08:22:45.650Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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":["pi-hole","raspberry-pi","raspberrypi","scheduled-task"],"created_at":"2024-11-19T04:26:41.866Z","updated_at":"2026-05-08T19:32:06.436Z","avatar_url":"https://github.com/rcasto.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pi-up\nThe goal of this project is to execute a custom update script on a Raspberry Pi according to a desired schedule and be notified of the results.\n\n## Background\nTruthfully, this project could be used to execute any custom script on a Raspberry Pi according to a desired schedule.\n\nThe primary focus with this project though, is to update a Raspberry Pi. Also, this project currently assumes the Raspberry Pi is running Pi-hole and will attempt to update that as well.\n\n## Usage\n\n### Prerequisites\n- Must have SSH access to Raspberry Pi\n- Must know the IP address of your Raspberry Pi\n- [Git](https://git-scm.com/downloads) must be installed: `apt-get install git` \n- [Node.js](https://nodejs.org/en/download/) must be installed on Raspberry Pi\n- Must have sendmail package installed: `apt-get install sendmail`\n\n### Configuration\nTo get started you will want to update the `config.json` file in this repo. Below is a sample configuration:\n```json\n{\n    \"scheduleCron\": \"0 0 18 * * *\",\n    \"runOnInit\": true,\n    \"scriptPath\": \"/home/pi/pi-up/custom-update.sh\",\n    \"email\": \"your-email@address.com\"\n}\n```\n\n- **scheduleCron** - crontab describing schedule of which to run update script. [6 fields supported, finest granularity being 1 second](https://www.npmjs.com/package/cron#available-cron-patterns).\n- **runOnInit** - Whether or not the update script should be ran on initialization of schedule or not. When false, first run will happen on next scheduled occurrence.\n- **scriptPath** - Path to custom script containing update routine. It's much safer to use the exact path, instead of a relative path to the script.\n- **email** - Optional field for email address, email is sent to this address with results of update routine. Simply leave empty to not send an email.\n- **name** - Optional field to identify your Raspberry Pi, this will be included in the subject of the email sent to you.\n\n### Starting scheduled update\n1. SSH into Raspberry Pi\n    ```\n    ssh pi@\u003cyour-pi-ip-address\u003e\n    ```\n2. Git clone this repo (on Raspberry Pi):\n    ```\n    git clone https://github.com/rcasto/pi-up\n    ```\n3. Change directory into repository folder:\n    ```\n    cd pi-up\n    ```\n4. Install npm package dependencies:\n    ```\n    npm install\n    ```\n5. Adjust configuration and script to your liking\n6. Start update schedule:\n    ```\n    npm start\n    ```\n\n### Running on Raspberry Pi bootup\nEdit `/etc/rc.local`, adding:\n```\nnode /home/pi/pi-up/index.js \u0026\n```\n\n**Note:** You will want to have changed your `scriptPath` in the configuration to use an exact path.\n\n### Resources\n- [SSH Raspberry Pi](https://www.raspberrypi.org/documentation/remote-access/ssh/)\n- [Install Node.js and Npm on Raspberry Pi](https://github.com/nodesource/distributions/blob/master/README.md#debinstall)\n- [Helpful crontab scheduling editor](https://crontab.guru/)\n- [Run command on Raspberry Pi bootup](https://www.raspberrypi.org/documentation/linux/usage/rc-local.md)\n- [Pi-hole](https://pi-hole.net/)\n- [Big Blocklist Collection](https://firebog.net/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcasto%2Fpi-up","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frcasto%2Fpi-up","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frcasto%2Fpi-up/lists"}