{"id":19819948,"url":"https://github.com/rustygreen/raspberry-pi-server","last_synced_at":"2025-02-28T15:48:50.675Z","repository":{"id":72081614,"uuid":"438797477","full_name":"rustygreen/raspberry-pi-server","owner":"rustygreen","description":"Server that provides RESTful services to control a Raspberry Pi","archived":false,"fork":false,"pushed_at":"2023-09-12T13:56:24.000Z","size":52,"stargazers_count":11,"open_issues_count":10,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-11T08:28:38.989Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","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/rustygreen.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":"2021-12-15T23:02:32.000Z","updated_at":"2025-01-02T14:22:09.000Z","dependencies_parsed_at":"2024-08-19T10:05:45.974Z","dependency_job_id":null,"html_url":"https://github.com/rustygreen/raspberry-pi-server","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustygreen%2Fraspberry-pi-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustygreen%2Fraspberry-pi-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustygreen%2Fraspberry-pi-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rustygreen%2Fraspberry-pi-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rustygreen","download_url":"https://codeload.github.com/rustygreen/raspberry-pi-server/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241176617,"owners_count":19922732,"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":[],"created_at":"2024-11-12T10:20:49.777Z","updated_at":"2025-02-28T15:48:50.665Z","avatar_url":"https://github.com/rustygreen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🥧 Raspberry Pi Server\n\n\u003e Stop writing custom scripts and worrying about deploying and scheduling them to run on your Pi. Instead, interact with your Pi through RESTful services - using whatever technology you'd like.\n\n`raspberry-pi-server` is a server component designed to be ran on a Raspberry Pi which provides RESTful services to control the GPIO pins of the Raspberry Pi. This project was created in an effort to eliminate the need to create custom python scripts and constantly maintain, update, and schedule them on a Raspberry Pi. Rather, you can deploy one single service on the Pi (raspberry-pi-server), and never have to logon to the Pi again. Interaction to the Pi can be done through RESTful services using whatever client/technology you'd like. For example, check out the [raspberry-pi-client project](https://github.com/rustygreen/raspberry-pi-client)\n\n\u003e This project is a good option for those who do not want to regularly work with Python on their Raspberry Pi. Rather, you can run the server and then interact with it through REST services.\n\n## 🏁 Getting Started\n\nFollow the steps below to get the service running on your Pi.\n\n### Quick Start\n\nFrom your rasperry Pi:\n\n#### Docker\n\n```\ndocker run --privileged -d --restart=unless-stopped -p 80:5000 ghcr.io/rustygreen/raspberry-pi-server:main\n```\n\n#### Docker Compose\n\ndocker-compose.yml\n\n```yml\nversion: \"2\"\nservices:\n  # Raspberry pi server\n  pi-server:\n    image: ghcr.io/rustygreen/raspberry-pi-server:main\n    restart: unless-stopped\n    privileged: true\n    ports:\n      - 8081:5000\n```\n\n```bash\ndocker-compose up\n```\n\nIf you don't want to use Docker check out the [Run without Docker docs](./docs/run-without-docker.md)\n\n### Usage\n\nOnce the server is running you will have a number of services available to interact with your Pi GPIO pins. Below are a few examples:\n\n```bash\nGET http://YOUR_PI/pins # Retrieves a list of pins and their states\n```\n\n### Development\n\nSee [Development docs](./docs/development.md)\n\n## TODOs\n\n- [x] Create Docker image and compose file\n- [ ] Add unit tests\n- [ ] Add socket.io\n- [ ] Add swagger docs\n- [ ] Update docs to show Docker use\n- [ ] Add other Raspberry Pi commands (restart, etc.)\n- [ ] Finish documentation\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustygreen%2Fraspberry-pi-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frustygreen%2Fraspberry-pi-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frustygreen%2Fraspberry-pi-server/lists"}