Skip to content
This repository was archived by the owner on Jan 1, 2024. It is now read-only.

Commit a8b4169

Browse files
committed
updating pipeline logic for testing and adding gaurd to key generation in config, dynamic readme
1 parent 29a4183 commit a8b4169

File tree

5 files changed

+261
-213
lines changed

5 files changed

+261
-213
lines changed

Jenkinsfile

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ pipeline {
2626
CI_WEB='true'
2727
CI_PORT='8080'
2828
CI_SSL='false'
29-
CI_DELAY='240'
30-
CI_DOCKERENV='TZ=US/Pacific'
29+
CI_DELAY='120'
30+
CI_DOCKERENV='TEST_RUN=true'
3131
CI_AUTH='user:password'
3232
CI_WEBPATH=''
3333
}
@@ -209,6 +209,15 @@ pipeline {
209209
else
210210
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
211211
fi
212+
mkdir -p ${TEMPDIR}/gitbook
213+
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
214+
if [ "${BRANCH_NAME}" = "master" ] && [ ! -f ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md ] || [ "$(md5sum ${TEMPDIR}/gitbook/docker-documentation/images/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" != "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')" ]; then
215+
cp ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
216+
cd ${TEMPDIR}/gitbook/docker-documentation/
217+
git add images/docker-${CONTAINER_NAME}.md
218+
git commit -m 'Bot Updating Templated Files'
219+
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
220+
fi
212221
rm -Rf ${TEMPDIR}'''
213222
script{
214223
env.FILES_UPDATED = sh(

README.md

Lines changed: 156 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,84 @@
1-
[linuxserverurl]: https://linuxserver.io
2-
[forumurl]: https://forum.linuxserver.io
3-
[ircurl]: https://www.linuxserver.io/irc/
4-
[podcasturl]: https://www.linuxserver.io/podcast/
5-
[appurl]: https://www.domoticz.com
6-
[hub]: https://hub.docker.com/r/linuxserver/domoticz/
1+
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
72

8-
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
3+
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
94

10-
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
11-
* [forum.linuxserver.io][forumurl]
12-
* [IRC][ircurl] on freenode at `#linuxserver.io`
13-
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
5+
* regular and timely application updates
6+
* easy user mappings (PGID, PUID)
7+
* custom base image with s6 overlay
8+
* weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth
9+
* regular security updates
1410

15-
# linuxserver/domoticz
16-
[![](https://images.microbadger.com/badges/version/linuxserver/domoticz.svg)](https://microbadger.com/images/linuxserver/domoticz "Get your own version badge on microbadger.com")[![](https://images.microbadger.com/badges/image/linuxserver/domoticz.svg)](https://microbadger.com/images/linuxserver/domoticz "Get your own image badge on microbadger.com")[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/domoticz.svg)][hub][![Docker Stars](https://img.shields.io/docker/stars/linuxserver/domoticz.svg)][hub][![Build Status](https://ci.linuxserver.io/buildStatus/icon?job=Docker-Builders/x86-64/x86-64-domoticz)](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-domoticz/)
11+
Find us at:
12+
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
13+
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
14+
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
15+
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
1716

18-
[Domoticz][appurl] is a Home Automation System that lets you monitor and configure various devices like: Lights, Switches, various sensors/meters like Temperature, Rain, Wind, UV, Electra, Gas, Water and much more. Notifications/Alerts can be sent to any mobile device
17+
# PSA: Changes are happening
1918

20-
[![domoticz](https://github.com/domoticz/domoticz/raw/master/www/images/logo.png)][appurl]
19+
From August 2018 onwards, Linuxserver are in the midst of switching to a new CI platform which will enable us to build and release multiple architectures under a single repo. To this end, existing images for `arm64` and `armhf` builds are being deprecated. They are replaced by a manifest file in each container which automatically pulls the correct image for your architecture. You'll also be able to pull based on a specific architecture tag.
2120

22-
## Usage
21+
TLDR: Multi-arch support is changing from multiple repos to one repo per container image.
2322

24-
```
25-
docker create \
26-
--name=domoticz \
27-
--net=bridge \
28-
-v <path to data>:/config \
29-
-e PGID=<gid> -e PUID=<uid> \
30-
-e TZ=<timezone> \
31-
-p 1443:1443 \
32-
-p 6144:6144 \
33-
-p 8080:8080 \
34-
--device=<path to device> \
35-
linuxserver/domoticz
36-
```
23+
# [linuxserver/domoticz](https://github.com/linuxserver/docker-domoticz)
24+
[![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
25+
[![](https://images.microbadger.com/badges/version/linuxserver/domoticz.svg)](https://microbadger.com/images/linuxserver/domoticz "Get your own version badge on microbadger.com")
26+
[![](https://images.microbadger.com/badges/image/linuxserver/domoticz.svg)](https://microbadger.com/images/linuxserver/domoticz "Get your own version badge on microbadger.com")
27+
![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/domoticz.svg)
28+
![Docker Stars](https://img.shields.io/docker/stars/linuxserver/domoticz.svg)
29+
[![Build Status](https://ci.linuxserver.io/buildStatus/icon?job=Docker-Pipeline-Builders/docker-domoticz/master)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-domoticz/job/master/)
30+
[![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/domoticz/latest/badge.svg)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/domoticz/latest/index.html)
3731

38-
You can choose between using tags, latest (default, and no tag required), or a specific stable version of domoticz.
32+
[Domoticz](https://www.domoticz.com) is a Home Automation System that lets you monitor and configure various devices like: Lights, Switches, various sensors/meters like Temperature, Rain, Wind, UV, Electra, Gas, Water and much more. Notifications/Alerts can be sent to any mobile device.
3933

40-
Add one of the tags, if required, to the linuxserver/domoticz line of the run/create command in the following format, linuxserver/domoticz:stable-4.9700
34+
[![domoticz](https://github.com/domoticz/domoticz/raw/master/www/images/logo.png)](https://www.domoticz.com)
4135

42-
#### Tags
36+
## Supported Architectures
4337

44-
+ **stable** : latest stable version.
45-
+ **stable-3.8153** : no longer updated old stable version.
46-
+ **stable-3.5877** : no longer updated old stable version.
38+
Our images support multiple architectures such as `x86-64`, `arm64` and `armhf`. We utilise the docker manifest for multi-platform awareness. More information is available from docker [here](https://github.com/docker/distribution/blob/master/docs/spec/manifest-v2-2.md#manifest-list).
4739

48-
## Parameters
40+
Simply pulling `linuxserver/domoticz` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
4941

50-
`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
51-
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
52-
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
53-
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`
42+
The architectures supported by this image are:
5443

44+
| Architecture | Tag |
45+
| :----: | --- |
46+
| x86-64 | amd64-latest |
47+
| arm64 | arm64v8-latest |
48+
| armhf | arm32v6-latest |
5549

56-
* `-p 1443` - the port(s)
57-
* `-p 6144` - the port(s)
58-
* `-p 8080` - the port(s)
59-
* `-v /config` - location for the config files
60-
* `-e PGID` for GroupID - see below for explanation
61-
* `-e PUID` for UserID - see below for explanation
62-
* `--device` - for passing through USB devices
63-
* `-e TZ` - for timezone information *eg Europe/London, etc*
50+
## Version Tags
6451

65-
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it domoticz /bin/bash`.
52+
This image provides various versions that are available via tags. `latest` tag usually provides the latest stable version. Others are considered under development and caution must be exercised when using them.
53+
54+
| Tag | Description |
55+
| :----: | --- |
56+
| latest | Current latest head from master at https://github.com/domoticz/domoticz. |
57+
| stable | Latest stable version. |
58+
| stable-4.9700 | Old stable version. Will not be updated anymore! |
59+
| stable-3.815 | Old stable version. Will not be updated anymore! |
60+
| stable-3.5877 | Old stable version. Will not be updated anymore! |
61+
62+
## Usage
63+
64+
Here are some example snippets to help you get started creating a container.
65+
66+
### docker
67+
68+
```
69+
docker create \
70+
--name=domoticz \
71+
-e PUID=1001 \
72+
-e PGID=1001 \
73+
-e TZ=Europe/London \
74+
-p 8080:8080 \
75+
-p 6144:6144 \
76+
-p 1443:1443 \
77+
-v <path to data>:/config \
78+
--device <path to device>:<path to device> \
79+
--restart unless-stopped \
80+
linuxserver/domoticz
81+
```
6682

6783
### Passing Through USB Devices
6884

@@ -74,50 +90,113 @@ ftdi_sio 1-1.2:1.0: FTDI USB Serial Device converter detected
7490
usb 1-1.2: Detected FT232RL
7591
usb 1-1.2: FTDI USB Serial Device converter now attached to ttyUSB0
7692
```
93+
As you can see above, the device node created is ttyUSB0. It does not say where, but it's almost always in /dev/. The correct tag for passing through this USB device is '--device /dev/ttyUSB0:/dev/ttyUSB0'
94+
95+
96+
### docker-compose
7797

78-
As you can see above, the device node created is ttyUSB0. It does not say where, but it's almost always in /dev/. The correct tag for passing through this USB device is '--device=/dev/ttyUSB0'
98+
Compatible with docker-compose v2 schemas.
99+
100+
```
101+
---
102+
version: "2"
103+
services:
104+
domoticz:
105+
image: linuxserver/domoticz
106+
container_name: domoticz
107+
environment:
108+
- PUID=1001
109+
- PGID=1001
110+
- TZ=Europe/London
111+
volumes:
112+
- <path to data>:/config
113+
ports:
114+
- 8080:8080
115+
- 6144:6144
116+
- 1443:1443
117+
devices:
118+
- <path to device>:<path to device>
119+
mem_limit: 4096m
120+
restart: unless-stopped
121+
```
122+
123+
## Parameters
79124

80-
### User / Group Identifiers
125+
Container images are configured using parameters passed at runtime (such as those above). These parameters are separated by a colon and indicate `<external>:<internal>` respectively. For example, `-p 8080:80` would expose port `80` from inside the container to be accessible from the host's IP on port `8080` outside the container.
81126

82-
Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
127+
| Parameter | Function |
128+
| :----: | --- |
129+
| `-p 8080` | WebUI |
130+
| `-p 6144` | Domoticz communication port. |
131+
| `-p 1443` | Domoticz communication port. |
132+
| `-e PUID=1001` | for UserID - see below for explanation |
133+
| `-e PGID=1001` | for GroupID - see below for explanation |
134+
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
135+
| `-v /config` | Where Domoticz stores config files and data. |
136+
| `--device <path to device>` | For passing through USB devices. |
83137

84-
In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:
138+
## User / Group Identifiers
139+
140+
When using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`.
141+
142+
Ensure any volume directories on the host are owned by the same user you specify and any permissions issues will vanish like magic.
143+
144+
In this instance `PUID=1001` and `PGID=1001`, to find yours use `id user` as below:
85145

86146
```
87-
$ id <dockeruser>
147+
$ id username
88148
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
89149
```
90150

91-
## Setting up the application
92151

93-
To configure Domoticz, go to the IP of your docker host on the port you configured (default 8080), and add your hardware in Setup > Hardware.
94-
The user manual is available at [www.domoticz.com][appurl]
152+
&nbsp;
153+
## Application Setup
95154

96-
## Info
155+
To configure Domoticz, go to the IP of your docker host on the port you configured (default 8080), and add your hardware in Setup > Hardware.
156+
The user manual is available at [www.domoticz.com](https://www.domoticz.com)
97157

98-
* Shell access whilst the container is running: `docker exec -it domoticz /bin/bash`
99-
* To monitor the logs of the container in realtime: `docker logs -f domoticz`
100158

101-
* container version number
102159

103-
`docker inspect -f '{{ index .Config.Labels "build_version" }}' domoticz`
160+
## Support Info
104161

162+
* Shell access whilst the container is running: `docker exec -it domoticz /bin/bash`
163+
* To monitor the logs of the container in realtime: `docker logs -f domoticz`
164+
* container version number
165+
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' domoticz`
105166
* image version number
106-
107-
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/domoticz`
167+
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/domoticz`
168+
169+
## Updating Info
170+
171+
Most of our images are static, versioned, and require an image update and container recreation to update the app inside. With some exceptions (ie. nextcloud, plex), we do not recommend or support updating apps inside the container. Please consult the [Application Setup](#application-setup) section above to see if it is recommended for the image.
172+
173+
Below are the instructions for updating containers:
174+
175+
### Via Docker Run/Create
176+
* Update the image: `docker pull linuxserver/domoticz`
177+
* Stop the running container: `docker stop domoticz`
178+
* Delete the container: `docker rm domoticz`
179+
* Recreate a new container with the same docker create parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
180+
* Start the new container: `docker start domoticz`
181+
* You can also remove the old dangling images: `docker image prune`
182+
183+
### Via Docker Compose
184+
* Update the image: `docker-compose pull linuxserver/domoticz`
185+
* Let compose update containers as necessary: `docker-compose up -d`
186+
* You can also remove the old dangling images: `docker image prune`
108187

109188
## Versions
110189

111-
+ **16.01.19:** Rebase to Alpine 3.8, add pipeline logic and multi arch, modify tagging to stable and latest.
112-
+ **02.07.18:** Add openssh package.
113-
+ **01.07.18:** Fix backup/restore in webgui.
114-
+ **03.04.18:** Add dependencies for BroadlinkRM2 plugin.
115-
+ **20.01.18:** Move telldus core to repo to prevent build fail when source site goes down.
116-
+ **18.01.18:** Remove logging to syslog in the run command to prevent double logging.
117-
+ **04.01.18:** Deprecate cpu_core routine lack of scaling.
118-
+ **08.12.17:** Rebase to alpine 3.7.
119-
+ **26.11.17:** Use cpu core counting routine to speed up build time.
120-
+ **28.05.17:** Rebase to alpine 3.6.
121-
+ **26.02.17:** Add curl and replace openssl with libressl.
122-
+ **11.02.17:** Update README.
123-
+ **03.01.17:** Initial Release.
190+
* **11.02.19:** - Add pipeline logic and multi arch.
191+
* **02.07.18:** - Add openssh package.
192+
* **01.07.18:** - Fix backup/restore in webgui.
193+
* **03.04.18:** - Add dependencies for BroadlinkRM2 plugin.
194+
* **20.01.18:** - Move telldus core to repo to prevent build fail when source site goes down.
195+
* **18.01.18:** - Remove logging to syslog in the run command to prevent double logging.
196+
* **04.01.18:** - Deprecate cpu_core routine lack of scaling.
197+
* **08.12.17:** - Rebase to alpine 3.7.
198+
* **26.11.17:** - Use cpu core counting routine to speed up build time.
199+
* **28.05.17:** - Rebase to alpine 3.6.
200+
* **26.02.17:** - Add curl and replace openssl with libressl.
201+
* **11.02.17:** - Update README.
202+
* **03.01.17:** - Initial Release.

jenkins-vars.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ repo_vars:
2323
- CI_WEB='true'
2424
- CI_PORT='8080'
2525
- CI_SSL='false'
26-
- CI_DELAY='240'
27-
- CI_DOCKERENV='TZ=US/Pacific'
26+
- CI_DELAY='120'
27+
- CI_DOCKERENV='TEST_RUN=true'
2828
- CI_AUTH='user:password'
2929
- CI_WEBPATH=''

0 commit comments

Comments
 (0)