Skip to content

Commit 0eda754

Browse files
Bot Updating Templated Files
1 parent 6ab81a1 commit 0eda754

File tree

5 files changed

+79
-43
lines changed

5 files changed

+79
-43
lines changed

.github/ISSUE_TEMPLATE.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
[linuxserverurl]: https://linuxserver.io
22
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
33

4-
If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support.
4+
<!--- If you are new to Docker or this application our issue tracker is **ONLY** used for reporting bugs or requesting features. Please use [our discord server](https://discord.gg/YWrKVTn) for general support. --->
5+
6+
<!--- If this acts as a feature request please ask yourself if this modification is something the whole userbase will benefit from --->
7+
<!--- If this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
58

69
<!--- Provide a general summary of the issue in the Title above -->
710

@@ -22,9 +25,10 @@ If you are new to Docker or this application our issue tracker is **ONLY** used
2225
4.
2326

2427
## Environment
25-
**OS:**
26-
**CPU architecture:** x86_64/arm32/arm64
27-
**How docker service was installed:**
28+
**OS:**
29+
**CPU architecture:** x86_64/arm32/arm64
30+
**How docker service was installed:**
31+
<!--- ie. from the official docker repo, from the distro repo, nas OS provided, etc. -->
2832
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
2933

3034
## Command used to create docker container (run/create/compose/screenshot)

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
[linuxserverurl]: https://linuxserver.io
44
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
5-
5+
66

77
<!--- Before submitting a pull request please check the following -->
88

9-
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR -->
9+
<!--- If this is a fix for a typo in code or documentation in the README please file an issue and let us sort it out we do not need a PR -->
1010
<!--- Ask yourself if this modification is something the whole userbase will benefit from, if this is a specific change for corner case functionality or plugins please look at making a Docker Mod or local script https://blog.linuxserver.io/2019/09/14/customizing-our-containers/ -->
1111
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
1212
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
@@ -21,7 +21,11 @@
2121

2222
------------------------------
2323

24-
We welcome all PR’s though this doesn’t guarantee it will be accepted.
24+
- [ ] I have read the [contributing](https://github.com/linuxserver/docker-duckdns/blob/master/.github/CONTRIBUTING.md) guideline and understand that I have made the correct modifications
25+
26+
------------------------------
27+
28+
<!--- We welcome all PR’s though this doesn’t guarantee it will be accepted. -->
2529

2630
## Description:
2731
<!--- Describe your changes in detail -->

.github/workflows/greetings.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@ jobs:
88
steps:
99
- uses: actions/first-interaction@v1
1010
with:
11-
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-duckdns/.github/ISSUE_TEMPLATE.md)!'
12-
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-duckdns/.github/PULL_REQUEST_TEMPLATE.md)!'
11+
issue-message: 'Thanks for opening your first issue here! Be sure to follow the [issue template](https://github.com/linuxserver/docker-duckdns/blob/master/.github/ISSUE_TEMPLATE.md)!'
12+
pr-message: 'Thanks for opening this pull request! Be sure to follow the [pull request template](https://github.com/linuxserver/docker-duckdns/blob/master/.github/PULL_REQUEST_TEMPLATE.md)!'
1313
repo-token: ${{ secrets.GITHUB_TOKEN }}

Jenkinsfile

Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ pipeline {
5555
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
5656
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
5757
env.PULL_REQUEST = env.CHANGE_ID
58-
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./root/donate.txt'
58+
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/CONTRIBUTING.md ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md ./.github/workflows/greetings.yml ./.github/workflows/stale.yml ./root/donate.txt'
5959
}
6060
script{
6161
env.LS_RELEASE_NUMBER = sh(
@@ -134,6 +134,7 @@ pipeline {
134134
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
135135
}
136136
env.META_TAG = env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
137+
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
137138
}
138139
}
139140
}
@@ -154,6 +155,7 @@ pipeline {
154155
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
155156
}
156157
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-dev-' + env.COMMIT_SHA
158+
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
157159
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DEV_DOCKERHUB_IMAGE + '/tags/'
158160
}
159161
}
@@ -174,6 +176,7 @@ pipeline {
174176
env.CI_TAGS = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
175177
}
176178
env.META_TAG = env.EXT_RELEASE_CLEAN + '-pkg-' + env.PACKAGE_TAG + '-pr-' + env.PULL_REQUEST
179+
env.EXT_RELEASE_TAG = 'version-' + env.EXT_RELEASE_CLEAN
177180
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/pull/' + env.PULL_REQUEST
178181
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.PR_DOCKERHUB_IMAGE + '/tags/'
179182
}
@@ -541,15 +544,18 @@ pipeline {
541544
for PUSHIMAGE in "${GITHUBIMAGE}" "${GITLABIMAGE}" "${IMAGE}"; do
542545
docker tag ${IMAGE}:${META_TAG} ${PUSHIMAGE}:${META_TAG}
543546
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:latest
547+
docker tag ${PUSHIMAGE}:${META_TAG} ${PUSHIMAGE}:${EXT_RELEASE_TAG}
544548
docker push ${PUSHIMAGE}:latest
545549
docker push ${PUSHIMAGE}:${META_TAG}
550+
docker push ${PUSHIMAGE}:${EXT_RELEASE_TAG}
546551
done
547552
'''
548553
}
549554
sh '''#! /bin/bash
550555
for DELETEIMAGE in "${GITHUBIMAGE}" "{GITLABIMAGE}" "${IMAGE}"; do
551556
docker rmi \
552557
${DELETEIMAGE}:${META_TAG} \
558+
${DELETEIMAGE}:${EXT_RELEASE_TAG} \
553559
${DELETEIMAGE}:latest || :
554560
done
555561
'''
@@ -590,12 +596,18 @@ pipeline {
590596
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-latest
591597
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-latest
592598
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-latest
599+
docker tag ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
600+
docker tag ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
601+
docker tag ${MANIFESTIMAGE}:arm64v8-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
593602
docker push ${MANIFESTIMAGE}:amd64-${META_TAG}
594603
docker push ${MANIFESTIMAGE}:arm32v7-${META_TAG}
595604
docker push ${MANIFESTIMAGE}:arm64v8-${META_TAG}
596605
docker push ${MANIFESTIMAGE}:amd64-latest
597606
docker push ${MANIFESTIMAGE}:arm32v7-latest
598607
docker push ${MANIFESTIMAGE}:arm64v8-latest
608+
docker push ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG}
609+
docker push ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG}
610+
docker push ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
599611
docker manifest push --purge ${MANIFESTIMAGE}:latest || :
600612
docker manifest create ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:amd64-latest ${MANIFESTIMAGE}:arm32v7-latest ${MANIFESTIMAGE}:arm64v8-latest
601613
docker manifest annotate ${MANIFESTIMAGE}:latest ${MANIFESTIMAGE}:arm32v7-latest --os linux --arch arm
@@ -604,8 +616,12 @@ pipeline {
604616
docker manifest create ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:amd64-${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG}
605617
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm32v7-${META_TAG} --os linux --arch arm
606618
docker manifest annotate ${MANIFESTIMAGE}:${META_TAG} ${MANIFESTIMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8
619+
docker manifest create ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:amd64-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG}
620+
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm32v7-${EXT_RELEASE_TAG} --os linux --arch arm
621+
docker manifest annotate ${MANIFESTIMAGE}:${EXT_RELEASE_TAG} ${MANIFESTIMAGE}:arm64v8-${EXT_RELEASE_TAG} --os linux --arch arm64 --variant v8
607622
docker manifest push --purge ${MANIFESTIMAGE}:latest
608623
docker manifest push --purge ${MANIFESTIMAGE}:${META_TAG}
624+
docker manifest push --purge ${MANIFESTIMAGE}:${EXT_RELEASE_TAG}
609625
done
610626
docker tag ${IMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${META_TAG}
611627
docker tag ${IMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${META_TAG}
@@ -614,13 +630,21 @@ pipeline {
614630
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${META_TAG}
615631
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-latest
616632
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-latest
633+
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:amd64-${EXT_RELEASE_TAG}
634+
docker tag ${GITHUBIMAGE}:amd64-${META_TAG} ${GITHUBIMAGE}:${EXT_RELEASE_TAG}
635+
docker tag ${GITHUBIMAGE}:arm32v7-${META_TAG} ${GITHUBIMAGE}:arm32v7-${EXT_RELEASE_TAG}
636+
docker tag ${GITHUBIMAGE}:arm64v8-${META_TAG} ${GITHUBIMAGE}:arm64v8-${EXT_RELEASE_TAG}
617637
docker push ${GITHUBIMAGE}:amd64-${META_TAG}
618638
docker push ${GITHUBIMAGE}:arm32v7-${META_TAG}
619639
docker push ${GITHUBIMAGE}:arm64v8-${META_TAG}
620640
docker push ${GITHUBIMAGE}:latest
621641
docker push ${GITHUBIMAGE}:${META_TAG}
622642
docker push ${GITHUBIMAGE}:arm32v7-latest
623643
docker push ${GITHUBIMAGE}:arm64v8-latest
644+
docker push ${GITHUBIMAGE}:${EXT_RELEASE_TAG}
645+
docker push ${GITHUBIMAGE}:amd64-${EXT_RELEASE_TAG}
646+
docker push ${GITHUBIMAGE}:arm32v7-${EXT_RELEASE_TAG}
647+
docker push ${GITHUBIMAGE}:arm64v8-${EXT_RELEASE_TAG}
624648
'''
625649
}
626650
sh '''#! /bin/bash
@@ -689,7 +713,7 @@ pipeline {
689713
set -e
690714
TEMPDIR=$(mktemp -d)
691715
docker pull linuxserver/jenkins-builder:latest
692-
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
716+
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH="${BRANCH_NAME}" -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
693717
docker pull lsiodev/readme-sync
694718
docker run --rm=true \
695719
-e DOCKERHUB_USERNAME=$DOCKERUSER \

README.md

Lines changed: 36 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
<!-- DO NOT EDIT THIS FILE MANUALLY -->
2+
<!-- Please read the CONTRIBUTING.md -->
3+
14
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
25

36
[![Blog](https://img.shields.io/static/v1.svg?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=linuxserver.io&message=Blog)](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
@@ -58,28 +61,11 @@ The architectures supported by this image are:
5861

5962
Here are some example snippets to help you get started creating a container.
6063

61-
### docker
62-
63-
```
64-
docker create \
65-
--name=duckdns \
66-
-e PUID=1000 `#optional` \
67-
-e PGID=1000 `#optional` \
68-
-e TZ=Europe/London \
69-
-e SUBDOMAINS=subdomain1,subdomain2 \
70-
-e TOKEN=token \
71-
-e LOG_FILE=false `#optional` \
72-
-v /path/to/appdata/config:/config `#optional` \
73-
--restart unless-stopped \
74-
linuxserver/duckdns
75-
```
76-
77-
78-
### docker-compose
64+
### docker-compose ([recommended](https://docs.linuxserver.io/general/docker-compose))
7965

8066
Compatible with docker-compose v2 schemas.
8167

82-
```
68+
```yaml
8369
---
8470
version: "2.1"
8571
services:
@@ -98,6 +84,23 @@ services:
9884
restart: unless-stopped
9985
```
10086
87+
### docker cli
88+
89+
```
90+
docker run -d \
91+
--name=duckdns \
92+
-e PUID=1000 `#optional` \
93+
-e PGID=1000 `#optional` \
94+
-e TZ=Europe/London \
95+
-e SUBDOMAINS=subdomain1,subdomain2 \
96+
-e TOKEN=token \
97+
-e LOG_FILE=false `#optional` \
98+
-v /path/to/appdata/config:/config `#optional` \
99+
--restart unless-stopped \
100+
linuxserver/duckdns
101+
```
102+
103+
101104
## Parameters
102105

103106
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.
@@ -153,9 +156,9 @@ You only need to set the PUID and PGID variables if you are mounting the /config
153156

154157

155158
## Docker Mods
156-
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=mods&query=%24.mods%5B%27duckdns%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=duckdns "view available mods for this container.")
159+
[![Docker Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=duckdns&query=%24.mods%5B%27duckdns%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=duckdns "view available mods for this container.") [![Docker Universal Mods](https://img.shields.io/badge/dynamic/yaml?color=94398d&labelColor=555555&logoColor=ffffff&style=for-the-badge&label=universal&query=%24.mods%5B%27universal%27%5D.mod_count&url=https%3A%2F%2Fraw.githubusercontent.com%2Flinuxserver%2Fdocker-mods%2Fmaster%2Fmod-list.yml)](https://mods.linuxserver.io/?mod=universal "view available universal mods.")
157160

158-
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) can be accessed via the dynamic badge above.
161+
We publish various [Docker Mods](https://github.com/linuxserver/docker-mods) to enable additional functionality within the containers. The list of Mods available for this image (if any) as well as universal mods that can be applied to any one of our images can be accessed via the dynamic badges above.
159162

160163

161164
## Support Info
@@ -173,33 +176,34 @@ Most of our images are static, versioned, and require an image update and contai
173176

174177
Below are the instructions for updating containers:
175178

176-
### Via Docker Run/Create
177-
* Update the image: `docker pull linuxserver/duckdns`
178-
* Stop the running container: `docker stop duckdns`
179-
* Delete the container: `docker rm duckdns`
180-
* 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)
181-
* Start the new container: `docker start duckdns`
182-
* You can also remove the old dangling images: `docker image prune`
183-
184179
### Via Docker Compose
185180
* Update all images: `docker-compose pull`
186181
* or update a single image: `docker-compose pull duckdns`
187182
* Let compose update all containers as necessary: `docker-compose up -d`
188183
* or update a single container: `docker-compose up -d duckdns`
189184
* You can also remove the old dangling images: `docker image prune`
190185

191-
### Via Watchtower auto-updater (especially useful if you don't remember the original parameters)
186+
### Via Docker Run
187+
* Update the image: `docker pull linuxserver/duckdns`
188+
* Stop the running container: `docker stop duckdns`
189+
* Delete the container: `docker rm duckdns`
190+
* Recreate a new container with the same docker run parameters as instructed above (if mapped correctly to a host folder, your `/config` folder and settings will be preserved)
191+
* You can also remove the old dangling images: `docker image prune`
192+
193+
### Via Watchtower auto-updater (only use if you don't remember the original parameters)
192194
* Pull the latest image at its tag and replace it with the same env variables in one run:
193195
```
194196
docker run --rm \
195197
-v /var/run/docker.sock:/var/run/docker.sock \
196198
containrrr/watchtower \
197199
--run-once duckdns
198200
```
201+
* You can also remove the old dangling images: `docker image prune`
199202

200-
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using Docker Compose.
203+
**Note:** We do not endorse the use of Watchtower as a solution to automated updates of existing Docker containers. In fact we generally discourage automated updates. However, this is a useful tool for one-time manual updates of containers where you have forgotten the original parameters. In the long term, we highly recommend using [Docker Compose](https://docs.linuxserver.io/general/docker-compose).
201204

202-
* You can also remove the old dangling images: `docker image prune`
205+
### Image Update Notifications - Diun (Docker Image Update Notifier)
206+
* We recommend [Diun](https://crazymax.dev/diun/) for update notifications. Other tools that automatically update containers unattended are not recommended or supported.
203207

204208
## Building locally
205209

0 commit comments

Comments
 (0)