{"id":38343718,"url":"https://github.com/zfogg/beagleplay","last_synced_at":"2026-01-17T03:01:38.215Z","repository":{"id":331682269,"uuid":"1131818433","full_name":"zfogg/BeaglePlay","owner":"zfogg","description":null,"archived":false,"fork":false,"pushed_at":"2026-01-10T18:56:55.000Z","size":6,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-11T05:35:41.425Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"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/zfogg.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-10T18:51:05.000Z","updated_at":"2026-01-10T18:56:58.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zfogg/BeaglePlay","commit_stats":null,"previous_names":["zfogg/beagleplay"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/zfogg/BeaglePlay","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfogg%2FBeaglePlay","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfogg%2FBeaglePlay/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfogg%2FBeaglePlay/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfogg%2FBeaglePlay/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zfogg","download_url":"https://codeload.github.com/zfogg/BeaglePlay/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zfogg%2FBeaglePlay/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28492593,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T02:39:23.645Z","status":"ssl_error","status_checked_at":"2026-01-17T02:34:19.649Z","response_time":85,"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":[],"created_at":"2026-01-17T03:01:17.546Z","updated_at":"2026-01-17T03:01:38.156Z","avatar_url":"https://github.com/zfogg.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# BeaglePlay\n\n[@zfogg](https://github.com/zfogg)'s BeaglePlay setup - automated with Ansible.\n\n\n## Quick Start\n\n1. **Flash BeaglePlay** eMMC with the latest Debian flasher image from https://www.beagleboard.org/distros\n\n2. **Configure SSH** on your local machine (`~/.ssh/config`):\n   ```\n   Host bp\n       HostName 192.168.7.2  # USB connection initially\n       User debian\n       ForwardAgent yes\n       RequestTTY yes\n       RemoteForward 127.0.0.1:9999 /run/user/1000/gnupg/S.gpg-agent\n   ```\n\n3. **Connect to WiFi** (optional but recommended):\n   ```bash\n   ssh bp\n   sudo nmcli device wifi connect \"YOUR_SSID\" password \"YOUR_PASSWORD\"\n   ```\n\n   You can keep using USB (192.168.7.2) or find your WiFi IP with `ip addr show wlan0`.\n\n4. **Deploy with Ansible**:\n   ```bash\n   make deploy\n   ```\n\nThat's it. Your BeaglePlay is now configured with:\n- Docker and home automation stack (diyHue, Zigbee2MQTT, Mosquitto, Home Assistant)\n- GPG agent forwarding for remote git commit signing\n- Optimized storage on SD card\n- All necessary packages and tools\n\n**After Wi-Fi and Tailscale setup** (see post-installation message), update your SSH config to use the hostname:\n```\nHost bp\n    HostName beagleplay  # Now using Tailscale hostname\n    User debian\n    ForwardAgent yes\n    RequestTTY yes\n    RemoteForward 127.0.0.1:9999 /run/user/1000/gnupg/S.gpg-agent\n```\n\nSee [`ansible/README.md`](ansible/README.md) for detailed documentation.\n\n\n## What Gets Installed\n\n- **System packages**: zsh, git, neovim, tmux, fzf, ripgrep, and more\n- **Docker**: Latest Docker CE with docker compose plugin\n- **Home Automation**: Full stack with Philips Hue bridge emulation\n- **GPG Forwarding**: Sign git commits using your local GPG key\n- **Tailscale**: Secure network access (manual auth required)\n- **Storage optimization**: Large directories mounted on SD card\n- **terminfo**: For Kitty, so the shell works.\n\n\n## Storage\n\nThe operating system and its data is mostly installed and configured to the \n16gb eMMC, and we use the sdcard for substantial storage.\n\nIn this repo we have the proper setup for the 256gb sdxc card I bought, which \nwe previously used to flash Debian onto the eMMC. Wipe that and reconfigure \nit for device storage.\n\n`/home`, `/opt`, docker data (`/var/lib/docker`), and `/var/log` are all stored on the sdcard and mounted on boot.\n\nCheck `root/etc/fstab` to see details.\n\n\n## Services \u0026 Ports\n\nOnce deployed, access these services at `beagleplay:port` (when connected via Tailscale) or `beagleplay.local:port` (on local network):\n\n- **diyHue Bridge**: http://beagleplay:80 (or just http://beagleplay)\n  - Philips Hue bridge emulator - connect Hue bulbs or link to Hue app\n\n- **Zigbee2MQTT**: http://beagleplay:8080\n  - Web interface for managing Zigbee devices\n  - Pairs with CC1352 radio on BeaglePlay\n\n- **Home Assistant**: http://beagleplay:8123\n  - Home automation platform\n  - Integrates with diyHue and Zigbee2MQTT\n\n- **Mosquitto MQTT**: beagleplay:1883\n  - MQTT broker (internal - used by Zigbee2MQTT and Home Assistant)\n\n\n## @zfogg's .dotfiles\n\n```bash\n# Clone @zfogg's dotfiles repo\ngit clone https://github.com/zfogg/dotfiles.git ~/src/github.com/zfogg/dotfiles\n\n# Run the installer\ncd ~/src/github.com/zfogg/dotfiles\n./install.sh\n```\n\nThe installer will:\n- Create `~/.dotfiles` symlink pointing to the repo\n- Symlink all dotfiles (`.zshrc`, `.tmux.conf`, etc.) through `~/.dotfiles`\n- Symlink `.config/*` subdirectories individually\n- Back up any existing files with timestamps\n\n\n## Ready!\n\n`ssh bp` and play around! Reset your password. You're a sudoer. `docker ps` to \nsee the home automation stack and connect to it.\n\nConnect some hue light bulbs to the bridge or the bridge to the app. Play with \nHome Assistant.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzfogg%2Fbeagleplay","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzfogg%2Fbeagleplay","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzfogg%2Fbeagleplay/lists"}