Changeset - d27738cd7b8c
[Not reviewed]
0 1 0
x - 17 months ago 2023-12-14 22:47:50
xbr@c3l.lu
docs: explain how to set up the web server
1 file changed with 20 insertions and 0 deletions:
0 comments (0 inline, 0 general)
README.md
Show inline comments
 
# fflux Ansible Configuration
 

	
 
This repo contains Ansible configs for the Freifunk Lëtzebuerg infra.
 

	
 
## Files
 

	
 
- `hosts`: contains all of the machines.
 
  - Careful: a wrongly defined machine can lead to major problems.
 
- `authorized_keys`: `fflux` user pubkey
 

	
 
## Directories
 

	
 
- `files`: templates for various playbooks
 
- `initial_server_setup`: initial server setup
 
- `gateway`: Set up a fflux gateway
 
- `api`: api.freifunk.lu
 
- `firmware`: firmware.freifunk.lu
 

	
 
## Guide
 

	
 
### Initial Server Setup
 

	
 
First, add the machine to `hosts` at the top of the file:
 

	
 
```yml
 
machine-name-here ansible_host=10.20.30.40
 
```
 

	
 
Note that `machine-name-here` will be the machine's hostname.
 

	
 
Then, put the machine under the `[initial]` group:
 

	
 
```yml
 
[initial]
 
machine-name-here ansible_user=root
 
```
 

	
 
Finally, change the default private SSH key under `[all:vars]` if necessary:
 

	
 
```yml
 
ansible_ssh_private_key_file=/home/myuser/.ssh/id_ed25519
 
```
 

	
 
You can now run the playbook:
 

	
 
```bash
 
fflux@fflux:~/repos/Ansible-Configuration$ ansible-playbook -i hosts initial_server_setup/initial_setup.yml
 
```
 

	
 
Note that the placement of the repositories might impact the playbook's behaviour, particularly for more advanced setups, incl. web server.
 

	
 
### Install Website (freifunk, www, api)
 

	
 
First, make sure the machine is still configured properly at the top of the `hosts` file. (see initial server setup)
 

	
 
Then, put the machine under the `[website-web]` group:
 

	
 
```yml
 
perso-test
 
```
 

	
 
Note that if you are not running this on the fflux management server as the `fflux` user, you might want to check the remote `authorized_keys` (that one of your keys is allowed) and append `ansible_user=fflux` to that line, similarly to the initial server setup.
 

	
 
**IMPORTANT NOTE**: do not forget to set the DNS records properly, so that the machine is reachable via the domain names. (at the time of writing `freifunk.lu`, `www.freifunk.lu` and `api.freifunk.lu`, but you can simply check the playblook)
 

	
 
Finally, run the playbook:
 

	
 
```bash
 
fflux@fflux:~/repos/Ansible-Configuration$ ansible-playbook -v -i hosts web/install_website.yml
 
```
0 comments (0 inline, 0 general)