{"id":23980833,"url":"https://github.com/fourkitchens/server-playbooks","last_synced_at":"2026-03-06T06:31:11.715Z","repository":{"id":3735843,"uuid":"4809722","full_name":"fourkitchens/server-playbooks","owner":"fourkitchens","description":"Ansible playbooks for use in setting up servers.","archived":false,"fork":false,"pushed_at":"2014-02-10T16:00:20.000Z","size":228,"stargazers_count":118,"open_issues_count":1,"forks_count":32,"subscribers_count":57,"default_branch":"master","last_synced_at":"2025-06-09T17:42:38.814Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/fourkitchens.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}},"created_at":"2012-06-27T15:02:00.000Z","updated_at":"2025-04-13T13:18:06.000Z","dependencies_parsed_at":"2022-08-17T23:00:14.534Z","dependency_job_id":null,"html_url":"https://github.com/fourkitchens/server-playbooks","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/fourkitchens/server-playbooks","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fserver-playbooks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fserver-playbooks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fserver-playbooks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fserver-playbooks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fourkitchens","download_url":"https://codeload.github.com/fourkitchens/server-playbooks/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fourkitchens%2Fserver-playbooks/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30164590,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-06T04:43:31.446Z","status":"ssl_error","status_checked_at":"2026-03-06T04:40:30.133Z","response_time":250,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5: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":"2025-01-07T10:18:54.470Z","updated_at":"2026-03-06T06:31:11.636Z","avatar_url":"https://github.com/fourkitchens.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"Server Playbooks\n========================\n\nA collection of Ansible playbooks for use in setting up various servers.\nPlaybooks are a series of configuration steps and specifications for how the\nserver should be configured.\n\nExecuting the playbooks\n---------------------------\n\n### Setup Ansible\n\nPlaybooks require [Ansible][1] to execute them. It's really easy to setup, and\nyou can choose between running it on the same machine you're configuring, or a\nremote machine. For a remote machine, all Ansible needs is the ability to establish\nan SSH connection to it.\n\nGenerally, if you're looking for a quick time-saver for a one-time build of a\nserver, then you should set up Ansible and execute the playbook on the target\nserver. If you're a more serious server administrator who wants to maintain\nclusters of machines, you should setup Ansible on a separate controller machine\nor your personal machine.\n\nYou may refer to the setup guide on the Ansible homepage, however here are the\nsteps for setting it up on Ubuntu and immediately configuring it to use\nlocalhost as the target server, the simplest configuration option:\n\n    sudo aptitude -y install git python-jinja2 python-yaml python-paramiko python-software-properties\n    add-apt-repository ppa:rquillo/ansible\n    aptitude update\n    aptitude install ansible\n    echo \"localhost\" \u003e /etc/ansible/hosts\n\nYou can now test by typing:\n\n    ansible -c local -m ping all\n\nYou should see:\n\n    localhost | success \u003e\u003e {\n      \"module\": \"ping\",\n      \"ping\": \"pong\n    }\n\n### Run the play\n\nThe plays are organized into directories, so for example, __ubuntu-12.04-lamp-dev__\ncontains all the settings and configuration for the Ubuntu 12.04 LAMP Dev server\nbuild.\n\nYou must copy the __vars/default-settings.yml__ file to the base folder of the\nplay, and then edit it with your specific requirements. It's really easy to\nunderstand and contains all the configuration that will be customized from the\ndefault Ubuntu package setting.\n\n    cd ubuntu-12.04-lamp-dev\n    cp ./vars/settings-default.yml ./settings.yml\n\nYou have some options when executing a play. For example, you may want a LAMP\nserver but not drush or an ftp server. The parts of the play that setup these\noptional packages are tagged as such.\n\nBy executing the following, it will setup only the commonly used components:\n\n    ansible-playbook -c local --tags=\"common\" ./setup.yml\n\nYou can add drush and ftp by doing:\n\n    ansible-playbook -c local --tags=\"common,drush,ftp\" ./setup.yml\n\nConventions used in playbooks\n---------------------------\n\n- The setup.yml file contains the main sequence of actions and tasks.\n- When a configuration file is introduced by the playbook, i.e. isn't\n  a pre-existing one, it's found in the __files__ subdirectory and is transferred\n  using the 'copy' action.\n- Files that already exist on the server, that we are modifying, are found\n  in __templates__ and have Jinja2-style variable substitution. They are\n  transferred using Ansible's 'template' action.\n- Every value in a configuration file that is modified from the default will\n  contain a variable substitution, so you know that looking in the\n  __vars/settings-default.yml__ file will give you a complete overview of all the\n  configuration that is modified from the server package default.\n\n[1]: http://ansible.github.com/ \"Ansible\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffourkitchens%2Fserver-playbooks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffourkitchens%2Fserver-playbooks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffourkitchens%2Fserver-playbooks/lists"}