{"id":16096319,"url":"https://github.com/sio/homelab","last_synced_at":"2025-06-28T10:39:11.369Z","repository":{"id":47022839,"uuid":"289037536","full_name":"sio/homelab","owner":"sio","description":"Dotfiles, Ansible configuration | Mirror of GitLab repository: https://gitlab.com/sio/server_common","archived":false,"fork":false,"pushed_at":"2025-03-05T16:53:36.000Z","size":1765,"stargazers_count":8,"open_issues_count":1,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-05T17:43:11.577Z","etag":null,"topics":["ansible","debian","dotfiles","packer"],"latest_commit_sha":null,"homepage":"https://gitlab.com/sio/server_common","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sio.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":"2020-08-20T15:08:32.000Z","updated_at":"2025-03-05T16:53:39.000Z","dependencies_parsed_at":"2024-05-28T10:53:22.228Z","dependency_job_id":"a61a3141-5667-43e3-aee7-2bf95c6a2560","html_url":"https://github.com/sio/homelab","commit_stats":{"total_commits":2042,"total_committers":1,"mean_commits":2042.0,"dds":0.0,"last_synced_commit":"95c03cc1825f381f4e7c640349f6560721473f68"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sio%2Fhomelab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sio%2Fhomelab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sio%2Fhomelab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sio%2Fhomelab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sio","download_url":"https://codeload.github.com/sio/homelab/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243872429,"owners_count":20361479,"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":["ansible","debian","dotfiles","packer"],"created_at":"2024-10-09T17:13:18.239Z","updated_at":"2025-03-17T17:31:17.047Z","avatar_url":"https://github.com/sio.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Configuration as Code for Vitaly Potyarkin's infrastructure\n\nThis repository contains common configuration files (dotfiles) and\nconfiguration management code (ansible, packer) for my personal\ninfrastructure.\n\nAll changes are applied automatically via continuous delivery [pipelines]\n(GitLab SaaS). These pipelines are also executed on schedule to enforce\nconsistent state across all machines and to combat configuration drift.\n\nSince this is a personal project and all machines are more or less unique\n(pets), provisioning new instances is not automated. Typically it involves\ninstalling operating system on bare metal (preseed, autounattend) or in\nvirtual machine (packer, cloudinit) and adding new hosts to Ansible inventory to be\npicked up by the next CD invocation.\n\n[pipelines]: https://gitlab.com/sio/server_common/pipelines?ref=deploy\n\n\n## Directory structure\n\n### ansible/\n\nPlaybooks and roles for automating remote computer maintenance\n\n### cloudinit/\n\nCloud-init templates for frequently used virtual machines\n\n### dotfiles/\n\nConfiguration files for command line and graphic tools, easily installed with a\nbootstrap script.\n\nTypical initialization:\n\n  - For persistent machines use Ansible role:\n    [roles/interactive](ansible/roles/interactive/)\n  - For playground machines:\n    ```sh\n    apt update; apt -y install git vim make tmux bc ncurses-term  # git and some tools\n\n    git clone --recursive \"https://gitlab.com/sio/server_common.git\" ~/.common\n\n    make -C ~/.common/dotfiles cli\n    make -C ~/.common/dotfiles bash-no-tmout  # only relevant for playground machines\n\n    exec bash  # restart shell with new settings\n    ```\n\n### packer/\n\nVirtual machine templates\n\n### snippets/\n\nGit hooks samples and other reusable files\n\n### submodules/\n\nCode from other repos that is required by this one\n\n\n## License and copyright\n\nCopyright 2017-2022 Vitaly Potyarkin\n\n```\n   Licensed under the Apache License, Version 2.0 (the \"License\");\n   you may not use this file except in compliance with the License.\n   You may obtain a copy of the License at\n\n       http://www.apache.org/licenses/LICENSE-2.0\n\n   Unless required by applicable law or agreed to in writing, software\n   distributed under the License is distributed on an \"AS IS\" BASIS,\n   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n   See the License for the specific language governing permissions and\n   limitations under the License.\n```\n\n\n## Contributing\n\nThis project is intended for personal use, and I doubt it would attract any\ncontributors. If you have anything to add or suggest, please contact me.\nI can't guarantee I'll accept your proposal, but I promise to behave\nresponsibly and treat all contributors with respect.\n\nIf you want to discuss the technology I use, to ask a question or even just to\nchat - do not hesitate to open an [issue] in this repo. I always enjoy a\nfriendly conversation and there is never enough techy folks around me.\n\n[issue]: https://gitlab.com/sio/server_common/-/issues\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsio%2Fhomelab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsio%2Fhomelab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsio%2Fhomelab/lists"}