# 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 [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.