All checks were successful
Portainer stack wyoming / deploy (push) Successful in 3s
219 lines
5.3 KiB
Markdown
219 lines
5.3 KiB
Markdown
# homesrv01.dev.lan
|
|
|
|
Welcome to homesrv01.dev.lan git page.
|
|
|
|
- [homesrv01.dev.lan](#homesrv01devlan)
|
|
- [OS](#os)
|
|
- [Development / Maintenance Environment](#development--maintenance-environment)
|
|
- [setup](#setup)
|
|
- [fstab](#fstab)
|
|
- [ssh](#ssh)
|
|
- [Update](#update)
|
|
- [Services](#services)
|
|
- [External volumes](#external-volumes)
|
|
- [Portainer](#portainer)
|
|
- [Promtail](#promtail)
|
|
- [Telegraf](#telegraf)
|
|
- [Setup \& Update](#setup--update)
|
|
- [nginx](#nginx)
|
|
- [code-server](#code-server)
|
|
- [Home Assistant](#home-assistant)
|
|
- [LMS](#lms)
|
|
- [Mosquitto](#mosquitto)
|
|
- [Wyoming](#wyoming)
|
|
- [Zigbee2mqtt](#zigbee2mqtt)
|
|
|
|
## OS
|
|
|
|
Currently hosted on a proxmox ubuntu container.
|
|
|
|
``` bash
|
|
# cat /etc/pve/lxc/105.conf
|
|
arch: amd64
|
|
cmode: shell
|
|
cores: 2
|
|
features: fuse=1,keyctl=1,nesting=1
|
|
hostname: homesrv01
|
|
memory: 1500
|
|
net0: name=eth0,bridge=vmbr0,firewall=1,gw=192.168.1.2,hwaddr=42:F5:02:BC:77:81,ip=192.168.1.252/24,ip6=dhcp,type=veth
|
|
onboot: 1
|
|
ostype: ubuntu
|
|
protection: 1
|
|
rootfs: local-lvm:vm-105-disk-0,size=32G
|
|
swap: 1500
|
|
unprivileged: 1
|
|
lxc.cgroup2.devices.allow: c 189:* rwm
|
|
lxc.mount.entry: usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_c0e8eeb4b38ded118e7c06f6b86ce6f8-if00-port0 dev/serial/by-id/usb-ITead_Sonoff_Zigbee_3.0_USB_Dongle_Plus_c0e8eeb4b38ded118e7c06f6b86ce6f8-if00-port0 none bind,optional,create=file
|
|
lxc.cgroup2.devices.allow: c 188:* rwm
|
|
lxc.mount.entry: /dev/ttyUSB0 dev/ttyUSB0 none bind,optional,create=file
|
|
```
|
|
|
|
```bash
|
|
# lsb_release -a
|
|
Distributor ID: Ubuntu
|
|
Description: Ubuntu 24.04 LTS
|
|
Release: 24.04
|
|
Codename: noble
|
|
|
|
# uname -r
|
|
6.8.4-3-pve
|
|
```
|
|
|
|
## Development / Maintenance Environment
|
|
|
|
Currently using docker code server as an editor.
|
|
|
|
## setup
|
|
|
|
```bash
|
|
apt update -y && apt upgrade -y
|
|
apt install curl -y
|
|
apt install git -y
|
|
curl -fsSL https://get.docker.com -o get-docker.sh && sh ./get-docker.sh
|
|
docker run hello-world && docker info
|
|
apt install sshfs
|
|
apt install ansible
|
|
```
|
|
|
|
## fstab
|
|
|
|
```bash
|
|
#/etc/fstab
|
|
#sshfs#media@nas.lan:/home/media /mnt/media@sshfs:nas.lan fuse defaults,_netdev,allow_other,follow_symlinks 0 0
|
|
```
|
|
|
|
## ssh
|
|
|
|
```bash
|
|
#/etc/ssh/sshd_config
|
|
PermitRootLogin no
|
|
```
|
|
|
|
```bash
|
|
systemctl restart ssh
|
|
```
|
|
|
|
## Update
|
|
|
|
```bash
|
|
./scripts/auto-update.sh
|
|
ln -s $PWD/scripts/auto-update.sh /etc/cron.daily/auto-update
|
|
journalctl -r -t auto-update
|
|
```
|
|
|
|
## Services
|
|
|
|
### External volumes
|
|
|
|
```
|
|
docker volume create --driver local --opt type=none --opt device=/home/admin/repos --opt o=bind hostfs_home_admin_repos
|
|
docker volume create --driver local --opt type=none --opt device=/mnt/media@sshfs:nas.lan --opt o=bind music
|
|
docker volume create --driver local --opt type=none --opt device=/ --opt o=bind hostfs
|
|
```
|
|
|
|
### Portainer
|
|
|
|
maintained by ansible myInfra.docker.portainer role
|
|
|
|
### Promtail
|
|
|
|
maintained by ansible myInfra.docker.promtail role
|
|
|
|
### Telegraf
|
|
|
|
#### Setup & Update
|
|
|
|
maintained by ansible myInfra.docker.telegraf role
|
|
|
|
### nginx
|
|
|
|
Using portainer stack (stack name: nginx) connected to this repo. [Docker Compose](./services/nginx/docker-compose.yaml)
|
|
|
|
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).
|
|
|
|
docker-compose.yml example.
|
|
|
|
```yaml
|
|
version: '3'
|
|
services:
|
|
code-server:
|
|
container_name: code
|
|
image: lscr.io/linuxserver/code-server:latest
|
|
environment:
|
|
- PUID=0
|
|
- PGID=0
|
|
- TZ=Europe/London
|
|
- PASSWORD=${CODESERVER_PASSWORD}
|
|
- DEFAULT_WORKSPACE=/config/workspace
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- code-server_config:/config
|
|
- code-server_root:/root
|
|
- has_config:/config/workspace/has/volumes/config
|
|
- hostfs:/mnt/hostfs
|
|
#- ./../nginx/volumes/nginx_conf:/config/workspace/host/repos/homesrv01.dev.lan/services/nginx/volumes/nginx_conf
|
|
#- mosquitto_config:/config/workspace/host/repos/homesrv01.dev.lan/services/mosquitto/volumes/config
|
|
#- mosquitto_data:/config/workspace/host/repos/homesrv01.dev.lan/services/mosquitto/volumes/data
|
|
#- zigbee2mqtt_data:/config/workspace/host/repos/homesrv01.dev.lan/services/zigbee2mqtt/volumes/data
|
|
- hostfs:/mnt/hostfs
|
|
networks:
|
|
- code
|
|
- reverseproxy_public
|
|
ports:
|
|
- 8444:8443
|
|
restart: unless-stopped
|
|
volumes:
|
|
# zigbee2mqtt_data:
|
|
# name: zigbee2mqtt_data
|
|
# external: true
|
|
code-server_config:
|
|
code-server_root:
|
|
has_config:
|
|
name: has_app_config
|
|
external: true
|
|
hostfs:
|
|
external: true
|
|
#mosquitto_config:
|
|
# external: true
|
|
#mosquitto_data:
|
|
# external: true
|
|
networks:
|
|
code:
|
|
reverseproxy_public:
|
|
external: true
|
|
```
|
|
|
|
### Home Assistant
|
|
|
|
[Git Repo](https://git.limbosolutions.com/marcio.fernandes/homeAssistant)
|
|
|
|
### LMS
|
|
|
|
[Git Repo](/marcio.fernandes/lms)
|
|
|
|
### Mosquitto
|
|
|
|
[Git Repo](https://git.limbosolutions.com/marcio.fernandes/mosquitto)
|
|
|
|
### Wyoming
|
|
|
|
https://github.com/rhasspy/wyoming-faster-whisper
|
|
|
|
https://exitcode0.net/posts/wyoming-whisper-docker-compose/
|
|
|
|
[Home assistant](https://github.com/home-assistant/addons/blob/master/whisper/DOCS.md)
|
|
|
|
[Docker compose](./services/wyoming/docker-compose.yaml)
|
|
|
|
Currently using portainer stack with git reference to this repo.
|
|
|
|
### Zigbee2mqtt
|
|
|
|
[Docker compose](./services/zigbee2mqtt//docker-compose.yaml)
|
|
|
|
Currently using portainer stack with git reference to this repo.
|