diff --git a/barbarian/DISKINFO.md b/barbarian/DISKINFO.md index c009608..c4e52cb 100644 --- a/barbarian/DISKINFO.md +++ b/barbarian/DISKINFO.md @@ -1,14 +1,3 @@ -Disks in the shelf are listed alphabetically starting from `b`, such that `/dev/sdb` is row 1 column 1 and `/dev/sdh` is row 2 column 3. - -| | X1 | X2 | X3 | X4 | -|:--:|:---:|:---:|:---:|:---:| -| Y1 | sdb | sdc | sdd | sde | -| Y2 | sdf | sdg | sdh | sdi | -| Y3 | sdj | sdk | sdl | sdm | -| Y4 | sdn | sdo | sdp | sdq | -| Y5 | sdr | sds | sdt | sdu | -| Y6 | sdv | sdw | sdx | sdy | - We can get each drive's serial number, power on hours, and manufacture date with the following one-liner: ``` diff --git a/barbarian/DISKSHELFMAP.md b/barbarian/DISKSHELFMAP.md index efff200..51c8994 100644 --- a/barbarian/DISKSHELFMAP.md +++ b/barbarian/DISKSHELFMAP.md @@ -1,10 +1,25 @@ # Physical Disk Locations (DS4243) +*Updated 2024/02/27* + Each cell contains the serial number for the drive in the mapped bay. -| | X1 | X2 | X3 | X4 | -|:--:|:---------------------------:|:---------------------------:|:---------------:|:---------------:| -| Y1 | VJGPS30X (da0) | 2EGP88WV (da1) | VJG2808X (da2) | VJG2PVRX (da3) | -| Y2 | VJGR6TNX (da4) | 2EG14YNJ (da5) | VJGR6TNX (da4) | 2EG14YNJ (da5) | -| Y3 | VJG282NX (da8) | 2EGXD27V (da9) | VJG1NP9X (da10) | VJG2UTUX (da11) | -| Y4 | VJGRGD2X (da12) | 001526PL8AVV2EGL8AVV (da13) | 2EKA903X (da14) | VJGRRG9X (da15) | -| Y5 | 001703PXPS1VVLKXPS1V (da16) | 001528PNPVWV2EGNPVWV (da17) | 2EKATR2X (da18) | VKH3Y3XX (da19) | -| Y6 | 001703PV9N8VVLKV9N8V (da20) | 001708P4W2VVR5G4W2VV (da21) | 2EKA92XX (da22) | VKGW5YGX (da23) | +| | X1 | X2 | X3 | X4 | +|:--:|:---------:|:--------:|:--------:|:--------:| +| Y1 | VJGPS30X | VK0ZD6ZY | VJG282NX | VJG2PVRX | +| Y2 | VJGR6TNX | 2EG14YNJ | VJGJVTZX | VJG1H9UX | +| Y3 | VJGJUWNX | 2EGXD27V | VJGJAS1X | VJG2UTUX | +| Y4 | VJGRGD2X | 2EGL8AVV | 2EKA903X | VJGRRG9X | +| Y5 | VJGK56KX | 2EGNPVWV | 2EKATR2X | VKH3Y3XX | +| Y6 | VLKV9N8V | R5G4W2VV | 2EKA92XX | VKGW5YGX | + +# Identify a Failing Disk +Disk Smart test errors are reported by device ID (e.g. /dev/sdw), rather than the serial number. To find the serial number associated with a particular device ID, run the following one-liner with `$dev` substituted for the device to find: + +`TODO` + +# Replace Disk in Pool +Once the failed disk has been identified and physically replaced, you should know the old drive's UUID (via `zpool status`) and the new drive's device name (via `lsblk` and deduction) + +# Update Log + +### 2024/02/27 +- Replaced VJG2T4YX with VJG282NX at Y2/X3 \ No newline at end of file diff --git a/fighter/config/home-assistant/README.md b/fighter/config/home-assistant/README.md new file mode 100644 index 0000000..6a6874a --- /dev/null +++ b/fighter/config/home-assistant/README.md @@ -0,0 +1,7 @@ +# TODO +- Export configuration to code, import to version control. +- Build automation to apply changes to code. +- Integrate Eaton UPS via [NUT](https://networkupstools.org/). [shawly/docker-nut](https://github.com/shawly/docker-nut), [Home Assistant - NUT integration](https://www.home-assistant.io/integrations/nut/). +- Integrate [Wyze bridge](https://github.com/mrlt8/docker-wyze-bridge). +- Integrate [Traccar](https://www.home-assistant.io/integrations/traccar_server/). +- Integrate [Frigate](https://docs.frigate.video/frigate/installation). diff --git a/fighter/config/networkupstools/docker-compose.yml b/fighter/config/networkupstools/docker-compose.yml index c8d18a4..02c640e 100644 --- a/fighter/config/networkupstools/docker-compose.yml +++ b/fighter/config/networkupstools/docker-compose.yml @@ -6,6 +6,8 @@ services: env_file: - path: ./nut.env required: true + networks: + - web volumes: - "$DOCKER_DATA/titles:/nut/titles:rw" - "$DOCKER_DATA/conf:/nut/conf:rw" @@ -15,4 +17,8 @@ services: - traefik.http.routers.nut.rule=Host(`nut.jafner.net`) - traefik.http.routers.nut.tls.certresolver=lets-encrypt - traefik.http.routers.nut.middlewares=lan-only@file - - traefik.http.services.nut.loadbalancer.server.port=9000 \ No newline at end of file + - traefik.http.services.nut.loadbalancer.server.port=9000 + +networks: + web: + external: true \ No newline at end of file