{"id":23673683,"url":"https://github.com/dudecalledbro/automation-pi","last_synced_at":"2026-05-01T12:31:11.432Z","repository":{"id":269893063,"uuid":"908778890","full_name":"DudeCalledBro/automation-pi","owner":"DudeCalledBro","description":"Ansible playbooks to automate the installation of Semaphore UI with a reverse proxy setup.","archived":false,"fork":false,"pushed_at":"2025-02-24T22:11:30.000Z","size":17,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-25T05:38:10.173Z","etag":null,"topics":["ansible","automation","docker-compose","semaphoreui"],"latest_commit_sha":null,"homepage":"","language":"YAML","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/DudeCalledBro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"DudeCalledBro"}},"created_at":"2024-12-27T00:20:07.000Z","updated_at":"2025-02-25T02:54:50.000Z","dependencies_parsed_at":"2024-12-27T01:20:31.940Z","dependency_job_id":"3cffebdb-e0f8-4f08-9d88-128d5bb0aad4","html_url":"https://github.com/DudeCalledBro/automation-pi","commit_stats":null,"previous_names":["dudecalledbro/automation-pi"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DudeCalledBro/automation-pi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DudeCalledBro%2Fautomation-pi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DudeCalledBro%2Fautomation-pi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DudeCalledBro%2Fautomation-pi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DudeCalledBro%2Fautomation-pi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DudeCalledBro","download_url":"https://codeload.github.com/DudeCalledBro/automation-pi/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DudeCalledBro%2Fautomation-pi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32497809,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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","automation","docker-compose","semaphoreui"],"created_at":"2024-12-29T12:53:48.876Z","updated_at":"2026-05-01T12:31:10.712Z","avatar_url":"https://github.com/DudeCalledBro.png","language":"YAML","funding_links":["https://github.com/sponsors/DudeCalledBro"],"categories":[],"sub_categories":[],"readme":"# Automation Pi\n\n[![CI](https://github.com/DudeCalledBro/automation-pi/actions/workflows/ci.yml/badge.svg)](https://github.com/DudeCalledBro/automation-pi/actions/workflows/ci.yml)\n\nA Raspberry Pi Configuration for Automation Tools in My Homelab.\n\nThis repository is a treasure trove for homelab enthusiasts, packed with a carefully curated collection of Ansible playbooks and configuration files. It's designed to supercharge your homelab setup, making the installation, configuration, and management of popular automation tools a breeze.\n\n* [SemaphoreUI](https://github.com/semaphoreui/semaphore) is a modern UI for Ansible. It lets you easily run Ansible playbooks, get notifications about fails, control access to deployment system.\n\n* **TODO**: [Gitea](https://github.com/go-gitea/gitea) is a community managed painless self-hosted Git service.\n\n## Prerequisites\n\n- Ensure you have Ansible installed (e.g. `pip3 install ansible`)\n- Ensure Docker is installed (you may want to checkout my [ansible-docker-role](https://github.com/DudeCalledBro/ansible-role-docker))\n\n## Setup\n\nFollow these steps to kickstart your automated homelab journey:\n\n### Setting Up Your Inventory\n\n1. Navigate to the inventories directory:\n\n    ```bash\n    cd inventories\n    ```\n\n2. Create a copy of the example hosts file:\n\n    ```bash\n    cp example.hosts.yml hosts.yml\n    ```\n\n3. Edit the `hosts.yml` file to match your homelab setup:\n\n    ```bash\n    vim hosts.yml\n    ```\n\n    Customize the file according to your network layout. For example:\n\n    ```yaml\n    all:\n      hosts:\n        server1:\n          ansible_host: 192.168.1.10\n    ```\n\n### Configuring Variables\n\n1. Create and edit a new variables file:\n\n    ```bash\n    vim group_vars/all/main.yml\n    ```\n\n2. Add your configurations to this file. For example:\n\n    ```yaml\n    # Semaphore configuration\n    semaphore_docker_env:\n      SEMAPHORE_DB_DIALECT: bolt\n      SEMAPHORE_ADMIN: admin\n      SEMAPHORE_ADMIN_PASSWORD: changeme\n      SEMAPHORE_ADMIN_NAME: Admin\n      SEMAPHORE_ADMIN_EMAIL: admin@localhost\n    ```\n\n    \u003e For role-specific defaults, check the `roles/*/defaults/main.yml` files. You can override these in your `group_vars/all/main.yml` or create host-specific variables in `host_vars/`.\n\n### Deploying Your Automation Stack\n\nYou have flexibility in how you deploy your automation stack:\n\n1. To deploy the entire stack:\n\n    ```bash\n    ansible-playbook play-main.yml\n    ```\n\n2. To deploy a single role:\n\n    ```bash\n    ansible-playbook play-nginx.yml\n    ```\n\n3. For a dry run to see what would change:\n\n    ```bash\n    ansible-playbook play-main.yml --check\n    ```\n\n## Modular Deployment\n\nRemember, you don't need to deploy the entire stack at once. Many components can function independently. For instance:\n\n- Semaphore can operate without a reverse proxy or an external database.\n\nTailor your deployment to your specific needs and gradually build up your homelab infrastructure.\n\n## License\n\nCopyright © 2024 Niclas Spreng\n\nLicensed under the [MIT license](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdudecalledbro%2Fautomation-pi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdudecalledbro%2Fautomation-pi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdudecalledbro%2Fautomation-pi/lists"}