2024-08-27 12:14:15 +01:00
2024-08-26 20:39:12 +01:00
2024-08-26 20:40:55 +01:00
2024-08-27 02:23:52 +01:00
2024-08-24 00:21:20 +01:00
2024-08-27 12:14:15 +01:00

homesrv01.dev.lan

Welcome to homesrv01.dev.lan git page.

Using code-server docker container for Development / Maintenance.

Table of Contents

Services

Docker

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

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.

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

Lyrion Music Server (LMS)

Check git repo for more information how to setup Lyrion Music Server docker container. Or git repo for more information about home assistant integration.

Mosquitto

Git Repo

Wyoming

A peer-to-peer protocol for voice assistants (basically JSONL + PCM audio)

{ "type": "...", "data": { ... }, "data_length": ..., "payload_length": ... }
<data_length bytes (optional)>
<payload_length bytes (optional)>

Used in Rhasspy and Home Assistant for communication with voice services.

This is an open standard of the Open Home Foundation.

For more information about home assistant integration check home assistant repo.

Currently using portainer stack (name: wyoming) with git reference to this repo. docker compose file.

Gitea Continuous deploy action

Links:

Zigbee2mqtt

Zigbee to MQTT bridge, get rid of your proprietary Zigbee bridges

For more information about home assistant integration check home assistant repo.

Currently using portainer stack (name: zigbee2mqtt) with git reference to this repo. Docker compose

Gitea Continuous deploy action.

Links:

Host

OS

Currently hosted on a proxmox ubuntu container.

#   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
# lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 24.04 LTS
Release:        24.04
Codename:       noble

# uname -r
6.8.4-3-pve

Packages and Requirements

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

#/etc/fstab
#sshfs#media@nas.lan:/home/media /mnt/media@sshfs:nas.lan fuse defaults,_netdev,allow_other,follow_symlinks 0 0

ssh

#/etc/ssh/sshd_config
PermitRootLogin no
systemctl restart ssh

Update

./scripts/auto-update.sh
ln -s $PWD/scripts/auto-update.sh /etc/cron.daily/auto-update
journalctl -r -t auto-update
Description
No description provided
Readme 768 KiB
Languages
JSON 100%