Sign inSign up

floydsteam/weewx

By floydsteam

•Updated almost 5 years ago

felddy/weewx-docker with modified interceptor plugin to include Ecowitt WH57

Image
0

3.7K

floydsteam/weewx repository overview

⁠weewx-docker 🌩🐳

GitHub Build Status CodeQL WeeWX Version

Docker Pulls Docker Image Size (latest by date) Platforms

This docker container can be used to quickly get a WeeWX⁠ instance up and running.

This container has the following WeeWX extensions installed:

⁠Notes

This GitHub repo is forked from felddy/weewx-docker⁠ (great work! 👍).

It uses a forked and modified version of the interceptor⁠ extension to provide basic support for the Ecowitt WH57. This sensor will provide some information on lightning strikes in an area around the weather station. Note that currently only the count and distance can be stored in a WeeWX database without further modifications.

⁠Usage

⁠Install

Pull floydsteam/weewx from the Docker repository:

docker pull floydsteam/weewx
⁠Run

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. The uid/gid can be set using the environment variables below.

Modify any paths or devices as needed:

---
version: "3.8"

volumes:
  data:

services:
  weewx:
    image: floydsteam/weewx
    init: true
    restart: "yes"
    volumes:
      - type: bind
        source: ./data
        target: /data
    environment:
      - TIMEZONE=US/Eastern
      - WEEWX_UID=weewx
      - WEEWX_GID=dialout
    devices:
      - "/dev/ttyUSB0:/dev/ttyUSB0"
  1. Create a directory on the host to store the configuration and database files:

    mkdir data
    
  2. If this is the first time running weewx, use the following command to start the container and generate a configuration file:

    docker-compose run weewx
    
  3. The configuration file will be created in the data directory. You should edit this file to match the setup of your weather station.

  4. When you are satisfied with configuration the container can be started in the background with:

    docker-compose up -d
    

⁠Upgrading

  1. Stop the running container:

    docker-compose down
    
  2. Pull the new images from the Docker hub:

    docker-compose pull
    
  3. Update your configuration file (a backup will be created):

    docker-compose run weewx --upgrade
    
  4. 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.

  5. Start the container up with the new image version:

    docker-compose up -d
    

⁠Volumes

Mount pointPurpose
/dataconfiguration file and sqlite database storage

⁠Environment Variables

VariablePurposeDefault
TIMEZONEContainer TZ database name⁠UTC
WEEWX_UIDuid the daemon will be run underweewx
WEEWX_GIDgid the deamon will be run underweewx

⁠Building from source

Build the image locally using this git repository as the build context⁠:

docker build \
  --tag floydsteam/weewx:4.5.1 \
  https://github.com/floydsteam/weewx-docker.git#develop

⁠Cross-platform builds

To create images that are compatible with other platforms you can use the buildx⁠ feature of Docker:

  1. Copy the project to your machine using the Clone button above or the command line:

    git clone https://github.com/floydsteam/weewx-docker.git
    cd weewx-docker
    
  2. Create the Dockerfile-x file with buildx platform support:

    ./buildx-dockerfile.sh
    
  3. Build the image using buildx:

    docker buildx build \
      --file Dockerfile-x \
      --platform linux/amd64 \
      --output type=docker \
      --tag floydsteam/weewx:4.5.1 .
    

⁠Debugging

There are a few helper arguments that can be used to diagnose container issues in your environment.

PurposeCommand
Generate the default configurationdocker-compose run weewx
Upgrade a previous configurationdocker-compose run weewx --upgrade
Generate a test (simulator) configurationdocker-compose run weewx --gen-test-config
Drop into a shell in the containerdocker-compose run weewx --shell

⁠New Repositories from a Skeleton

Please see our Project Setup guide⁠ for step-by-step instructions on how to start a new repository from a skeleton. This will save you time and effort when configuring a new repository!

⁠Contributing

We welcome contributions! Please see CONTRIBUTING.md⁠ for details.

⁠License

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.

Tag summary

Content type

Image

Digest

Size

64.7 MB

Last updated

almost 5 years ago

docker pull floydsteam/weewx