[Mirror] Automatisiertes aufsetzen und verwalten des Freifunk Bodensee Netzes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
A. Binzxxxxxx 5ee6f283b9
Merge pull request #49 from mart-ffbsee/master
1 month ago
.github Create FUNDING.yml 10 months ago
ansible update packages and rempve meta server (offline) 6 months ago
files fix typo 1 month ago
group_vars have dhcp-relay on the gateways and dhcp-server somewhere else 4 months ago
host_vars loop through fastd_nodes0x in update.sh 1 month ago
roles fix icvpn bgp / dns scripts on debian 10 1 month ago
templates change naming scheme to start at fastd_nodes00.conf 1 month ago
.gitignore fastd backbone stuff for gw02 and gw04 10 months ago
.gitmodules Add submodule to check you installed ansible version 4 months ago
LICENCE update LICENSE information 10 months ago
NEWGATEWAY.md Fix cmake error 1 year ago
README.md improve sugestions how to handle submodules 4 months ago
ansible.cfg update ansible control file 1 year ago
build.ffbsee.yml Versionscheck in each playbook 4 months ago
gw01.ffbsee.yml Versionscheck in each playbook 4 months ago
gw02.ffbsee.yml Versionscheck in each playbook 4 months ago
gw03.ffbsee.yml Versionscheck in each playbook 4 months ago
gw04.ffbsee.yml Versionscheck in each playbook 4 months ago
map.ffbsee.yml Versionscheck in each playbook 4 months ago
site.yml Versionscheck in each playbook 4 months ago
update_admins.yml Versionscheck in each playbook 4 months ago


Freifunk Bodensee

Freifunk Ansible

Ansible is a radically simple IT automation engine that automates cloud provisioning, configuration management, application deployment, intra-service orchestration, and many other IT needs. Ansible works by connecting to your nodes and pushing out small programs, called “Ansible modules” to them. These programs are written to be resource models of the desired state of the system. Ansible then executes these modules (over SSH by default), and removes them when finished. Learn more

This git repository contains the Ansible code and data to configure and deploy the Freifunk Bodensee gateway server.

How to Clone the Projekt

# Clone the Git
git clone https://github.com/ffbsee/ansible.git ffbsee-ansible

# Clone the Submodules too
cd ffbsee-ansible
git submodule update --init --recursive

# always keep the submodules up to date:
git config --global submodule.recurse true

General Information:

We use ansible to deploy all gateways on the Freifunk Bodensee Network.
First we did this only sometimes at some of the time. And we always had the issue, tat there probably are non-commited changes on each gateway and running ansible would crash everything.

With this ansible playbook collection and the change to B.A.T.M.A.N. V we will improve this with a 100% coverage of ansible. Let’s see, if this will work.




There is an Ansible playbook for each Gateway that runs wit B.A.T.M.A.N. V. To deploy the latest changes or the whole setup on any gateway simply execute on your own machine:

ansible-playbook $GATEWAY.yml

from the top-level directory of this git repository.

For managing all gateways simply run the site.yml playbook!

# deploy on all ffbsee-managed ansible nodes
ansible-plybook site.yml

Freifunk Bodensee Network

Right now, there are some dedicated servers, the Freifunk-Gateways:

  • gw01.ffbsee.net - Gateway 01
    • Hetzner Server
    • Germany
    • Dual-Stack
    • AS 24940 <!--
  • gw02.ffbsee.net - Gateway 02
    • CCCZH Server
    • Swiss
    • fastd: Dual-Stack; web, ssh etc: IPv6
    • AS 13030
  • gw03.ffbsee.net - Gateway 03
    • MyLoc Server
    • Germany
    • Dual-Stack
    • AS 24961
  • gw04.ffbsee.net - Gateway 04
    • Lake Constance Area
    • Germany
    • IPv4 only
    • AS 21263 -->


Please visit ICVPN META


Add another gateway

To add an other gateway please read the Instructions and talk to us via #ffbsee or mailing list!


If you need a jump host to reach a gateway simply use this command:

ansible-playbook --ssh-common-args="-o ProxyCommand='ssh -W [%h]:%p ansible@gw03.ffbsee.net'" gw02.ffbsee.yml

Only run the roles with the “update” tag and not the full playbook:

ansible-playbook update_admins.yml --tags "update"