README.md
This commit is contained in:
58
README.md
58
README.md
@@ -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.
|
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:
|
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.
|
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](#table-of-contents)
|
|
||||||
- [Services](#services)
|
- [Services](#services)
|
||||||
- [myInfra stack](#myinfra-stack)
|
- [myInfra stack](#myinfra-stack)
|
||||||
- [SSH](#ssh)
|
- [SSH](#ssh)
|
||||||
@@ -28,12 +28,11 @@ Using [code-server docker container](#code-server) for Development / Maintenance
|
|||||||
- [Wyoming](#wyoming)
|
- [Wyoming](#wyoming)
|
||||||
- [Zigbee2mqtt](#zigbee2mqtt)
|
- [Zigbee2mqtt](#zigbee2mqtt)
|
||||||
- [Docker devices](#docker-devices)
|
- [Docker devices](#docker-devices)
|
||||||
- [System](#system)
|
- [Proxmox - lxc container](#proxmox---lxc-container)
|
||||||
- [proxmox - lxc container](#proxmox---lxc-container)
|
|
||||||
- [Operation System](#operation-system)
|
- [Operation System](#operation-system)
|
||||||
- [Packages and Requirements](#packages-and-requirements)
|
- [Packages and Requirements](#packages-and-requirements)
|
||||||
- [Ansible](#ansible)
|
- [Ansible roles](#ansible-roles)
|
||||||
- [Roles](#roles)
|
- [myInfra.dev.homesrv01.core](#myinfradevhomesrv01core)
|
||||||
- [myInfra.dev.homesrv01](#myinfradevhomesrv01)
|
- [myInfra.dev.homesrv01](#myinfradevhomesrv01)
|
||||||
- [fstab](#fstab)
|
- [fstab](#fstab)
|
||||||
|
|
||||||
@@ -41,12 +40,11 @@ Using [code-server docker container](#code-server) for Development / Maintenance
|
|||||||
|
|
||||||
### myInfra stack
|
### 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
|
### SSH
|
||||||
|
|
||||||
Deployed and maintained by ansible role [myInfra.dev.homesrv1](#ansible).
|
Deployed and maintained by ansible role [myInfra.dev.homesrv1](#ansible-roles).
|
||||||
|
|
||||||
|
|
||||||
### nginx
|
### nginx
|
||||||
|
|
||||||
@@ -56,7 +54,7 @@ All configuration is set during docker build.
|
|||||||
|
|
||||||
### code-server
|
### 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.
|
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.
|
[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
|
### 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).
|
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))
|
(usb passthrough to [lxc container](#proxmox---lxc-container))
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
@@ -183,12 +181,10 @@ Links
|
|||||||
- [Home assistant integration](/marcio.fernandes/homeassistant#Zigbee2mqtt)
|
- [Home assistant integration](/marcio.fernandes/homeassistant#Zigbee2mqtt)
|
||||||
- [Continuos Deploy - git action](./.gitea/workflows/services.zigbee2mqtt.yml)
|
- [Continuos Deploy - git action](./.gitea/workflows/services.zigbee2mqtt.yml)
|
||||||
|
|
||||||
## System
|
## Proxmox - lxc container
|
||||||
|
|
||||||
Currently hosted on a proxmox ubuntu container.
|
Currently hosted on a proxmox ubuntu container.
|
||||||
|
|
||||||
### proxmox - lxc container
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# cat /etc/pve/lxc/105.conf
|
# cat /etc/pve/lxc/105.conf
|
||||||
arch: amd64
|
arch: amd64
|
||||||
@@ -245,7 +241,7 @@ ls -l /dev/ttyUSB0
|
|||||||
#lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
|
#lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
|
||||||
```
|
```
|
||||||
|
|
||||||
### Operation System
|
## Operation System
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# lsb_release -a
|
# lsb_release -a
|
||||||
@@ -258,27 +254,33 @@ Codename: noble
|
|||||||
6.8.4-3-pve
|
6.8.4-3-pve
|
||||||
```
|
```
|
||||||
|
|
||||||
### Packages and Requirements
|
## Packages and Requirements
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
|
|
||||||
docker run hello-world && docker info
|
|
||||||
apt install ansible
|
apt install ansible
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
### Ansible
|
## Ansible roles
|
||||||
|
|
||||||
#### Roles
|
### myInfra.dev.homesrv01.core
|
||||||
|
|
||||||
##### myInfra.dev.homesrv01
|
|
||||||
|
|
||||||
- ssh server
|
- ssh server
|
||||||
- admin user
|
- admin user
|
||||||
- daily auto update script
|
|
||||||
- git package
|
- git package
|
||||||
- curl 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
|
```bash
|
||||||
#execute local
|
#execute local
|
||||||
sudo ansible-playbook --connection=local --inventory 127.0.0.1, --limit 127.0.0.1 ansible/site.yml
|
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
|
journalctl -r -t auto-update
|
||||||
```
|
```
|
||||||
|
|
||||||
### fstab
|
## fstab
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# /etc/fstab
|
# /etc/fstab
|
||||||
|
|||||||
Reference in New Issue
Block a user