https://github.com/aesy/eserver-deployment
Personal home server deployment scripts
https://github.com/aesy/eserver-deployment
ansible homelab vagrant
Last synced: 17 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 (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2026-02-18T20:46:18.000Z (3 months ago)
- Last Synced: 2026-02-19T01:06:48.319Z (3 months ago)
- Topics: ansible, homelab, vagrant
- Language: Jinja
- Homepage:
- Size: 183 KB
- Stars: 0
- Watchers: 1
- 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/actions
This repository contains deployment scripts for my multi-purpose home server called **eServer**.
## Prerequisites
* [Just](https://just.systems/)
* [UV](https://docs.astral.sh/uv/)
* [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
$ just install
```
### Health check
Make sure your connections are okay:
```shell
$ just ping
```
### Provisioning
Perform a dry-run:
```shell
$ just check
```
Actually start provisioning:
```shell
$ just apply
```
## 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
$ just edit inventories/<...>/secrets.yml
```
## Testing
### Linting
```shell
$ just lint
$ vagrant validate
```
### Test run in a virtual machine
```shell
$ vagrant up --provision
$ vagrant ssh # verify
$ vagrant destroy
```