Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aesy/eserver-deployment
Personal home server deployment scripts
https://github.com/aesy/eserver-deployment
ansible vagrant
Last synced: 5 days ago
JSON representation
Personal home server deployment scripts
- Host: GitHub
- URL: https://github.com/aesy/eserver-deployment
- Owner: aesy
- Created: 2019-08-19T11:21:31.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2022-12-20T22:51:55.000Z (about 2 years ago)
- Last Synced: 2024-12-29T06:38:17.209Z (6 days ago)
- Topics: ansible, vagrant
- Language: Jinja
- Homepage:
- Size: 140 KB
- Stars: 0
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# eServer Deployment Scripts
[![Build Status][github-actions-image]][github-actions-url]
[github-actions-image]: https://img.shields.io/github/actions/workflow/status/aesy/eserver-deployment/ci.yml?branch=master&style=flat-square
[github-actions-url]: https://github.com/aesy/eserver-deployment/actionsThis repository contains deployment scripts for my multi-purpose home server called **eServer**.
## Prerequisites
* [Python 3](https://www.python.org/)
* [Pipenv](https://pipenv.pypa.io/en/latest/)
* [Vagrant 2](https://www.vagrantup.com/) (optional, for testing)
* [VirtualBox 6](https://www.virtualbox.org/) (optional, for testing)## 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:
```shell
$ pipenv install
$ pipenv shell
```### Health check
Make sure your connections are okay:
```shell
$ ansible -m ping all
```### Provisioning
Start provisioning:
```shell
$ 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:```shell
$ ansible-vault edit inventories/<...>/secrets.yml
```## Testing
### Linting
```shell
$ ansible-lint playbooks
$ vagrant validate
```### Test run in a virtual machine
```shell
$ vagrant up --provision
$ vagrant ssh # verify
$ vagrant destroy
```