Ansible Setup » History » Revision 22
Revision 21 (Jon Goldberg, 05/11/2022 02:41 PM) → Revision 22/32 (Jon Goldberg, 05/11/2022 03:20 PM)
{{last_updated_at}} by {{last_updated_by}}
# Ansible Setup
Ansible setup is now done through Ansible itself plus a short bootstrap script. Please check earlier revisions of this page for manual setup.
### Prerequisites
* You have sudo installed and you have sudo permissions.
* You have a GPG key pair and SSH key pair on this computer.
* Your SSH public key for this computer must be added to your Gitea account. Ideally it's also on other servers.
* Your GPG public key must be added to the pass database, and it must be signed by Jon.
* Nextcloud should be installed.
NOTE: You can bootstrap without adding your server to crm.megaphonetech.com, but after bootstrap your server must be in the inventory.
### Bootstrap script
Run these commands:
```shell
useradd -m ansible #untested, pretty sure this is correct. Need ansible user before we can run localhost-bootstrap.
sudo apt install ansible git
git clone https://github.com/MegaphoneJon/ansible-main.git ansible
cd ansible
git submodule init
git submodule sync
git submodule update
# If this server has no desktop environment, you'll probably need to start ssh-agent manually. Otherwise skip the next 2 commands.
eval "$(ssh-agent)"
# This command will prompt you for your SSH passphrase.
ssh-add
# run the bootstrap. You'll be prompted for your 'BECOME password'; it's your user pw (for sudo).
ansible-playbook localhost-bootstrap.yml --ask-become-pass --extra-vars "ansible_user=ansible"
# Your computer must be in the "Server List" on crm.megaphonetech.com to do the next step.
ansible-playbook provision.yml --tags bootstrap
```