{"id":21767349,"url":"https://github.com/fabioassuncao/homelab-setup","last_synced_at":"2026-04-18T04:02:13.984Z","repository":{"id":214269615,"uuid":"736090099","full_name":"fabioassuncao/homelab-setup","owner":"fabioassuncao","description":"This script automates homelab server setup, including package updates, workspace config, user creation, tool installation (git, zip, unzip, curl, acl, docker), adding GitHub, GitLab, Bitbucket to trusted hosts, and configuring CapRover for user-friendly PaaS with SSL and reverse proxy.","archived":false,"fork":false,"pushed_at":"2023-12-27T03:49:35.000Z","size":16,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-19T05:22:50.030Z","etag":null,"topics":["caprover","docker","homelab","paas"],"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/fabioassuncao.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":"2023-12-27T00:52:51.000Z","updated_at":"2024-08-07T08:16:38.000Z","dependencies_parsed_at":null,"dependency_job_id":"56b7860c-b363-4012-83ec-7323c5f28185","html_url":"https://github.com/fabioassuncao/homelab-setup","commit_stats":null,"previous_names":["fabioassuncao/homelab-setup"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fabioassuncao/homelab-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioassuncao%2Fhomelab-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioassuncao%2Fhomelab-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioassuncao%2Fhomelab-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioassuncao%2Fhomelab-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabioassuncao","download_url":"https://codeload.github.com/fabioassuncao/homelab-setup/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioassuncao%2Fhomelab-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31955919,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-18T00:39:45.007Z","status":"online","status_checked_at":"2026-04-18T02:00:07.018Z","response_time":103,"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":["caprover","docker","homelab","paas"],"created_at":"2024-11-26T13:24:14.791Z","updated_at":"2026-04-18T04:02:13.958Z","avatar_url":"https://github.com/fabioassuncao.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# HomeLab Setup\n\nSimple script for performing initial setup on my homelab server. The tasks include package updates, workspace directory configuration, timezone setting, creation of a default user, installation of git, zip, unzip, curl, acl, docker, adding GitHub, GitLab, and Bitbucket to trusted hosts, and configuring [CapRover](https://caprover.com/) to transform the server into a user-friendly PaaS for hosting my services, complete with SSL configuration, reverse proxy, and other conveniences.\n\nTested on a VPS running Ubuntu Server 22.04 LTS with 4GB RAM, but can be used in similar distributions.\n\n## Installation\n\nTo do the setup, download and run the script `install.sh` or if you prefer (proceed at your own risk), execute the instruction below.\n\n## Usage\n~~~\ncurl -sSL https://fabioassuncao.com/gh/homelab-setup/install.sh | bash -s -- \\\n--help\n~~~\n\n## Command options\n\nYou can get help by passing the `-h` option.\n\n~~~\nScript for initial configurations of Docker, Docker Swarm and CapRover.\nUSAGE:\n    curl -sSL https://fabioassuncao.com/gh/homelab-setup/install.sh | bash -s -- [OPTIONS]\n\nOPTIONS:\n-h|--help                   Print help\n-t|--timezone               Standard system timezone\n--root-password             New root user password. The script forces the password update\n--default-user              Alternative user (with super powers) that will be used for deploys and remote access later\n--default-user-password\n--workdir                   Folder where all files of this setup will be stored\n--spaces                    Subfolders where applications will be allocated (eg. apps, backups)\n--root-ssh-passphrase       Provides a passphrase for the ssh key\n--ssh-passphrase            Provides a passphrase for the ssh key\n--ip-address                Main node IP address\n--local                     It determines whether it is a local installation or online, such as a VPS\n-f|--force                  Force install/re-install\n\nOPTIONS (Webhook):\n--webhook-url               Ping URL with provisioning updates\n~~~\n\n## Important\nIn order for you to be able to deploy applications using git and some deployment tools such as the [deployer](https://deployer.org/), you will need to add the public key (id_rsa.pub) of the user created on your VCS server (bitbucket, gitlab, github, etc.).\n\n## Tips\n\nTo not have to enter the password every time you need to access the remote server by SSH or have to do some deploy, type the command below. This will add your public key to the new user's ```authorized_keys``` file.\n\n```\nssh-copy-id \u003cUSERNAME\u003e@\u003cSERVER IP\u003e\n```\n\n\n## Contributing\n\n1. Fork this repository!\n2. Create your feature from the **develop** branch: git checkout -b feature/my-new-feature\n3. Write and comment your code\n4. Commit your changes: `git commit -am 'Add some feature'`\n5. Push the branch: `git push origin feature/my-new-feature`\n6. Make a pull request to the branch **develop**\n\n## Credits\n\n* [Fábio Assunção](https://github.com/fabioassuncao)\n* [All Contributors](../../contributors)\n\n\n## License\n\nLicensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabioassuncao%2Fhomelab-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabioassuncao%2Fhomelab-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabioassuncao%2Fhomelab-setup/lists"}