This GitHub repository contains Ansible resources to deploy all of my services on a Debian system. The aim is to use my old laptop as a homelab server.
To use this Ansible playbook, you will need the Ansible roles, which can be downloaded from Ansible Galaxy. You can run the following command line.
ansible-galaxy install -r requirements.ymlWe recommend setting up an inventory and replacing the variables available in the files in group_vars/all. Below is an example of launching the Ansible playbook from the project root with certain tags selected.
ansible-playbook \
-i inventory.yml \
-e my_variables.yml \
-t gitea,searxng main.ymlBelow is an overview of the roles available in the Ansible playbook.
nickjj.docker: Setup and configure Docker + docker-compose.weareinteractive.ufw: Setup the network firewall and configure it.shell: Setup a shell environment with fish + tmux.base: Install basics needed packages for the other roles.profile: Setup some default configuration for new users.security: Setup system security tools/services like ssh, knockd, etc.services: Create the Docker resources (containers, volumes, network, etc..).