Compare commits

..

1 Commits

Author SHA1 Message Date
thelamer
d8a006523a modify development branch to include an IDE and be self contained 2019-07-26 15:02:51 -07:00
13 changed files with 227 additions and 215 deletions

1
.github/FUNDING.yml vendored
View File

@@ -1 +0,0 @@
open_collective: linuxserver

View File

@@ -1,34 +1,21 @@
[linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
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.
<!--- Provide a general summary of the issue in the Title above --> <!--- Provide a general summary of the issue in the Title above -->
------------------------------ [linuxserverurl]: https://linuxserver.io
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)][linuxserverurl]
## Expected Behavior <!--- If you have an issue with the project, please provide us with the following information -->
<!--- Tell us what should happen -->
## Current Behavior <!--- Host OS -->
<!--- Tell us what happens instead of the expected behavior --> <!--- Command line users, your run/create command, GUI/Unraid users, a screenshot of your template settings. -->
<!--- Docker log output, docker log <container-name> -->
<!--- Mention if you're using symlinks on any of the volume mounts. -->
## Steps to Reproduce
<!--- Provide a link to a live example, or an unambiguous set of steps to -->
<!--- reproduce this bug. Include code to reproduce, if relevant -->
1.
2.
3.
4.
## Environment <!--- If you have a suggestion or fix for the project, please provide us with the following information -->
**OS:**
**CPU architecture:** x86_64/arm32/arm64
**How docker service was installed:**
<!--- Providing context helps us come up with a solution that is most useful in the real world -->
## Command used to create docker container (run/create/compose/screenshot) <!--- What you think your suggestion brings to the project, or fixes with the project -->
<!--- Provide your docker create/run command or compose yaml snippet, or a screenshot of settings if using a gui to create the container --> <!--- If it's a fix, would it be better suited as a Pull request to the repo ? -->
## Thanks, team linuxserver.io
## Docker logs
<!--- Provide a full docker log, output of "docker logs heimdall" -->

View File

@@ -6,34 +6,10 @@
<!--- Before submitting a pull request please check the following --> <!--- Before submitting a pull request please check the following -->
<!--- 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 --> <!--- That you have made a branch in your fork, we'd rather not merge from your master -->
<!--- 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/ -->
<!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message --> <!--- That if the PR is addressing an existing issue include, closes #<issue number> , in the body of the PR commit message -->
<!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message --> <!--- You have included links to any files / patches etc your PR may be using in the body of the PR commit message -->
<!--- We maintain a changelog of major revisions to the container at the end of readme-vars.yml in the root of this repository, please add your changes there if appropriate --> <!--- -->
## Thanks, team linuxserver.io
<!--- Coding guidelines: -->
<!--- 1. Installed packages in the Dockerfiles should be in alphabetical order -->
<!--- 2. Changes to Dockerfile should be replicated in Dockerfile.armhf and Dockerfile.aarch64 if applicable -->
<!--- 3. Indentation style (tabs vs 4 spaces vs 1 space) should match the rest of the document -->
<!--- 4. Readme is auto generated from readme-vars.yml, make your changes there -->
------------------------------
We welcome all PRs though this doesnt guarantee it will be accepted.
## Description:
<!--- Describe your changes in detail -->
## Benefits of this PR and context:
<!--- Please explain why we should accept this PR. If this fixes an outstanding bug, please reference the issue # -->
## How Has This Been Tested?
<!--- Please describe in detail how you tested your changes. -->
<!--- Include details of your testing environment, and the tests you ran to -->
<!--- see how your change affects other areas of the code, etc. -->
## Source / References:
<!--- Please include any forum posts/github links relevant to the PR -->

View File

@@ -1,3 +1,4 @@
FROM lsiobase/cloud9:files-alpine as c9files
FROM lsiobase/nginx:3.10 FROM lsiobase/nginx:3.10
# set version label # set version label
@@ -10,7 +11,30 @@ 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 \
curl \ curl \
@@ -21,14 +45,27 @@ RUN \
tar && \ tar && \
echo "**** install heimdall ****" && \ echo "**** install heimdall ****" && \
mkdir -p \ mkdir -p \
/heimdall && \ /c9sdk/build/standalone \
if [ -z ${HEIMDALL_RELEASE+x} ]; then \ /var/www/localhost/heimdall && \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ git clone \
| awk '/sha/{print $4;exit}' FS='[""]'); \ https://github.com/linuxserver/Heimdall.git \
fi && \ /var/www/localhost/heimdall && \
curl -o \ echo "**** dev setup and permissions ****" && \
/heimdall/heimdall.tar.gz -L \ echo -e \
"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \ '\n# Heimdall user authorization\nfastcgi_param PHP_AUTH_USER $remote_user;\nfastcgi_param PHP_AUTH_PW $http_authorization;' >> \
/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/*

View File

@@ -1,3 +1,4 @@
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
@@ -10,7 +11,30 @@ 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 \
curl \ curl \
@@ -21,14 +45,27 @@ RUN \
tar && \ tar && \
echo "**** install heimdall ****" && \ echo "**** install heimdall ****" && \
mkdir -p \ mkdir -p \
/heimdall && \ /c9sdk/build/standalone \
if [ -z ${HEIMDALL_RELEASE+x} ]; then \ /var/www/localhost/heimdall && \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ git clone \
| awk '/sha/{print $4;exit}' FS='[""]'); \ https://github.com/linuxserver/Heimdall.git \
fi && \ /var/www/localhost/heimdall && \
curl -o \ echo "**** dev setup and permissions ****" && \
/heimdall/heimdall.tar.gz -L \ echo -e \
"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \ '\n# Heimdall user authorization\nfastcgi_param PHP_AUTH_USER $remote_user;\nfastcgi_param PHP_AUTH_PW $http_authorization;' >> \
/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/*

View File

@@ -1,3 +1,4 @@
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
@@ -10,7 +11,30 @@ 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 \
curl \ curl \
@@ -21,14 +45,27 @@ RUN \
tar && \ tar && \
echo "**** install heimdall ****" && \ echo "**** install heimdall ****" && \
mkdir -p \ mkdir -p \
/heimdall && \ /c9sdk/build/standalone \
if [ -z ${HEIMDALL_RELEASE+x} ]; then \ /var/www/localhost/heimdall && \
HEIMDALL_RELEASE=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/commits/master" \ git clone \
| awk '/sha/{print $4;exit}' FS='[""]'); \ https://github.com/linuxserver/Heimdall.git \
fi && \ /var/www/localhost/heimdall && \
curl -o \ echo "**** dev setup and permissions ****" && \
/heimdall/heimdall.tar.gz -L \ echo -e \
"https://github.com/linuxserver/Heimdall/archive/${HEIMDALL_RELEASE}.tar.gz" && \ '\n# Heimdall user authorization\nfastcgi_param PHP_AUTH_USER $remote_user;\nfastcgi_param PHP_AUTH_PW $http_authorization;' >> \
/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/*

43
Jenkinsfile vendored
View File

@@ -2,10 +2,6 @@ pipeline {
agent { agent {
label 'X86-64-MULTI' label 'X86-64-MULTI'
} }
options {
buildDiscarder(logRotator(numToKeepStr: '10', daysToKeepStr: '60'))
parallelsAlwaysFailFast()
}
// Input to determine if this is a package check // Input to determine if this is a package check
parameters { parameters {
string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK') string(defaultValue: 'false', description: 'package check run', name: 'PACKAGE_CHECK')
@@ -56,7 +52,14 @@ pipeline {
env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT env.CODE_URL = 'https://github.com/' + env.LS_USER + '/' + env.LS_REPO + '/commit/' + env.GIT_COMMIT
env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/' env.DOCKERHUB_LINK = 'https://hub.docker.com/r/' + env.DOCKERHUB_IMAGE + '/tags/'
env.PULL_REQUEST = env.CHANGE_ID env.PULL_REQUEST = env.CHANGE_ID
env.TEMPLATED_FILES = 'Jenkinsfile README.md LICENSE ./.github/FUNDING.yml ./.github/ISSUE_TEMPLATE.md ./.github/PULL_REQUEST_TEMPLATE.md' env.LICENSE_TAG = sh(
script: '''#!/bin/bash
if [ -e LICENSE ] ; then
cat LICENSE | md5sum | cut -c1-8
else
echo none
fi''',
returnStdout: true).trim()
} }
script{ script{
env.LS_RELEASE_NUMBER = sh( env.LS_RELEASE_NUMBER = sh(
@@ -227,32 +230,32 @@ pipeline {
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=development -v ${TEMPDIR}:/ansible/jenkins linuxserver/jenkins-builder:latest
CURRENTHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) docker pull linuxserver/doc-builder:latest
cd ${TEMPDIR}/docker-${CONTAINER_NAME} docker run --rm -e CONTAINER_NAME=${CONTAINER_NAME} -e GITHUB_BRANCH=development -v ${TEMPDIR}:/ansible/readme linuxserver/doc-builder:latest
NEWHASH=$(grep -hs ^ ${TEMPLATED_FILES} | md5sum | cut -c1-8) if [ "$(md5sum ${TEMPDIR}/${LS_REPO}/Jenkinsfile | awk '{ print $1 }')" != "$(md5sum Jenkinsfile | awk '{ print $1 }')" ] || \
if [[ "${CURRENTHASH}" != "${NEWHASH}" ]]; then [ "$(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
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}
cd ${TEMPDIR}/repo/${LS_REPO} git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git checkout -f development
git checkout -f development cp ${TEMPDIR}/${CONTAINER_NAME}/README.md ${TEMPDIR}/repo/${LS_REPO}/
cd ${TEMPDIR}/docker-${CONTAINER_NAME} cp ${TEMPDIR}/docker-${CONTAINER_NAME}/Jenkinsfile ${TEMPDIR}/repo/${LS_REPO}/
mkdir -p ${TEMPDIR}/repo/${LS_REPO}/.github cp ${TEMPDIR}/docker-${CONTAINER_NAME}/LICENSE ${TEMPDIR}/repo/${LS_REPO}/
cp --parents ${TEMPLATED_FILES} ${TEMPDIR}/repo/${LS_REPO}/
cd ${TEMPDIR}/repo/${LS_REPO}/ cd ${TEMPDIR}/repo/${LS_REPO}/
git add ${TEMPLATED_FILES} git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git add Jenkinsfile README.md LICENSE
git commit -m 'Bot Updating Templated Files' git --git-dir ${TEMPDIR}/repo/${LS_REPO}/.git commit -m 'Bot Updating Templated Files'
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}
else else
echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER} echo "false" > /tmp/${COMMIT_SHA}-${BUILD_NUMBER}
fi fi
mkdir -p ${TEMPDIR}/gitbook mkdir -p ${TEMPDIR}/gitbook
git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation git clone https://github.com/linuxserver/docker-documentation.git ${TEMPDIR}/gitbook/docker-documentation
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}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md | awk '{ print $1 }')") ]]; then 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
cp ${TEMPDIR}/docker-${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/ cp ${TEMPDIR}/${CONTAINER_NAME}/docker-${CONTAINER_NAME}.md ${TEMPDIR}/gitbook/docker-documentation/images/
cd ${TEMPDIR}/gitbook/docker-documentation/ cd ${TEMPDIR}/gitbook/docker-documentation/
git add images/docker-${CONTAINER_NAME}.md git add images/docker-${CONTAINER_NAME}.md
git commit -m 'Bot Updating Documentation' git commit -m 'Bot Updating Templated Files'
git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all git push https://LinuxServer-CI:${GITHUB_TOKEN}@github.com/linuxserver/docker-documentation.git --all
fi fi
rm -Rf ${TEMPDIR}''' rm -Rf ${TEMPDIR}'''

View File

@@ -1,12 +1,5 @@
[![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io) [![linuxserver.io](https://raw.githubusercontent.com/linuxserver/docker-templates/master/linuxserver.io/img/linuxserver_medium.png)](https://linuxserver.io)
[![Blog](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&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!")
[![Discord](https://img.shields.io/discord/354974912613449730.svg?style=flat-square&color=E68523&label=Discord&logo=discord&logoColor=FFFFFF)](https://discord.gg/YWrKVTn "realtime support / chat with the community and the team.")
[![Discourse](https://img.shields.io/discourse/https/discourse.linuxserver.io/topics.svg?style=flat-square&color=E68523&logo=discourse&logoColor=FFFFFF)](https://discourse.linuxserver.io "post on our community forum.")
[![Fleet](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Fleet)](https://fleet.linuxserver.io "an online web interface which displays all of our maintained images.")
[![Podcast](https://img.shields.io/static/v1.svg?style=flat-square&color=E68523&label=linuxserver.io&message=Podcast)](https://anchor.fm/linuxserverio "on hiatus. Coming back soon (late 2018).")
[![Open Collective](https://img.shields.io/opencollective/all/linuxserver.svg?style=flat-square&color=E68523&label=Open%20Collective%20Supporters)](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
@@ -16,20 +9,17 @@ The [LinuxServer.io](https://linuxserver.io) team brings you another container r
* regular security updates * regular security updates
Find us at: Find us at:
* [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. * [Discord](https://discord.gg/YWrKVTn) - realtime support / chat with the community and the team.
* [Discourse](https://discourse.linuxserver.io) - post on our community forum. * [IRC](https://irc.linuxserver.io) - on freenode at `#linuxserver.io`. Our primary support channel is Discord.
* [Fleet](https://fleet.linuxserver.io) - an online web interface which displays all of our maintained images. * [Blog](https://blog.linuxserver.io) - all the things you can do with our containers including How-To guides, opinions and much more!
* [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)
[![GitHub Release](https://img.shields.io/github/release/linuxserver/docker-heimdall.svg?style=flat-square&color=E68523)](https://github.com/linuxserver/docker-heimdall/releases) [![](https://img.shields.io/discord/354974912613449730.svg?logo=discord&label=LSIO%20Discord&style=flat-square)](https://discord.gg/YWrKVTn)
[![MicroBadger Layers](https://img.shields.io/microbadger/layers/linuxserver/heimdall.svg?style=flat-square&color=E68523)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/version/linuxserver/heimdall.svg)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
[![MicroBadger Size](https://img.shields.io/microbadger/image-size/linuxserver/heimdall.svg?style=flat-square&color=E68523)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com") [![](https://images.microbadger.com/badges/image/linuxserver/heimdall.svg)](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")
[![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/heimdall.svg?style=flat-square&color=E68523)](https://hub.docker.com/r/linuxserver/heimdall) ![Docker Pulls](https://img.shields.io/docker/pulls/linuxserver/heimdall.svg)
[![Docker Stars](https://img.shields.io/docker/stars/linuxserver/heimdall.svg?style=flat-square&color=E68523)](https://hub.docker.com/r/linuxserver/heimdall) ![Docker Stars](https://img.shields.io/docker/stars/linuxserver/heimdall.svg)
[![Build Status](https://ci.linuxserver.io/view/all/job/Docker-Pipeline-Builders/job/docker-heimdall/job/master/badge/icon?style=flat-square)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/job/master/) [![Build Status](https://ci.linuxserver.io/buildStatus/icon?job=Docker-Pipeline-Builders/docker-heimdall/master)](https://ci.linuxserver.io/job/Docker-Pipeline-Builders/job/docker-heimdall/job/master/)
[![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/heimdall/latest/badge.svg)](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/heimdall/latest/index.html) [![](https://lsio-ci.ams3.digitaloceanspaces.com/linuxserver/heimdall/latest/badge.svg)](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.
@@ -40,7 +30,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.
@@ -144,17 +134,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`
@@ -185,7 +175,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
@@ -204,6 +194,7 @@ 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.
* **15.07.19:** - Save laravel.log to /config, install heimdall during first start. * **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.
* **23.03.19:** - Switching to new Base images, shift to arm32v7 tag. * **23.03.19:** - Switching to new Base images, shift to arm32v7 tag.

View File

@@ -1,69 +1,68 @@
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.41-r0 apache2-utils-2.4.39-r0
apk-tools-2.10.4-r2 apk-tools-2.10.4-r1
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.66.0-r0 curl-7.65.1-r0
expat-2.2.8-r0 expat-2.2.6-r0
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.1d-r0 libcrypto1.1-1.1.1c-r0
libcurl-7.66.0-r0 libcurl-7.65.1-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.1d-r0 libssl1.1-1.1.1c-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-r3 musl-1.1.22-r2
musl-utils-1.1.22-r3 musl-utils-1.1.22-r2
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.39.2-r0 nghttp2-libs-1.38.0-r0
nginx-1.16.1-r1 nginx-1.16.0-r2
openssl-1.1.1d-r0 openssl-1.1.1c-r0
pcre-8.43-r0 pcre-8.43-r0
pcre2-10.33-r0 pcre2-10.33-r0
php7-7.3.11-r0 php7-7.3.6-r0
php7-common-7.3.11-r0 php7-common-7.3.6-r0
php7-ctype-7.3.11-r0 php7-ctype-7.3.7-r0
php7-fileinfo-7.3.11-r0 php7-fileinfo-7.3.6-r0
php7-fpm-7.3.11-r0 php7-fpm-7.3.6-r0
php7-json-7.3.11-r0 php7-json-7.3.6-r0
php7-mbstring-7.3.11-r0 php7-mbstring-7.3.6-r0
php7-openssl-7.3.11-r0 php7-openssl-7.3.6-r0
php7-pdo-7.3.11-r0 php7-pdo-7.3.7-r0
php7-pdo_sqlite-7.3.11-r0 php7-pdo_sqlite-7.3.7-r0
php7-session-7.3.11-r0 php7-session-7.3.6-r0
php7-simplexml-7.3.11-r0 php7-simplexml-7.3.6-r0
php7-tokenizer-7.3.11-r0 php7-tokenizer-7.3.7-r0
php7-xml-7.3.11-r0 php7-xml-7.3.6-r0
php7-xmlwriter-7.3.11-r0 php7-xmlwriter-7.3.6-r0
php7-zip-7.3.11-r0 php7-zip-7.3.7-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
shadow-4.6-r2 shadow-4.6-r2
sqlite-libs-3.28.0-r1 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-2019c-r0 tzdata-2019a-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

View File

@@ -52,6 +52,7 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "26.07.19:", desc: "Modify development branch to include integrated IDE." }
- { date: "15.07.19:", desc: "Save laravel.log to /config, install heimdall during first start." } - { 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: "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." }

View File

@@ -1,52 +0,0 @@
#!/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 "generating app key"
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
chown -R abc:abc \
/config \
/var/www/localhost/heimdall

View File

@@ -1,9 +0,0 @@
/config/log/heimdall/laravel.log {
size 5M
rotate 5
compress
nodateext
notifempty
missingok
su abc abc
}

View File

@@ -0,0 +1,6 @@
#!/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 :