Project

General

Profile

Ansible Setup » History » Version 18

Jon Goldberg, 11/09/2020 07:37 PM

1 18 Jon Goldberg
{{last_updated_at}} by {{last_updated_by}}
2
3 1 Jon Goldberg
# Ansible Setup
4
5 13 Jon Goldberg
Ansible setup is now done through Ansible itself plus a short bootstrap script.  Please check earlier revisions of this page for manual setup.
6 1 Jon Goldberg
7 13 Jon Goldberg
### Prerequisites
8
* You have sudo installed and you have sudo permissions.
9
* You have a GPG key pair and SSH key pair on this computer.
10
* Your SSH public key for this computer must be added to your Gitea account.  Ideally it's also on other servers.
11
* Your GPG public key must be added to the pass database, and it must be signed by Jon.
12 14 Jon Goldberg
* Nextcloud should be installed.
13 13 Jon Goldberg
NOTE: You can bootstrap without adding your server to crm.megaphonetech.com, but after bootstrap your server must be in the inventory.
14 1 Jon Goldberg
15 13 Jon Goldberg
### Bootstrap script
16
Run these commands:
17 11 Jon Goldberg
18 13 Jon Goldberg
```shell
19
sudo apt install ansible git
20
git clone https://github.com/MegaphoneJon/ansible-main.git ansible
21
cd ansible
22
git submodule init
23
git submodule sync
24
git submodule update
25 15 Jon Goldberg
# Install some extra Ansible plugins
26 16 Jon Goldberg
ansible-galaxy collection install community.general
27 13 Jon Goldberg
# If this server has no desktop environment, you'll probably need to start ssh-agent manually. Otherwise skip the next 2 commands.
28
eval "$(ssh-agent)"
29
# This command will prompt you for your SSH passphrase.
30
ssh-add
31
# run the bootstrap. You'll be prompted for your 'BECOME password'; it's your user pw (for sudo).
32 1 Jon Goldberg
ansible-playbook localhost-bootstrap.yml --ask-become-pass
33 14 Jon Goldberg
# Your computer must be in the "Server List" on crm.megaphonetech.com to do the next step.
34
run provision.yml --tags bootstrap
35 13 Jon Goldberg
```