{"id":13549272,"url":"https://github.com/olivomarco/my-ansible-linux-setup","last_synced_at":"2026-01-25T00:36:19.385Z","repository":{"id":37629726,"uuid":"288676115","full_name":"olivomarco/my-ansible-linux-setup","owner":"olivomarco","description":"Simple, perfect setup of a Linux machine via Ansible","archived":false,"fork":false,"pushed_at":"2021-01-03T16:34:16.000Z","size":24,"stargazers_count":91,"open_issues_count":0,"forks_count":13,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-02T22:34:26.520Z","etag":null,"topics":["ansible-playbook","docker","hardened","linux-server","linux-setup","perfect-server"],"latest_commit_sha":null,"homepage":"","language":"HTML","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/olivomarco.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-08-19T08:26:48.000Z","updated_at":"2025-02-28T14:11:50.000Z","dependencies_parsed_at":"2022-08-18T03:05:22.776Z","dependency_job_id":null,"html_url":"https://github.com/olivomarco/my-ansible-linux-setup","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/olivomarco/my-ansible-linux-setup","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olivomarco%2Fmy-ansible-linux-setup","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olivomarco%2Fmy-ansible-linux-setup/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olivomarco%2Fmy-ansible-linux-setup/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olivomarco%2Fmy-ansible-linux-setup/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olivomarco","download_url":"https://codeload.github.com/olivomarco/my-ansible-linux-setup/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olivomarco%2Fmy-ansible-linux-setup/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28740013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-24T22:12:27.248Z","status":"ssl_error","status_checked_at":"2026-01-24T22:12:10.529Z","response_time":89,"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":["ansible-playbook","docker","hardened","linux-server","linux-setup","perfect-server"],"created_at":"2024-08-01T12:01:20.117Z","updated_at":"2026-01-25T00:36:19.370Z","avatar_url":"https://github.com/olivomarco.png","language":"HTML","funding_links":[],"categories":["HTML","Playbooks, Roles and Collections"],"sub_categories":["French","German"],"readme":"# Perfect Linux machine setup with Ansible\n\nIn 2020, having a Linux IaaS machine configured and setup should be easy and fast: after all, it's the basic task anybody has to do in order to start working on more-meaningful and productive activities.\n\nHowever, this is not always the case: you work in different environments (different cloud providers, on-premises environments, lab environments) where you have different base images and different tools, and creating the very same machine is still quite a daunting - or at least *time-consuming* - task.\n\nThis project aims to solve that, by providing a **boilerplate yet complete** and **easy-to-use** and **easy-to-customize** way to spin up your own Linux machine.\n\n## Usage\n\nYou will need [Ansible](https://ansible.com) on your workstation in order to run this project, and you will need to first install a base Linux image on your target system. The target system can be a Debian-based system or an Ubuntu-based system, since the [apt](https://it.wikipedia.org/wiki/Advanced_Packaging_Tool) package is used.\n\nYou can start the fun with the [install.sh](/install.sh) script which takes in input the hostname to configure.\n\nIn the output, you will receive the passwords for the default user and the `root` user.\nThe script will add your local SSH keys as trusted keys for remote login, and will harden the Linux installation quite a bit.\nIn the end, you will also have several utilities installed and a Docker daemon.\n\nThe playbook also uses the [olivomarco/dotfiles](https://github.com/olivomarco/dotfiles) repo in order to setup a custom and productive shell for the users of the system.\n\n## Parameters\n\nPlease note that some of the parameters provided by this template repo **MUST BE CHANGED** before running the script.\n\nCustomization starts by modifying files in [this folder](/group_vars/). In particular, consider that:\n\n- in [all.yml](/group_vars/all.yml) you must modify the `default_username` variable\n- in [all.yml](/group_vars/all.yml) you must modify the `dot_forward_email` variable\n- the [vault.yml](/group_vars/vault.yml) is an [ansible-vault](https://docs.ansible.com/ansible/latest/user_guide/vault.html) encrypted file (default password: `secretpassword`) which you must customize with your SMTP parameters\n\n## Final notes\n\nYou can, of course, customize everything and add your own tools and configurations: **if you think you have found something useful which can be beneficial to any user using this package, please open a feature request and I will gladly evaluate it**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folivomarco%2Fmy-ansible-linux-setup","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folivomarco%2Fmy-ansible-linux-setup","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folivomarco%2Fmy-ansible-linux-setup/lists"}