felddy/weewx
Docker container for WeeWx weather station server
100K+
This docker container can be used to quickly get a WeeWX instance up and running.
The easiest way to start the container is to create a
docker-compose.yml
similar to the following. If you use a
serial port to connect to your weather station, make sure the
container has permissions to access the port.
Modify any paths or devices as needed:
---
name: "weewx"
services:
weewx:
image: felddy/weewx:5
volumes:
- type: bind
source: ./data
target: /data
devices:
- "/dev/ttyUSB0:/dev/ttyUSB0"
Create a directory on the host to store the configuration and database files:
mkdir data
If this is the first time running weewx, use the following command to start the container and generate a configuration file:
docker compose run --rm weewx
The configuration file will be created in the data
directory. You should
edit this file to match the setup of your weather station.
When you are satisfied with configuration the container can be started in the background with:
docker compose up --detach
Stop the running container:
docker compose down
Pull the new images from the Docker hub:
docker compose pull
Update your configuration file (a backup will be created):
docker compose run --rm weewx station upgrade
Read through the new configuration and verify.
It is helpful to diff
the new config with the backup. Check the
WeeWX Upgrade Guide
for instructions for specific versions.
Start the container up with the new image version:
docker compose up --detach
If you are migrating a WeeWX installation, you need to configure the logger to
write to the console. Add the following to your weewx.conf
file to see the log
output in the container logs:
[Logging]
[[root]]
level = INFO
handlers = console,
If arguments are passed to the container, they are forwarded on to the
weectl
command. This
can be used to install extensions:
docker compose run --rm weewx \
extension install --yes \
https://github.com/matthewwall/weewx-windy/archive/master.zip
docker compose run --rm weewx \
extension install --yes \
https://github.com/matthewwall/weewx-mqtt/archive/master.zip
To install and persist Python packages, use the pip
command. The libraries
will be installed into the data
volume, ensuring they persist between
container restarts.
docker compose run --rm --entrypoint pip weewx \
install git+https://github.com/felddy/weewx-home-assistant@v1.0.0
The images of this container are tagged with semantic versions that align with the version and build of WeeWX that they support.
TipIt is recommended that users use the major version tag: `:5` Using the major tag will ensure that you receive the most recent version of the software that is compatible with your saved data, and prevents inadvertent upgrades to a new major version.
Image:tag | Description |
---|---|
felddy/weewx:5 | The most recent image matching the major version number. Most users will use this tag. |
felddy/weewx:5.1 | The most recent image matching the major and minor version numbers. |
felddy/weewx:5.1.0 | An exact image version. |
See the tags tab on Docker Hub for a list of all the supported tags.
Mount point | Purpose |
---|---|
/data | WeeWX root directory |
Build the image locally using this git repository as the build context:
docker build \
--tag felddy/weewx:5.1.0 \
https://github.com/felddy/weewx-docker.git#develop
To create images that are compatible with other platforms you can use the
buildx
feature of
Docker:
Copy the project to your machine using the Clone
button above
or the command line:
git clone https://github.com/felddy/weewx-docker.git
cd weewx-docker
Build the image using buildx
:
docker buildx build \
--platform linux/amd64 \
--output type=docker \
--tag felddy/weewx:5.1.0 .
We welcome contributions! Please see CONTRIBUTING.md
for
details.
This project is in the worldwide public domain.
This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.
All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.
docker pull felddy/weewx