aesy / eserver-deployment

Personal home server deployment scripts

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

eServer Deployment Scripts

Build Status

This repository contains deployment scripts for my multi-purpose home server called eServer.

Prerequisites

Usage

First, make sure your SSH config grants you access to the hosts in inventories/hosts.yml.

Then install all dependencies and activate the virtual environment:

$ pipenv install 
$ pipenv shell

Health check

Make sure your connections are okay:

$ ansible -m ping all

Provisioning

Start provisioning:

$ ansible-playbook playbooks/eserver.yml --diff

Add --check or -C to the above command to do a dry-run.

Secrets

Secrets are managed by ansible-vault. Create a .vault_password file in the root containing the vault password if one doesn't already exist, then edit secrets using the following command:

$ ansible-vault edit inventories/<...>/secrets.yml

Testing

Linting

$ ansible-lint playbooks
$ vagrant validate

Test run in a virtual machine

$ vagrant up --provision
$ vagrant ssh # verify
$ vagrant destroy

About

Personal home server deployment scripts


Languages

Language:Jinja 78.4%Language:Shell 12.8%Language:Dockerfile 8.7%