@Vince, great questions. Keeping in mind, this whole build was heavily AI-assisted, i used claude to answer some of your questions, but i think the responses are reasonable. Please challenge if they are slop!
1. Two reasons: changed
>APWEE5,TCPIP*: to
>APRS: so CWOP packets appear on findu, and added a 2-second sleep after login before sending the packet so the CWOP server has time to process the login before receiving data. Both are bugs/limitations in the stock weewx CWOP implementation.
2.
src.tgz contains the
rtldavis Go binary source and the
weewx extension; librtlsdr is the
C library for the RTL-SDR USB dongle hardware. librtlsdr is a separate C library that must be compiled, it wouldn't be bundled in the weewx extension tarball.
3.
Why copy .py files into the venv? weewx-data/bin/user/ should work since weewx adds it to the Python path. We copy into the venv because the Docker image doesn't mount
weewx-data at build time — it's a runtime volume. So anything that needs to exist before the volume is mounted must be baked into the image. If you always mount the volume with the files pre-populated, you could skip the copies.
4.
Why syslogd? Synology DSM doesn't have systemd journald inside Docker containers, so syslog is needed to capture log output from weewx which uses the standard Python logging → syslog handler. Without it the logs go nowhere. The entrypoint.sh starts syslogd before weewxd.
5. I have no good answers here and dislike Claude's response. I think the current version is fine for now, but it probably should be updated. I hope to keep adding to this (I already have later plans to build a complementary sensor suite for lightning and air quality, plus a non WL console-based barometer), so as time goes on and I extend this I hope to update it. Even now, I have plans to push to the repos, since I've added some other services and found a few issues in how weewx communicates with them that I've fixed and want to update.
For the record, Claude says Ubuntu 26.04 doesn't exist, which isn't true, it's just stuck in the past. Also thinks Python 3.14 is alpha/beta, which is news to even me. Maybe I am missing something.