mirror of
https://github.com/linuxserver/docker-heimdall.git
synced 2026-04-07 19:58:11 +09:00
Compare commits
82 Commits
developmen
...
2.2.2-ls58
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c1f3838437 | ||
|
|
a115fbfd53 | ||
|
|
f6615088b1 | ||
|
|
8fd28ab87e | ||
|
|
d1fb1fdb0d | ||
|
|
85a6be7169 | ||
|
|
459218f07f | ||
|
|
d7840dc802 | ||
|
|
ab62b2269e | ||
|
|
b3e5cb11cb | ||
|
|
42468518a5 | ||
|
|
f6abce49b8 | ||
|
|
aaf40620c5 | ||
|
|
a03a8da188 | ||
|
|
4138ee793e | ||
|
|
b6825c8911 | ||
|
|
45d80c2217 | ||
|
|
0cd9f4da50 | ||
|
|
9cd399f988 | ||
|
|
99cd0e8d5a | ||
|
|
9932c9fdba | ||
|
|
892bcf2e72 | ||
|
|
db958c7ec0 | ||
|
|
9830aec70e | ||
|
|
c4c57fcaf9 | ||
|
|
0c0663a5ab | ||
|
|
e73bef69c8 | ||
|
|
cadf51061f | ||
|
|
723c0c7af0 | ||
|
|
a157f54f20 | ||
|
|
5ad4d9489f | ||
|
|
c3b57f9aa2 | ||
|
|
2ce4be8c28 | ||
|
|
54e59d820e | ||
|
|
b0797041a2 | ||
|
|
2552eaa416 | ||
|
|
5e011ac2da | ||
|
|
792e4c5a61 | ||
|
|
c69e0361ee | ||
|
|
8f8288a46f | ||
|
|
9fb66573e7 | ||
|
|
72e9fed104 | ||
|
|
2994d28230 | ||
|
|
836e553c12 | ||
|
|
0c4526f0f8 | ||
|
|
3500eab73b | ||
|
|
4f251c4f7c | ||
|
|
ca39143c95 | ||
|
|
0ca99bae7d | ||
|
|
6c4da80342 | ||
|
|
04fe5275d9 | ||
|
|
9b7d2285b7 | ||
|
|
3bfdf1b530 | ||
|
|
51ba5af37b | ||
|
|
019d4d7a62 | ||
|
|
85b139e67f | ||
|
|
0fff1e5453 | ||
|
|
ae66ea597c | ||
|
|
273c4f86e9 | ||
|
|
ff93e822b2 | ||
|
|
60ebf428bb | ||
|
|
f3f5231a66 | ||
|
|
bcb72552cf | ||
|
|
85afafa585 | ||
|
|
6b7de48dbf | ||
|
|
aedecabd37 | ||
|
|
1d9a9b84b1 | ||
|
|
08ef032b3c | ||
|
|
64a7009f83 | ||
|
|
90e8c4c608 | ||
|
|
84a05313d9 | ||
|
|
7f8b28e490 | ||
|
|
f7ac22decf | ||
|
|
e41f0eb794 | ||
|
|
d25b2b563e | ||
|
|
59fdc51086 | ||
|
|
a703cb7e13 | ||
|
|
6b4d8c8f85 | ||
|
|
7dba595954 | ||
|
|
a87dcde2cd | ||
|
|
082195f95e | ||
|
|
d7f12610c6 |
1
.github/FUNDING.yml
vendored
Executable file
1
.github/FUNDING.yml
vendored
Executable file
@@ -0,0 +1 @@
|
|||||||
|
open_collective: linuxserver
|
||||||
56
Dockerfile
56
Dockerfile
@@ -1,4 +1,3 @@
|
|||||||
FROM lsiobase/cloud9:files-alpine as c9files
|
|
||||||
FROM lsiobase/nginx:3.10
|
FROM lsiobase/nginx:3.10
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
@@ -11,33 +10,11 @@ LABEL maintainer="aptalca"
|
|||||||
# environment settings
|
# environment settings
|
||||||
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
||||||
|
|
||||||
# cloud9
|
|
||||||
COPY --from=c9files /buildout/ /
|
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install dev packages ****" && \
|
|
||||||
apk add --no-cache \
|
|
||||||
c-ares \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gnupg \
|
|
||||||
http-parser \
|
|
||||||
libevent \
|
|
||||||
libevent \
|
|
||||||
libstdc++ \
|
|
||||||
libuv \
|
|
||||||
sudo && \
|
|
||||||
echo "**** user perms ****" && \
|
|
||||||
usermod -aG wheel \
|
|
||||||
abc && \
|
|
||||||
echo "auth sufficient pam_shells.so" > /etc/pam.d/chsh && \
|
|
||||||
chsh abc -s /bin/bash && \
|
|
||||||
sed -e \
|
|
||||||
's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' \
|
|
||||||
-i /etc/sudoers && \
|
|
||||||
echo "**** install runtime packages ****" && \
|
echo "**** install runtime packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache --upgrade \
|
||||||
curl \
|
curl \
|
||||||
|
nginx \
|
||||||
php7-ctype \
|
php7-ctype \
|
||||||
php7-pdo_sqlite \
|
php7-pdo_sqlite \
|
||||||
php7-tokenizer \
|
php7-tokenizer \
|
||||||
@@ -45,27 +22,14 @@ RUN \
|
|||||||
tar && \
|
tar && \
|
||||||
echo "**** install heimdall ****" && \
|
echo "**** install heimdall ****" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/c9sdk/build/standalone \
|
/heimdall && \
|
||||||
/var/www/localhost/heimdall && \
|
if [ -z ${HEIMDALL_RELEASE+x} ]; then \
|
||||||
git clone \
|
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
|
||||||
https://github.com/linuxserver/Heimdall.git \
|
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||||
/var/www/localhost/heimdall && \
|
fi && \
|
||||||
echo "**** dev setup and permissions ****" && \
|
curl -o \
|
||||||
echo -e \
|
/heimdall/heimdall.tar.gz -L \
|
||||||
'\n# Heimdall user authorization\nfastcgi_param PHP_AUTH_USER $remote_user;\nfastcgi_param PHP_AUTH_PW $http_authorization;' >> \
|
"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \
|
||||||
/etc/nginx/fastcgi_params && \
|
|
||||||
cp \
|
|
||||||
/var/www/localhost/heimdall/.env.example \
|
|
||||||
/var/www/localhost/heimdall/.env && \
|
|
||||||
php /var/www/localhost/heimdall/artisan key:generate && \
|
|
||||||
sed -i \
|
|
||||||
's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' \
|
|
||||||
/var/www/localhost/heimdall/.env && \
|
|
||||||
chown -R abc:abc \
|
|
||||||
/c9sdk/build/standalone \
|
|
||||||
/c9bins \
|
|
||||||
/config \
|
|
||||||
/var/www/localhost/heimdall && \
|
|
||||||
echo "**** cleanup ****" && \
|
echo "**** cleanup ****" && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
/tmp/*
|
/tmp/*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
FROM lsiobase/cloud9:arm64v8-files-alpine as c9files
|
|
||||||
FROM lsiobase/nginx:arm64v8-3.10
|
FROM lsiobase/nginx:arm64v8-3.10
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
@@ -11,33 +10,11 @@ LABEL maintainer="aptalca"
|
|||||||
# environment settings
|
# environment settings
|
||||||
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
||||||
|
|
||||||
# cloud9
|
|
||||||
COPY --from=c9files /buildout/ /
|
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install dev packages ****" && \
|
|
||||||
apk add --no-cache \
|
|
||||||
c-ares \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gnupg \
|
|
||||||
http-parser \
|
|
||||||
libevent \
|
|
||||||
libevent \
|
|
||||||
libstdc++ \
|
|
||||||
libuv \
|
|
||||||
sudo && \
|
|
||||||
echo "**** user perms ****" && \
|
|
||||||
usermod -aG wheel \
|
|
||||||
abc && \
|
|
||||||
echo "auth sufficient pam_shells.so" > /etc/pam.d/chsh && \
|
|
||||||
chsh abc -s /bin/bash && \
|
|
||||||
sed -e \
|
|
||||||
's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' \
|
|
||||||
-i /etc/sudoers && \
|
|
||||||
echo "**** install runtime packages ****" && \
|
echo "**** install runtime packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache --upgrade \
|
||||||
curl \
|
curl \
|
||||||
|
nginx \
|
||||||
php7-ctype \
|
php7-ctype \
|
||||||
php7-pdo_sqlite \
|
php7-pdo_sqlite \
|
||||||
php7-tokenizer \
|
php7-tokenizer \
|
||||||
@@ -45,27 +22,14 @@ RUN \
|
|||||||
tar && \
|
tar && \
|
||||||
echo "**** install heimdall ****" && \
|
echo "**** install heimdall ****" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/c9sdk/build/standalone \
|
/heimdall && \
|
||||||
/var/www/localhost/heimdall && \
|
if [ -z ${HEIMDALL_RELEASE+x} ]; then \
|
||||||
git clone \
|
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
|
||||||
https://github.com/linuxserver/Heimdall.git \
|
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||||
/var/www/localhost/heimdall && \
|
fi && \
|
||||||
echo "**** dev setup and permissions ****" && \
|
curl -o \
|
||||||
echo -e \
|
/heimdall/heimdall.tar.gz -L \
|
||||||
'\n# Heimdall user authorization\nfastcgi_param PHP_AUTH_USER $remote_user;\nfastcgi_param PHP_AUTH_PW $http_authorization;' >> \
|
"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \
|
||||||
/etc/nginx/fastcgi_params && \
|
|
||||||
cp \
|
|
||||||
/var/www/localhost/heimdall/.env.example \
|
|
||||||
/var/www/localhost/heimdall/.env && \
|
|
||||||
php /var/www/localhost/heimdall/artisan key:generate && \
|
|
||||||
sed -i \
|
|
||||||
's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' \
|
|
||||||
/var/www/localhost/heimdall/.env && \
|
|
||||||
chown -R abc:abc \
|
|
||||||
/c9sdk/build/standalone \
|
|
||||||
/c9bins \
|
|
||||||
/config \
|
|
||||||
/var/www/localhost/heimdall && \
|
|
||||||
echo "**** cleanup ****" && \
|
echo "**** cleanup ****" && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
/tmp/*
|
/tmp/*
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
FROM lsiobase/cloud9:arm32v7-files-alpine as c9files
|
|
||||||
FROM lsiobase/nginx:arm32v7-3.10
|
FROM lsiobase/nginx:arm32v7-3.10
|
||||||
|
|
||||||
# set version label
|
# set version label
|
||||||
@@ -11,33 +10,11 @@ LABEL maintainer="aptalca"
|
|||||||
# environment settings
|
# environment settings
|
||||||
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
||||||
|
|
||||||
# cloud9
|
|
||||||
COPY --from=c9files /buildout/ /
|
|
||||||
|
|
||||||
RUN \
|
RUN \
|
||||||
echo "**** install dev packages ****" && \
|
|
||||||
apk add --no-cache \
|
|
||||||
c-ares \
|
|
||||||
curl \
|
|
||||||
git \
|
|
||||||
gnupg \
|
|
||||||
http-parser \
|
|
||||||
libevent \
|
|
||||||
libevent \
|
|
||||||
libstdc++ \
|
|
||||||
libuv \
|
|
||||||
sudo && \
|
|
||||||
echo "**** user perms ****" && \
|
|
||||||
usermod -aG wheel \
|
|
||||||
abc && \
|
|
||||||
echo "auth sufficient pam_shells.so" > /etc/pam.d/chsh && \
|
|
||||||
chsh abc -s /bin/bash && \
|
|
||||||
sed -e \
|
|
||||||
's/# %wheel ALL=(ALL) NOPASSWD: ALL/%wheel ALL=(ALL) NOPASSWD: ALL/g' \
|
|
||||||
-i /etc/sudoers && \
|
|
||||||
echo "**** install runtime packages ****" && \
|
echo "**** install runtime packages ****" && \
|
||||||
apk add --no-cache \
|
apk add --no-cache --upgrade \
|
||||||
curl \
|
curl \
|
||||||
|
nginx \
|
||||||
php7-ctype \
|
php7-ctype \
|
||||||
php7-pdo_sqlite \
|
php7-pdo_sqlite \
|
||||||
php7-tokenizer \
|
php7-tokenizer \
|
||||||
@@ -45,27 +22,14 @@ RUN \
|
|||||||
tar && \
|
tar && \
|
||||||
echo "**** install heimdall ****" && \
|
echo "**** install heimdall ****" && \
|
||||||
mkdir -p \
|
mkdir -p \
|
||||||
/c9sdk/build/standalone \
|
/heimdall && \
|
||||||
/var/www/localhost/heimdall && \
|
if [ -z ${HEIMDALL_RELEASE+x} ]; then \
|
||||||
git clone \
|
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
|
||||||
https://github.com/linuxserver/Heimdall.git \
|
| awk '/tag_name/{print $4;exit}' FS='[""]'); \
|
||||||
/var/www/localhost/heimdall && \
|
fi && \
|
||||||
echo "**** dev setup and permissions ****" && \
|
curl -o \
|
||||||
echo -e \
|
/heimdall/heimdall.tar.gz -L \
|
||||||
'\n# Heimdall user authorization\nfastcgi_param PHP_AUTH_USER $remote_user;\nfastcgi_param PHP_AUTH_PW $http_authorization;' >> \
|
"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \
|
||||||
/etc/nginx/fastcgi_params && \
|
|
||||||
cp \
|
|
||||||
/var/www/localhost/heimdall/.env.example \
|
|
||||||
/var/www/localhost/heimdall/.env && \
|
|
||||||
php /var/www/localhost/heimdall/artisan key:generate && \
|
|
||||||
sed -i \
|
|
||||||
's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' \
|
|
||||||
/var/www/localhost/heimdall/.env && \
|
|
||||||
chown -R abc:abc \
|
|
||||||
/c9sdk/build/standalone \
|
|
||||||
/c9bins \
|
|
||||||
/config \
|
|
||||||
/var/www/localhost/heimdall && \
|
|
||||||
echo "**** cleanup ****" && \
|
echo "**** cleanup ****" && \
|
||||||
rm -rf \
|
rm -rf \
|
||||||
/tmp/*
|
/tmp/*
|
||||||
|
|||||||
97
Jenkinsfile
vendored
97
Jenkinsfile
vendored
@@ -38,7 +38,7 @@ pipeline {
|
|||||||
script{
|
script{
|
||||||
env.EXIT_STATUS = ''
|
env.EXIT_STATUS = ''
|
||||||
env.LS_RELEASE = sh(
|
env.LS_RELEASE = sh(
|
||||||
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':development 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
script: '''docker run --rm alexeiled/skopeo sh -c 'skopeo inspect docker://docker.io/'${DOCKERHUB_IMAGE}':latest 2>/dev/null' | jq -r '.Labels.build_version' | awk '{print $3}' | grep '\\-ls' || : ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
env.LS_RELEASE_NOTES = sh(
|
env.LS_RELEASE_NOTES = sh(
|
||||||
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
script: '''cat readme-vars.yml | awk -F \\" '/date: "[0-9][0-9].[0-9][0-9].[0-9][0-9]:/ {print $4;exit;}' | sed -E ':a;N;$!ba;s/\\r{0,1}\\n/\\\\n/g' ''',
|
||||||
@@ -60,6 +60,14 @@ pipeline {
|
|||||||
echo none
|
echo none
|
||||||
fi''',
|
fi''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
|
env.FUNDING_TAG = sh(
|
||||||
|
script: '''#!/bin/bash
|
||||||
|
if [ -e ./.github/FUNDING.yml ] ; then
|
||||||
|
cat ./.github/FUNDING.yml | md5sum | cut -c1-8
|
||||||
|
else
|
||||||
|
echo none
|
||||||
|
fi''',
|
||||||
|
returnStdout: true).trim()
|
||||||
}
|
}
|
||||||
script{
|
script{
|
||||||
env.LS_RELEASE_NUMBER = sh(
|
env.LS_RELEASE_NUMBER = sh(
|
||||||
@@ -102,21 +110,21 @@ pipeline {
|
|||||||
/* ########################
|
/* ########################
|
||||||
External Release Tagging
|
External Release Tagging
|
||||||
######################## */
|
######################## */
|
||||||
// If this is a github commit trigger determine the current commit at head
|
// If this is a stable github release use the latest endpoint from github to determine the ext tag
|
||||||
stage("Set ENV github_commit"){
|
stage("Set ENV github_stable"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.EXT_RELEASE = sh(
|
env.EXT_RELEASE = sh(
|
||||||
script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq -r '. | .sha' | cut -c1-8 ''',
|
script: '''curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq -r '. | .tag_name' ''',
|
||||||
returnStdout: true).trim()
|
returnStdout: true).trim()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a github commit trigger Set the external release link
|
// If this is a stable or devel github release generate the link for the build message
|
||||||
stage("Set ENV commit_link"){
|
stage("Set ENV github_link"){
|
||||||
steps{
|
steps{
|
||||||
script{
|
script{
|
||||||
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/commit/' + env.EXT_RELEASE
|
env.RELEASE_LINK = 'https://github.com/' + env.EXT_USER + '/' + env.EXT_REPO + '/releases/tag/' + env.EXT_RELEASE
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -130,10 +138,10 @@ pipeline {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// If this is a development build use live docker endpoints
|
// If this is a master build use live docker endpoints
|
||||||
stage("Set ENV live build"){
|
stage("Set ENV live build"){
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@@ -151,7 +159,7 @@ pipeline {
|
|||||||
// If this is a dev build use dev docker endpoints
|
// If this is a dev build use dev docker endpoints
|
||||||
stage("Set ENV dev build"){
|
stage("Set ENV dev build"){
|
||||||
when {
|
when {
|
||||||
not {branch "development"}
|
not {branch "master"}
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
}
|
}
|
||||||
steps {
|
steps {
|
||||||
@@ -218,7 +226,7 @@ pipeline {
|
|||||||
// Use helper containers to render templated files
|
// Use helper containers to render templated files
|
||||||
stage('Update-Templates') {
|
stage('Update-Templates') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
expression {
|
expression {
|
||||||
env.CONTAINER_NAME != null
|
env.CONTAINER_NAME != null
|
||||||
@@ -229,20 +237,23 @@ pipeline {
|
|||||||
set -e
|
set -e
|
||||||
TEMPDIR=$(mktemp -d)
|
TEMPDIR=$(mktemp -d)
|
||||||
docker pull linuxserver/jenkins-builder:latest
|
docker pull linuxserver/jenkins-builder:latest
|
||||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=development -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
|
||||||
docker pull linuxserver/doc-builder:latest
|
docker pull linuxserver/doc-builder:latest
|
||||||
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=development -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
|
docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=master -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
|
||||||
if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
|
if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
|
||||||
[ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ] || \
|
[ "$(md5sum ${TEMPDIR}/${CONTAINER_NAME}/README.md | awk '{ print $1 }')" != "$(md5sum README.md | awk '{ print $1 }')" ] || \
|
||||||
[ "$(cat ${TEMPDIR}/${LS_REPO}/LICENSE | md5sum | cut -c1-8)" != "${LICENSE_TAG}" ]; then
|
[ "$(cat ${TEMPDIR}/${LS_REPO}/LICENSE | md5sum | cut -c1-8)" != "${LICENSE_TAG}" ] || \
|
||||||
|
[ "$(cat ${TEMPDIR}/${LS_REPO}/.github/FUNDING.yml | md5sum | cut -c1-8)" != "${FUNDING_TAG}" ]; then
|
||||||
mkdir -p ${TEMPDIR}/repo
|
mkdir -p ${TEMPDIR}/repo
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/repo/${LS_REPO}
|
||||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f development
|
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f master
|
||||||
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
|
cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
|
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github
|
||||||
|
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/.github/FUNDING.yml ${TEMPDIR}/repo/${LS_REPO}/.github/FUNDING.yml
|
||||||
cd ${TEMPDIR}/repo/${LS_REPO}/
|
cd ${TEMPDIR}/repo/${LS_REPO}/
|
||||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git add Jenkinsfile README.md LICENSE
|
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git add Jenkinsfile README.md LICENSE ./.github/FUNDING.yml
|
||||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git commit -m 'Bot Updating Templated Files'
|
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git commit -m 'Bot Updating Templated Files'
|
||||||
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/${LS_USER}/${LS_REPO}.git --all
|
||||||
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
echo "true" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
|
||||||
@@ -269,7 +280,7 @@ pipeline {
|
|||||||
// Exit the build if the Templated files were just updated
|
// Exit the build if the Templated files were just updated
|
||||||
stage('Template-exit') {
|
stage('Template-exit') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'FILES_UPDATED', value: 'true'
|
environment name: 'FILES_UPDATED', value: 'true'
|
||||||
expression {
|
expression {
|
||||||
@@ -368,7 +379,7 @@ pipeline {
|
|||||||
// Take the image we just built and dump package versions for comparison
|
// Take the image we just built and dump package versions for comparison
|
||||||
stage('Update-packages') {
|
stage('Update-packages') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
}
|
}
|
||||||
@@ -396,7 +407,7 @@ pipeline {
|
|||||||
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
echo "Package tag sha from current packages in buit container is ${NEW_PACKAGE_TAG} comparing to old ${PACKAGE_TAG} from github"
|
||||||
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
if [ "${NEW_PACKAGE_TAG}" != "${PACKAGE_TAG}" ]; then
|
||||||
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
git clone https://github.com/${LS_USER}/${LS_REPO}.git ${TEMPDIR}/${LS_REPO}
|
||||||
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f development
|
git --git-dir ${TEMPDIR}/${LS_REPO}/.git checkout -f master
|
||||||
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
cp ${TEMPDIR}/package_versions.txt ${TEMPDIR}/${LS_REPO}/
|
||||||
cd ${TEMPDIR}/${LS_REPO}/
|
cd ${TEMPDIR}/${LS_REPO}/
|
||||||
wait
|
wait
|
||||||
@@ -420,7 +431,7 @@ pipeline {
|
|||||||
// Exit the build if the package file was just updated
|
// Exit the build if the package file was just updated
|
||||||
stage('PACKAGE-exit') {
|
stage('PACKAGE-exit') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'true'
|
environment name: 'PACKAGE_UPDATED', value: 'true'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@@ -434,7 +445,7 @@ pipeline {
|
|||||||
// Exit the build if this is just a package check and there are no changes to push
|
// Exit the build if this is just a package check and there are no changes to push
|
||||||
stage('PACKAGECHECK-exit') {
|
stage('PACKAGECHECK-exit') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
environment name: 'CHANGE_ID', value: ''
|
environment name: 'CHANGE_ID', value: ''
|
||||||
environment name: 'PACKAGE_UPDATED', value: 'false'
|
environment name: 'PACKAGE_UPDATED', value: 'false'
|
||||||
environment name: 'EXIT_STATUS', value: ''
|
environment name: 'EXIT_STATUS', value: ''
|
||||||
@@ -519,12 +530,12 @@ pipeline {
|
|||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
echo $DOCKERPASS | docker login -u $DOCKERUSER --password-stdin
|
||||||
'''
|
'''
|
||||||
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:development"
|
sh "docker tag ${IMAGE}:${META_TAG} ${IMAGE}:latest"
|
||||||
sh "docker push ${IMAGE}:development"
|
sh "docker push ${IMAGE}:latest"
|
||||||
sh "docker push ${IMAGE}:${META_TAG}"
|
sh "docker push ${IMAGE}:${META_TAG}"
|
||||||
sh '''docker rmi \
|
sh '''docker rmi \
|
||||||
${IMAGE}:${META_TAG} \
|
${IMAGE}:${META_TAG} \
|
||||||
${IMAGE}:development || :'''
|
${IMAGE}:latest || :'''
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -554,32 +565,32 @@ pipeline {
|
|||||||
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
docker tag lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm32v7-${META_TAG}
|
||||||
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
docker tag lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} ${IMAGE}:arm64v8-${META_TAG}
|
||||||
fi'''
|
fi'''
|
||||||
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-development"
|
sh "docker tag ${IMAGE}:amd64-${META_TAG} ${IMAGE}:amd64-latest"
|
||||||
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-development"
|
sh "docker tag ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm32v7-latest"
|
||||||
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-development"
|
sh "docker tag ${IMAGE}:arm64v8-${META_TAG} ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
sh "docker push ${IMAGE}:amd64-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
|
sh "docker push ${IMAGE}:arm32v7-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
sh "docker push ${IMAGE}:arm64v8-${META_TAG}"
|
||||||
sh "docker push ${IMAGE}:amd64-development"
|
sh "docker push ${IMAGE}:amd64-latest"
|
||||||
sh "docker push ${IMAGE}:arm32v7-development"
|
sh "docker push ${IMAGE}:arm32v7-latest"
|
||||||
sh "docker push ${IMAGE}:arm64v8-development"
|
sh "docker push ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:development || :"
|
sh "docker manifest push --purge ${IMAGE}:latest || :"
|
||||||
sh "docker manifest create ${IMAGE}:development ${IMAGE}:amd64-development ${IMAGE}:arm32v7-development ${IMAGE}:arm64v8-development"
|
sh "docker manifest create ${IMAGE}:latest ${IMAGE}:amd64-latest ${IMAGE}:arm32v7-latest ${IMAGE}:arm64v8-latest"
|
||||||
sh "docker manifest annotate ${IMAGE}:development ${IMAGE}:arm32v7-development --os linux --arch arm"
|
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm32v7-latest --os linux --arch arm"
|
||||||
sh "docker manifest annotate ${IMAGE}:development ${IMAGE}:arm64v8-development --os linux --arch arm64 --variant v8"
|
sh "docker manifest annotate ${IMAGE}:latest ${IMAGE}:arm64v8-latest --os linux --arch arm64 --variant v8"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG} || :"
|
||||||
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
sh "docker manifest create ${IMAGE}:${META_TAG} ${IMAGE}:amd64-${META_TAG} ${IMAGE}:arm32v7-${META_TAG} ${IMAGE}:arm64v8-${META_TAG}"
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
|
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm32v7-${META_TAG} --os linux --arch arm"
|
||||||
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
sh "docker manifest annotate ${IMAGE}:${META_TAG} ${IMAGE}:arm64v8-${META_TAG} --os linux --arch arm64 --variant v8"
|
||||||
sh "docker manifest push --purge ${IMAGE}:development"
|
sh "docker manifest push --purge ${IMAGE}:latest"
|
||||||
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
sh "docker manifest push --purge ${IMAGE}:${META_TAG}"
|
||||||
sh '''docker rmi \
|
sh '''docker rmi \
|
||||||
${IMAGE}:amd64-${META_TAG} \
|
${IMAGE}:amd64-${META_TAG} \
|
||||||
${IMAGE}:amd64-development \
|
${IMAGE}:amd64-latest \
|
||||||
${IMAGE}:arm32v7-${META_TAG} \
|
${IMAGE}:arm32v7-${META_TAG} \
|
||||||
${IMAGE}:arm32v7-development \
|
${IMAGE}:arm32v7-latest \
|
||||||
${IMAGE}:arm64v8-${META_TAG} \
|
${IMAGE}:arm64v8-${META_TAG} \
|
||||||
${IMAGE}:arm64v8-development \
|
${IMAGE}:arm64v8-latest \
|
||||||
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
lsiodev/buildcache:arm32v7-${COMMIT_SHA}-${BUILD_NUMBER} \
|
||||||
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
lsiodev/buildcache:arm64v8-${COMMIT_SHA}-${BUILD_NUMBER} || :'''
|
||||||
}
|
}
|
||||||
@@ -588,7 +599,7 @@ pipeline {
|
|||||||
// If this is a public release tag it in the LS Github
|
// If this is a public release tag it in the LS Github
|
||||||
stage('Github-Tag-Push-Release') {
|
stage('Github-Tag-Push-Release') {
|
||||||
when {
|
when {
|
||||||
branch "development"
|
branch "master"
|
||||||
expression {
|
expression {
|
||||||
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
env.LS_RELEASE != env.EXT_RELEASE_CLEAN + '-ls' + env.LS_TAG_NUMBER
|
||||||
}
|
}
|
||||||
@@ -600,17 +611,17 @@ pipeline {
|
|||||||
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
sh '''curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/git/tags \
|
||||||
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
-d '{"tag":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"object": "'${COMMIT_SHA}'",\
|
"object": "'${COMMIT_SHA}'",\
|
||||||
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to development",\
|
"message": "Tagging Release '${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}' to master",\
|
||||||
"type": "commit",\
|
"type": "commit",\
|
||||||
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
"tagger": {"name": "LinuxServer Jenkins","email": "jenkins@linuxserver.io","date": "'${GITHUB_DATE}'"}}' '''
|
||||||
echo "Pushing New release for Tag"
|
echo "Pushing New release for Tag"
|
||||||
sh '''#! /bin/bash
|
sh '''#! /bin/bash
|
||||||
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/commits/${EXT_GIT_BRANCH} | jq '. | .commit.message' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
curl -s https://api.github.com/repos/${EXT_USER}/${EXT_REPO}/releases/latest | jq '. |.body' | sed 's:^.\\(.*\\).$:\\1:' > releasebody.json
|
||||||
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
echo '{"tag_name":"'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"target_commitish": "development",\
|
"target_commitish": "master",\
|
||||||
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
"name": "'${EXT_RELEASE_CLEAN}'-ls'${LS_TAG_NUMBER}'",\
|
||||||
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
|
"body": "**LinuxServer Changes:**\\n\\n'${LS_RELEASE_NOTES}'\\n**'${EXT_REPO}' Changes:**\\n\\n' > start
|
||||||
printf '","draft": false,"prerelease": true}' >> releasebody.json
|
printf '","draft": false,"prerelease": false}' >> releasebody.json
|
||||||
paste -d'\\0' start releasebody.json > releasebody.json.done
|
paste -d'\\0' start releasebody.json > releasebody.json.done
|
||||||
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
curl -H "Authorization: token ${GITHUB_TOKEN}" -X POST https://api.github.com/repos/${LS_USER}/${LS_REPO}/releases -d @releasebody.json.done'''
|
||||||
}
|
}
|
||||||
|
|||||||
61
README.md
61
README.md
@@ -1,5 +1,12 @@
|
|||||||
[](https://linuxserver.io)
|
[](https://linuxserver.io)
|
||||||
|
|
||||||
|
[](https://blog.linuxserver.io "all the things you can do with our containers including How-To guides, opinions and much more!")
|
||||||
|
[](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
|
||||||
|
[](https://discourse.linuxserver.io "post on our community forum.")
|
||||||
|
[](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
|
||||||
|
[](https://anchor.fm/linuxserverio "on hiatus. Coming back soon (late 2018).")
|
||||||
|
[](https://opencollective.com/linuxserver "please consider helping us by either donating or contributing to our budget")
|
||||||
|
|
||||||
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
|
The [LinuxServer.io](https://linuxserver.io) team brings you another container release featuring :-
|
||||||
|
|
||||||
* regular and timely application updates
|
* regular and timely application updates
|
||||||
@@ -9,17 +16,20 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
|
|||||||
* regular security updates
|
* regular security updates
|
||||||
|
|
||||||
Find us at:
|
Find us at:
|
||||||
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
|
||||||
* [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
|
|
||||||
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
* [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
|
||||||
|
* [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
|
||||||
|
* [Discourse](https://discourse.linuxserver.io) - post on our community forum.
|
||||||
|
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images.
|
||||||
|
* [Podcast](https://anchor.fm/linuxserverio) - on hiatus. Coming back soon (late 2018).
|
||||||
|
* [Open Collective](https://opencollective.com/linuxserver) - please consider helping us by either donating or contributing to our budget
|
||||||
|
|
||||||
# [linuxserver/heimdall](https://github.com/linuxserver/docker-heimdall)
|
# [linuxserver/heimdall](https://github.com/linuxserver/docker-heimdall)
|
||||||
[](https://discord.gg/YWrKVTn)
|
[](https://github.com/linuxserver/docker-heimdall/releases)
|
||||||
[](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
|
[](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
|
||||||
[](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
|
[](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
|
||||||

|
[](https://hub.docker.com/r/linuxserver/heimdall)
|
||||||

|
[](https://hub.docker.com/r/linuxserver/heimdall)
|
||||||
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/job/master/)
|
[](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/job/master/)
|
||||||
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/heimdall/latest/index.html)
|
[](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/heimdall/latest/index.html)
|
||||||
|
|
||||||
[Heimdall](https://heimdall.site) is a way to organise all those links to your most used web sites and web applications in a simple way.
|
[Heimdall](https://heimdall.site) is a way to organise all those links to your most used web sites and web applications in a simple way.
|
||||||
@@ -30,7 +40,7 @@ Why not use it as your browser start page? It even has the ability to include a
|
|||||||
|
|
||||||
## Supported Architectures
|
## Supported Architectures
|
||||||
|
|
||||||
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) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
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) and our announcement [here](https://blog.linuxserver.io/2019/02/21/the-lsio-pipeline-project/).
|
||||||
|
|
||||||
Simply pulling `linuxserver/heimdall` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
Simply pulling `linuxserver/heimdall` should retrieve the correct image for your arch, but you can also pull specific arch images via tags.
|
||||||
|
|
||||||
@@ -42,6 +52,14 @@ The architectures supported by this image are:
|
|||||||
| arm64 | arm64v8-latest |
|
| arm64 | arm64v8-latest |
|
||||||
| armhf | arm32v7-latest |
|
| armhf | arm32v7-latest |
|
||||||
|
|
||||||
|
## Version Tags
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
| Tag | Description |
|
||||||
|
| :----: | --- |
|
||||||
|
| latest | Stable Heimdall releases. |
|
||||||
|
| development | Latest commit from the github master branch. |
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
@@ -62,11 +80,6 @@ docker create \
|
|||||||
linuxserver/heimdall
|
linuxserver/heimdall
|
||||||
```
|
```
|
||||||
|
|
||||||
Using tags, you can switch between the stable releases of Heimdall and the master branch. No tag is required for the latest stable release.
|
|
||||||
Add the development tag, if required, to the linuxserver/heimdall line of the run/create command in the following format, linuxserver/heimdall:development
|
|
||||||
The development tag will be the latest commit in the master branch of Heimdall.
|
|
||||||
HOWEVER , USE THE DEVELOPMENT TAG AT YOUR OWN PERIL !!!!!!!!!
|
|
||||||
|
|
||||||
|
|
||||||
### docker-compose
|
### docker-compose
|
||||||
|
|
||||||
@@ -134,17 +147,17 @@ This image now supports password protection through htpasswd. Run the following
|
|||||||
|
|
||||||
* Shell access whilst the container is running: `docker exec -it heimdall /bin/bash`
|
* Shell access whilst the container is running: `docker exec -it heimdall /bin/bash`
|
||||||
* To monitor the logs of the container in realtime: `docker logs -f heimdall`
|
* To monitor the logs of the container in realtime: `docker logs -f heimdall`
|
||||||
* container version number
|
* container version number
|
||||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' heimdall`
|
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' heimdall`
|
||||||
* image version number
|
* image version number
|
||||||
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/heimdall`
|
* `docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/heimdall`
|
||||||
|
|
||||||
## Updating Info
|
## Updating Info
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|
||||||
Below are the instructions for updating containers:
|
Below are the instructions for updating containers:
|
||||||
|
|
||||||
### Via Docker Run/Create
|
### Via Docker Run/Create
|
||||||
* Update the image: `docker pull linuxserver/heimdall`
|
* Update the image: `docker pull linuxserver/heimdall`
|
||||||
* Stop the running container: `docker stop heimdall`
|
* Stop the running container: `docker stop heimdall`
|
||||||
@@ -175,7 +188,7 @@ Below are the instructions for updating containers:
|
|||||||
|
|
||||||
## Building locally
|
## Building locally
|
||||||
|
|
||||||
If you want to make local modifications to these images for development purposes or just to customize the logic:
|
If you want to make local modifications to these images for development purposes or just to customize the logic:
|
||||||
```
|
```
|
||||||
git clone https://github.com/linuxserver/docker-heimdall.git
|
git clone https://github.com/linuxserver/docker-heimdall.git
|
||||||
cd docker-heimdall
|
cd docker-heimdall
|
||||||
@@ -194,11 +207,15 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
|
|||||||
|
|
||||||
## Versions
|
## Versions
|
||||||
|
|
||||||
* **26.07.19:** - Modify development branch to include integrated IDE.
|
* **16.07.19:** - Save laravel.log to /config/log/heimdall.
|
||||||
* **15.07.19:** - Save laravel.log to /config, install heimdall during first start.
|
|
||||||
* **28.06.19:** - Rebasing to alpine 3.10.
|
* **28.06.19:** - Rebasing to alpine 3.10.
|
||||||
|
* **01.04.19:** - Fix permission detect logic.
|
||||||
|
* **26.03.19:** - Install Heimdall during container start to prevent delayed start due to overlayfs bug with recursive chown.
|
||||||
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.
|
||||||
|
* **15.03.19:** - Clarify docker image tags in readme.
|
||||||
* **22.02.19:** - Rebasing to alpine 3.9.
|
* **22.02.19:** - Rebasing to alpine 3.9.
|
||||||
|
* **16.01.18:** - Generate random app key in .env for new installs.
|
||||||
|
* **20.11.18:** - Upgrade baseimage packages during build.
|
||||||
* **04.11.18:** - Add php7-zip.
|
* **04.11.18:** - Add php7-zip.
|
||||||
* **31.10.18:** - Add queue service.
|
* **31.10.18:** - Add queue service.
|
||||||
* **17.10.18:** - Symlink avatars folder.
|
* **17.10.18:** - Symlink avatars folder.
|
||||||
|
|||||||
@@ -2,10 +2,10 @@
|
|||||||
|
|
||||||
# jenkins variables
|
# jenkins variables
|
||||||
project_name: docker-heimdall
|
project_name: docker-heimdall
|
||||||
external_type: github_commit
|
external_type: github_stable
|
||||||
release_type: prerelease
|
release_type: stable
|
||||||
release_tag: development
|
release_tag: latest
|
||||||
ls_branch: development
|
ls_branch: master
|
||||||
repo_vars:
|
repo_vars:
|
||||||
- EXT_GIT_BRANCH = 'master'
|
- EXT_GIT_BRANCH = 'master'
|
||||||
- EXT_USER = 'linuxserver'
|
- EXT_USER = 'linuxserver'
|
||||||
|
|||||||
@@ -1,60 +1,61 @@
|
|||||||
alpine-baselayout-3.1.2-r0
|
alpine-baselayout-3.1.2-r0
|
||||||
alpine-keys-2.1-r2
|
alpine-keys-2.1-r2
|
||||||
apache2-utils-2.4.39-r0
|
apache2-utils-2.4.41-r0
|
||||||
apk-tools-2.10.4-r1
|
apk-tools-2.10.4-r2
|
||||||
apr-1.6.5-r0
|
apr-1.6.5-r0
|
||||||
apr-util-1.6.1-r6
|
apr-util-1.6.1-r6
|
||||||
|
argon2-libs-20171227-r2
|
||||||
bash-5.0.0-r0
|
bash-5.0.0-r0
|
||||||
busybox-1.30.1-r2
|
busybox-1.30.1-r2
|
||||||
ca-certificates-20190108-r0
|
ca-certificates-20190108-r0
|
||||||
ca-certificates-cacert-20190108-r0
|
ca-certificates-cacert-20190108-r0
|
||||||
coreutils-8.31-r0
|
coreutils-8.31-r0
|
||||||
curl-7.65.1-r0
|
curl-7.66.0-r0
|
||||||
expat-2.2.6-r0
|
expat-2.2.7-r1
|
||||||
git-2.22.0-r0
|
git-2.22.0-r0
|
||||||
libacl-2.2.52-r6
|
libacl-2.2.52-r6
|
||||||
libattr-2.4.48-r0
|
libattr-2.4.48-r0
|
||||||
libc-utils-0.7.1-r0
|
libc-utils-0.7.1-r0
|
||||||
libcrypto1.1-1.1.1c-r0
|
libcrypto1.1-1.1.1d-r0
|
||||||
libcurl-7.65.1-r0
|
libcurl-7.66.0-r0
|
||||||
libedit-20190324.3.1-r0
|
libedit-20190324.3.1-r0
|
||||||
libmagic-5.37-r0
|
libmagic-5.37-r0
|
||||||
libressl2.7-libcrypto-2.7.5-r0
|
libressl2.7-libcrypto-2.7.5-r0
|
||||||
libressl2.7-libssl-2.7.5-r0
|
libressl2.7-libssl-2.7.5-r0
|
||||||
libssl1.1-1.1.1c-r0
|
libssl1.1-1.1.1d-r0
|
||||||
libtls-standalone-2.9.1-r0
|
libtls-standalone-2.9.1-r0
|
||||||
libuuid-2.33.2-r0
|
libuuid-2.33.2-r0
|
||||||
libxml2-2.9.9-r2
|
libxml2-2.9.9-r2
|
||||||
libzip-1.5.2-r0
|
libzip-1.5.2-r0
|
||||||
linux-pam-1.3.0-r1
|
linux-pam-1.3.0-r1
|
||||||
logrotate-3.15.0-r0
|
logrotate-3.15.0-r0
|
||||||
musl-1.1.22-r2
|
musl-1.1.22-r3
|
||||||
musl-utils-1.1.22-r2
|
musl-utils-1.1.22-r3
|
||||||
nano-4.3-r0
|
nano-4.3-r0
|
||||||
ncurses-libs-6.1_p20190518-r0
|
ncurses-libs-6.1_p20190518-r0
|
||||||
ncurses-terminfo-6.1_p20190518-r0
|
ncurses-terminfo-6.1_p20190518-r0
|
||||||
ncurses-terminfo-base-6.1_p20190518-r0
|
ncurses-terminfo-base-6.1_p20190518-r0
|
||||||
nghttp2-libs-1.38.0-r0
|
nghttp2-libs-1.39.2-r0
|
||||||
nginx-1.16.0-r2
|
nginx-1.16.1-r0
|
||||||
openssl-1.1.1c-r0
|
openssl-1.1.1d-r0
|
||||||
pcre-8.43-r0
|
pcre-8.43-r0
|
||||||
pcre2-10.33-r0
|
pcre2-10.33-r0
|
||||||
php7-7.3.6-r0
|
php7-7.3.9-r0
|
||||||
php7-common-7.3.6-r0
|
php7-common-7.3.9-r0
|
||||||
php7-ctype-7.3.7-r0
|
php7-ctype-7.3.9-r0
|
||||||
php7-fileinfo-7.3.6-r0
|
php7-fileinfo-7.3.9-r0
|
||||||
php7-fpm-7.3.6-r0
|
php7-fpm-7.3.9-r0
|
||||||
php7-json-7.3.6-r0
|
php7-json-7.3.9-r0
|
||||||
php7-mbstring-7.3.6-r0
|
php7-mbstring-7.3.9-r0
|
||||||
php7-openssl-7.3.6-r0
|
php7-openssl-7.3.9-r0
|
||||||
php7-pdo-7.3.7-r0
|
php7-pdo-7.3.9-r0
|
||||||
php7-pdo_sqlite-7.3.7-r0
|
php7-pdo_sqlite-7.3.9-r0
|
||||||
php7-session-7.3.6-r0
|
php7-session-7.3.9-r0
|
||||||
php7-simplexml-7.3.6-r0
|
php7-simplexml-7.3.9-r0
|
||||||
php7-tokenizer-7.3.7-r0
|
php7-tokenizer-7.3.9-r0
|
||||||
php7-xml-7.3.6-r0
|
php7-xml-7.3.9-r0
|
||||||
php7-xmlwriter-7.3.6-r0
|
php7-xmlwriter-7.3.9-r0
|
||||||
php7-zip-7.3.7-r0
|
php7-zip-7.3.9-r0
|
||||||
popt-1.16-r7
|
popt-1.16-r7
|
||||||
readline-8.0.0-r0
|
readline-8.0.0-r0
|
||||||
scanelf-1.2.3-r0
|
scanelf-1.2.3-r0
|
||||||
@@ -62,7 +63,7 @@ shadow-4.6-r2
|
|||||||
sqlite-libs-3.28.0-r0
|
sqlite-libs-3.28.0-r0
|
||||||
ssl_client-1.30.1-r2
|
ssl_client-1.30.1-r2
|
||||||
tar-1.32-r0
|
tar-1.32-r0
|
||||||
tzdata-2019a-r0
|
tzdata-2019b-r0
|
||||||
xz-5.2.4-r0
|
xz-5.2.4-r0
|
||||||
xz-libs-5.2.4-r0
|
xz-libs-5.2.4-r0
|
||||||
zlib-1.2.11-r1
|
zlib-1.2.11-r1
|
||||||
|
|||||||
@@ -17,6 +17,12 @@ available_architectures:
|
|||||||
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
- { arch: "{{ arch_arm64 }}", tag: "arm64v8-latest"}
|
||||||
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
|
- { arch: "{{ arch_armhf }}", tag: "arm32v7-latest"}
|
||||||
|
|
||||||
|
# development version
|
||||||
|
development_versions: true
|
||||||
|
development_versions_items:
|
||||||
|
- { tag: "latest", desc: "Stable Heimdall releases." }
|
||||||
|
- { tag: "development", desc: "Latest commit from the github master branch." }
|
||||||
|
|
||||||
# container parameters
|
# container parameters
|
||||||
common_param_env_vars_enabled: true
|
common_param_env_vars_enabled: true
|
||||||
param_container_name: "{{ project_name }}"
|
param_container_name: "{{ project_name }}"
|
||||||
@@ -31,15 +37,6 @@ param_usage_include_env: true
|
|||||||
param_env_vars:
|
param_env_vars:
|
||||||
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
|
- { env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use EG Europe/London"}
|
||||||
|
|
||||||
# optional parameters
|
|
||||||
optional_block_1: true
|
|
||||||
optional_block_1_items:
|
|
||||||
- |
|
|
||||||
Using tags, you can switch between the stable releases of Heimdall and the master branch. No tag is required for the latest stable release.
|
|
||||||
Add the development tag, if required, to the linuxserver/heimdall line of the run/create command in the following format, linuxserver/heimdall:development
|
|
||||||
The development tag will be the latest commit in the master branch of Heimdall.
|
|
||||||
HOWEVER , USE THE DEVELOPMENT TAG AT YOUR OWN PERIL !!!!!!!!!
|
|
||||||
|
|
||||||
# application setup block
|
# application setup block
|
||||||
app_setup_block_enabled: true
|
app_setup_block_enabled: true
|
||||||
app_setup_block: |
|
app_setup_block: |
|
||||||
@@ -52,11 +49,15 @@ app_setup_block: |
|
|||||||
|
|
||||||
# changelog
|
# changelog
|
||||||
changelogs:
|
changelogs:
|
||||||
- { date: "26.07.19:", desc: "Modify development branch to include integrated IDE." }
|
- { date: "16.07.19:", desc: "Save laravel.log to /config/log/heimdall." }
|
||||||
- { date: "15.07.19:", desc: "Save laravel.log to /config, install heimdall during first start." }
|
|
||||||
- { date: "28.06.19:", desc: "Rebasing to alpine 3.10." }
|
- { date: "28.06.19:", desc: "Rebasing to alpine 3.10." }
|
||||||
|
- { date: "01.04.19:", desc: "Fix permission detect logic." }
|
||||||
|
- { date: "26.03.19:", desc: "Install Heimdall during container start to prevent delayed start due to overlayfs bug with recursive chown." }
|
||||||
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
- { date: "23.03.19:", desc: "Switching to new Base images, shift to arm32v7 tag." }
|
||||||
|
- { date: "15.03.19:", desc: "Clarify docker image tags in readme." }
|
||||||
- { date: "22.02.19:", desc: "Rebasing to alpine 3.9." }
|
- { date: "22.02.19:", desc: "Rebasing to alpine 3.9." }
|
||||||
|
- { date: "16.01.18:", desc: "Generate random app key in .env for new installs." }
|
||||||
|
- { date: "20.11.18:", desc: "Upgrade baseimage packages during build." }
|
||||||
- { date: "04.11.18:", desc: "Add php7-zip." }
|
- { date: "04.11.18:", desc: "Add php7-zip." }
|
||||||
- { date: "31.10.18:", desc: "Add queue service." }
|
- { date: "31.10.18:", desc: "Add queue service." }
|
||||||
- { date: "17.10.18:", desc: "Symlink avatars folder." }
|
- { date: "17.10.18:", desc: "Symlink avatars folder." }
|
||||||
|
|||||||
52
root/etc/cont-init.d/50-config
Normal file
52
root/etc/cont-init.d/50-config
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/with-contenv bash
|
||||||
|
|
||||||
|
# make our folders
|
||||||
|
mkdir -p \
|
||||||
|
/config/www/{backgrounds,icons,avatars,SupportedApps} \
|
||||||
|
/var/www/localhost/heimdall \
|
||||||
|
/config/log/heimdall
|
||||||
|
|
||||||
|
# install heimdall if necessary
|
||||||
|
[[ -f /heimdall/heimdall.tar.gz ]] && \
|
||||||
|
echo "New container detected, installing Heimdall" && \
|
||||||
|
tar xf \
|
||||||
|
/heimdall/heimdall.tar.gz -C \
|
||||||
|
/var/www/localhost/heimdall --strip-components=1 && \
|
||||||
|
echo -e '\n# Heimdall user authorization\nfastcgi_param PHP_AUTH_USER $remote_user;\nfastcgi_param PHP_AUTH_PW $http_authorization;' >> \
|
||||||
|
/etc/nginx/fastcgi_params && \
|
||||||
|
rm -rf /heimdall && \
|
||||||
|
chown -R abc:abc /var/www/localhost/heimdall
|
||||||
|
|
||||||
|
# create symlinks
|
||||||
|
|
||||||
|
symlinks=( \
|
||||||
|
/var/www/localhost/heimdall/storage/app/public/avatars \
|
||||||
|
/var/www/localhost/heimdall/storage/app/public/backgrounds \
|
||||||
|
/var/www/localhost/heimdall/storage/app/public/icons \
|
||||||
|
/var/www/localhost/heimdall/app/SupportedApps \
|
||||||
|
/var/www/localhost/heimdall/database/app.sqlite \
|
||||||
|
/var/www/localhost/heimdall/.env )
|
||||||
|
|
||||||
|
for i in "${symlinks[@]}"
|
||||||
|
do
|
||||||
|
[[ -e "$i" && ! -L "$i" ]] && rm -rf "$i"
|
||||||
|
[[ ! -L "$i" ]] && ln -s /config/www/"$(basename "$i")" "$i"
|
||||||
|
done
|
||||||
|
|
||||||
|
[[ -e "/var/www/localhost/heimdall/storage/logs/laravel.log" && ! -L "/var/www/localhost/heimdall/storage/logs/laravel.log" ]] \
|
||||||
|
&& rm -rf "/var/www/localhost/heimdall/storage/logs/laravel.log"
|
||||||
|
[[ ! -L "/var/www/localhost/heimdall/storage/logs/laravel.log" ]] && \
|
||||||
|
ln -s "/config/log/heimdall/laravel.log" "/var/www/localhost/heimdall/storage/logs/laravel.log"
|
||||||
|
|
||||||
|
# copy .env if not exists
|
||||||
|
[[ ! -f /config/www/.env ]] && \
|
||||||
|
cp /var/www/localhost/heimdall/.env.example /config/www/.env && \
|
||||||
|
echo "Creating app key. This may take a while on slower systems" && \
|
||||||
|
php /var/www/localhost/heimdall/artisan key:generate
|
||||||
|
# set queue driver to database
|
||||||
|
sed -i 's/QUEUE_DRIVER=sync/QUEUE_DRIVER=database/' /config/www/.env
|
||||||
|
|
||||||
|
# permissions
|
||||||
|
echo "Setting permissions"
|
||||||
|
chown -R abc:abc \
|
||||||
|
/config
|
||||||
9
root/etc/logrotate.d/heimdall
Normal file
9
root/etc/logrotate.d/heimdall
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
/config/log/heimdall/laravel.log {
|
||||||
|
size 5M
|
||||||
|
rotate 5
|
||||||
|
compress
|
||||||
|
nodateext
|
||||||
|
notifempty
|
||||||
|
missingok
|
||||||
|
su abc abc
|
||||||
|
}
|
||||||
@@ -1,6 +0,0 @@
|
|||||||
#!/usr/bin/with-contenv bash
|
|
||||||
|
|
||||||
cd /c9sdk
|
|
||||||
HOME=/c9bins exec \
|
|
||||||
s6-setuidgid abc \
|
|
||||||
/c9bins/.c9/node/bin/node server.js --listen 0.0.0.0 -p 8000 -w /var/www/localhost/heimdall -a :
|
|
||||||
Reference in New Issue
Block a user