README.md

This commit is contained in:
2024-09-01 00:19:28 +01:00
parent 54fc671afb
commit b4ea989516

View File

@@ -4,7 +4,7 @@ Welcome to homesrv01.dev.lan git page.
This repository serves to document and maintain the server where the home assistant runs.
The idea was to create a server with docker where it would be possible to isolate all servers, services and communications related to home automation at the network level.
The idea was to create a server with docker where it would be possible to isolate all servers, services and communications related to home automation at network level.
The server itself is on its own vlan (Vlan: homesrv) but requires communication with the Vlans:
@@ -12,11 +12,11 @@ The server itself is on its own vlan (Vlan: homesrv) but requires communication
Using [code-server docker container](#code-server) for Development / Maintenance.
<!-- omit in toc -->
All host configuration are executed using [ansible](#ansible-roles).
<!-- omit in toc -->
## Table of Contents
- [Table of Contents](#table-of-contents)
- [Services](#services)
- [myInfra stack](#myinfra-stack)
- [SSH](#ssh)
@@ -28,25 +28,23 @@ Using [code-server docker container](#code-server) for Development / Maintenance
- [Wyoming](#wyoming)
- [Zigbee2mqtt](#zigbee2mqtt)
- [Docker devices](#docker-devices)
- [System](#system)
- [proxmox - lxc container](#proxmox---lxc-container)
- [Operation System](#operation-system)
- [Packages and Requirements](#packages-and-requirements)
- [Ansible](#ansible)
- [Roles](#roles)
- [myInfra.dev.homesrv01](#myinfradevhomesrv01)
- [fstab](#fstab)
- [Proxmox - lxc container](#proxmox---lxc-container)
- [Operation System](#operation-system)
- [Packages and Requirements](#packages-and-requirements)
- [Ansible roles](#ansible-roles)
- [myInfra.dev.homesrv01.core](#myinfradevhomesrv01core)
- [myInfra.dev.homesrv01](#myinfradevhomesrv01)
- [fstab](#fstab)
## Services
### myInfra stack
docker, Portainer, promtail and telegraf [maintained on repo](/marcio.fernandes&myInfra).
docker, Portainer, promtail and telegraf [maintained on myInfra repo](/marcio.fernandes&myInfra).
### SSH
Deployed and maintained by ansible role [myInfra.dev.homesrv1](#ansible).
Deployed and maintained by ansible role [myInfra.dev.homesrv1](#ansible-roles).
### nginx
@@ -56,7 +54,7 @@ All configuration is set during docker build.
### code-server
for more flexibility on bind mount stack is maintained directly on portainer (stack name: code-server).
for more flexibility on bind mount, stack is maintained directly on portainer (stack name: code-server).
docker-compose.yml example.
@@ -116,7 +114,7 @@ networks:
[Check git repo](/marcio.fernandes/lms) for more information how to setup Lyrion Music Server docker container. Or [git repo](/marcio.fernandes/homeassistant#squeezebox-lyrion-music-server) for more information about home assistant integration.
Requires [music docker volume](#volumes).
Requires [music docker volume](#myinfradevhomesrv01).
### Mosquitto
@@ -155,9 +153,9 @@ Zigbee to MQTT bridge, get rid of your proprietary Zigbee bridges
Currently using portainer stack (name: zigbee2mqtt) with git reference to this repo [docker compose](./services/zigbee2mqtt/docker-compose.yaml).
SONOFF Universal Zigbee 3.0 USB Dongle Plus attached on [proxmox host](#host).
SONOFF Universal Zigbee 3.0 USB Dongle Plus attached on [proxmox host](#proxmox---lxc-container).
Patch security on [proxmox host](#host).
Patch security on [proxmox host](#proxmox---lxc-container).
(usb passthrough to [lxc container](#proxmox---lxc-container))
```yaml
@@ -183,12 +181,10 @@ Links
- [Home assistant integration](/marcio.fernandes/homeassistant#Zigbee2mqtt)
- [Continuos Deploy - git action](./.gitea/workflows/services.zigbee2mqtt.yml)
## System
## Proxmox - lxc container
Currently hosted on a proxmox ubuntu container.
### proxmox - lxc container
```bash
# cat /etc/pve/lxc/105.conf
arch: amd64
@@ -245,7 +241,7 @@ ls -l /dev/ttyUSB0
#lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
```
### Operation System
## Operation System
```bash
# lsb_release -a
@@ -258,27 +254,33 @@ Codename: noble
6.8.4-3-pve
```
### Packages and Requirements
## Packages and Requirements
```bash
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
docker run hello-world && docker info
apt install ansible
```
### Ansible
## Ansible roles
#### Roles
##### myInfra.dev.homesrv01
### myInfra.dev.homesrv01.core
- ssh server
- admin user
- daily auto update script
- git package
- curl package
```bash
#execute local
sudo ansible-playbook --connection=local --inventory 127.0.0.1, --limit 127.0.0.1 ansible/core.yml
```
### myInfra.dev.homesrv01
[Requires myInfra stack](#myinfra-stack).
- daily auto update script
- music docker volume. [requires sshfs mount to media on nas](#fstab)
```bash
#execute local
sudo ansible-playbook --connection=local --inventory 127.0.0.1, --limit 127.0.0.1 ansible/site.yml
@@ -289,7 +291,7 @@ sudo ansible-playbook --connection=local --inventory 127.0.0.1, --limit 127.0.0.
journalctl -r -t auto-update
```
### fstab
## fstab
```bash
# /etc/fstab