{"id":19218484,"url":"https://github.com/daveiano/weewx-wdc-interceptor-docker","last_synced_at":"2025-05-13T00:16:15.137Z","repository":{"id":50513492,"uuid":"483449939","full_name":"Daveiano/weewx-wdc-interceptor-docker","owner":"Daveiano","description":"A simple Dockerfile to run weewx with the interceptor driver.","archived":false,"fork":false,"pushed_at":"2024-11-04T22:26:43.000Z","size":102,"stargazers_count":8,"open_issues_count":2,"forks_count":6,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-13T00:16:04.167Z","etag":null,"topics":["docker","docker-compose","weewx","weewx-docker","weewx-driver","weewx-service"],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Daveiano.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-04-20T00:15:48.000Z","updated_at":"2025-02-27T15:53:34.000Z","dependencies_parsed_at":"2023-11-08T23:29:34.755Z","dependency_job_id":"09005e74-aae7-4c24-ae5d-0124afea9cee","html_url":"https://github.com/Daveiano/weewx-wdc-interceptor-docker","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daveiano%2Fweewx-wdc-interceptor-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daveiano%2Fweewx-wdc-interceptor-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daveiano%2Fweewx-wdc-interceptor-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Daveiano%2Fweewx-wdc-interceptor-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Daveiano","download_url":"https://codeload.github.com/Daveiano/weewx-wdc-interceptor-docker/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253843225,"owners_count":21972874,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","weewx","weewx-docker","weewx-driver","weewx-service"],"created_at":"2024-11-09T14:26:55.531Z","updated_at":"2025-05-13T00:16:15.089Z","avatar_url":"https://github.com/Daveiano.png","language":"Dockerfile","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Test \u0026 Lint](https://github.com/Daveiano/weewx-wdc-interceptor-docker/actions/workflows/test.yml/badge.svg)](https://github.com/Daveiano/weewx-wdc-interceptor-docker/actions/workflows/test.yml)\n\n# weewx-wdc-interceptor-docker\n\nA simple Dockerfile to run [weewx](https://github.com/weewx/weewx) with the [interceptor](https://github.com/matthewwall/weewx-interceptor) driver.\nThe [weewx-forecast](https://github.com/chaunceygardiner/weewx-forecast/) extension is also installed along with\n[weewx-wdc](https://github.com/Daveiano/weewx-wdc), [weewx-xcumulative](https://github.com/gjr80/weewx-xcumulative), [weewx-xaggs](https://github.com/tkeffer/weewx-xaggs),\n[weewx-GTS](https://github.com/roe-dl/weewx-GTS), and [weewx-cmon](https://github.com/bellrichm/weewx-cmon).\n\nThere are branches available with [weewx-DWD](https://github.com/roe-dl/weewx-DWD), [weewx-mqtt](https://github.com/matthewwall/weewx-mqtt) and both extensions together.\n\nWeeWX is installed via the [`pip` installation method](https://www.weewx.com/docs/5.0/quickstarts/pip/).\n\n## Usage\n\n* Make changes to the [`Dockerfile`s install command](https://github.com/Daveiano/weewx-wdc-interceptor-docker/blob/main/Dockerfile#L48) and `src/skin.conf`\n* Build `docker build . -t \"weewx\"`\n  * Default build args:\n    * **ARG** WEEWX_VERSION=\"5.0.2\"\n    * **ARG** WDC_VERSION=\"v3.5.0\"\n* Run `docker run -d --restart unless-stopped -p 9877:9877 --name weewx weewx`\n* Step into with `docker exec -it weewx /bin/bash`\n\nLogs are in /var/log/syslog.\n\n### Working with named volumes\n\n```\ndocker volume create weewx-db\ndocker volume create weewx-html\ndocker run -d --restart unless-stopped -p 9877:9877 --name weewx -v weewx-db:/home/weewx-data/archive -v weewx-html:/home/weewx-data/public_html weewx\n```\n\nRun nginx with weewx generated files: `docker run -it --rm -d -p 8080:80 --name web -v weewx-html:/usr/share/nginx/html nginx`\n\n### docker compose\n\nA simple docker-compose.yml is included which starts a nginx server on `localhost:8080`.\n\n`docker compose up -d`\n\n\n### [Weather Data Center Skin](https://github.com/Daveiano/weewx-wdc) or any other skin\n\nComment the lines 32 and 48 in the Dockerfile to deactivate the weewx-wdc skin. Or replace the download and file name\nwith your own skin you want to install.\n\n## Admin scripts\n\n### backup.sh\n\nSaves a backup of a named volume to the desired location. This can be run via cron to backup the SQLite DB.\nThe backup file has a date suffix. Optionally, you can add a S3 Bucket and path as a third parameter to copy the backup to S3.\nThe local backup gets removed in this case.\n\nUsage: `./admin_scripts/backup.sh \u003cVOLUME\u003e \u003cOUTPUT_DIRECTORY\u003e \u003cOPTIONAL S3 BUCKET AND PATH\u003e`\n\nExample: `\"./admin_scripts/backup.sh weewx-db ./exports weewx-backup-bucket s3-bucket-name/path\"`\n\n### sync-s3.sh\n\nSync the generated HTML reports to a S3 bucket for web hosting. This needs the [aws cli](LINK) installed and configured.\nThe volume path for a named volume should normally be something like `/var/lib/docker/volumes/weewx-html/_data`.\nOptionally you can add a third parameter with the Cloudfront Distribution ID to trigger an Invalidation for index.html.\n\nFor more information about AWS S3 static website hosting, see here https://docs.aws.amazon.com/AmazonS3/latest/userguide/website-hosting-custom-domain-walkthrough.html#root-domain-walkthrough-create-buckets\n\nUsage: `./admin_scripts/sync-s3.sh \u003cLOCAL FILE PATH\u003e \u003cS3 BUCKET AND PATH\u003e \u003cOPTIONAL CF DISTRIBUTION ID\u003e`\n\nExample: `\"./admin_scripts/sync-s3.sh /var/lib/docker/volumes/weewx-html/_data weewx_web/\"`\n\nI am using these two scripts as cronjobs on my PI installation:\n\n```\n# m h  dom mon dow   command\n*/10 * * * * PATH=/usr/bin:/usr/local/bin \u0026\u0026 /home/pi/weewx-interceptor-docker/admin_scripts/sync-s3.sh /var/lib/docker/volumes/weewx-html/_data www.weewx-hbt.de/ XXXXXXXXXXXXXX\n0 8 * * * PATH=/usr/bin:/usr/local/bin \u0026\u0026 /home/pi/weewx-interceptor-docker/admin_scripts/backup.sh weewx-db /tmp weewx-backup-sdb\n```\n\n## Test\n\nThe Dockerfile is tested using [dgoss](https://github.com/aelsabbahy/goss/tree/master/extras/dgoss):\n\n`dgoss run -p 9877:9877  weewx`\n\n## Credits and further reading\n\nhttps://www.dl1nux.de/erfahrungen-mit-dnt-wetterstation-weatherscreen-pro-und-weewx/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaveiano%2Fweewx-wdc-interceptor-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdaveiano%2Fweewx-wdc-interceptor-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdaveiano%2Fweewx-wdc-interceptor-docker/lists"}