mirror of
https://github.com/linuxserver/docker-heimdall.git
synced 2026-02-23 04:40:30 +09:00
Compare commits
24 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
507bc638db | ||
|
|
c40e021452 | ||
|
|
46e95f4da6 | ||
|
|
9b63642fed | ||
|
|
614bba2960 | ||
|
|
f084b90282 | ||
|
|
bce88664bf | ||
|
|
1bc1af427b | ||
|
|
78ecdea6d6 | ||
|
|
f030577f75 | ||
|
|
992949bd7c | ||
|
|
b34b1691f4 | ||
|
|
9386537608 | ||
|
|
3ed22863f7 | ||
|
|
b357db7900 | ||
|
|
21ce2cff95 | ||
|
|
cd50025f67 | ||
|
|
8df0c56396 | ||
|
|
b570e58958 | ||
|
|
3fe9925064 | ||
|
|
275aa05c17 | ||
|
|
f8313f706d | ||
|
|
eb5710279a | ||
|
|
dcb82e63c4 |
25
Dockerfile
25
Dockerfile
@@ -1,4 +1,4 @@
|
||||
FROM lsiobase/alpine.nginx:3.7
|
||||
FROM lsiobase/alpine.nginx:3.8
|
||||
|
||||
# set version label
|
||||
ARG BUILD_DATE
|
||||
@@ -9,27 +9,28 @@ LABEL maintainer="aptalca"
|
||||
# environment settings
|
||||
ENV S6_BEHAVIOUR_IF_STAGE2_FAILS=2
|
||||
|
||||
# install packages
|
||||
RUN \
|
||||
echo "**** install runtime pacakges ****" && \
|
||||
apk add --no-cache \
|
||||
curl \
|
||||
php7-ctype \
|
||||
php7-pdo_sqlite \
|
||||
php7-tokenizer \
|
||||
tar && \
|
||||
mkdir -p /app/heimdall && \
|
||||
VERSION="$(curl -sX GET https://api.github.com/repos/linuxserver/Heimdall/releases/latest | grep 'tag_name' | cut -d\" -f4)" && \
|
||||
echo "**Installing Heimdall ${VERSION}**" && \
|
||||
echo "**** install heimdall ****" && \
|
||||
mkdir -p \
|
||||
/var/www/localhost/heimdall && \
|
||||
HEIM_VER=$(curl -sX GET "https://api.github.com/repos/linuxserver/Heimdall/releases/latest" \
|
||||
| awk '/tag_name/{print $4;exit}' FS='[""]') && \
|
||||
curl -o \
|
||||
/tmp/heimdall.tar.gz -L \
|
||||
"https://github.com/linuxserver/Heimdall/archive/${VERSION}.tar.gz" && \
|
||||
/tmp/heimdall.tar.gz -L \
|
||||
"https://github.com/linuxserver/Heimdall/archive/${HEIM_VER}.tar.gz" && \
|
||||
tar xf \
|
||||
/tmp/heimdall.tar.gz -C \
|
||||
/tmp && \
|
||||
cp -R /tmp/Heimdall-*/* /app/heimdall/ && \
|
||||
echo "** cleanup **" && \
|
||||
/tmp/heimdall.tar.gz -C \
|
||||
/var/www/localhost/heimdall --strip-components=1 && \
|
||||
echo "**** cleanup ****" && \
|
||||
rm -rf \
|
||||
/tmp/*
|
||||
/tmp/*
|
||||
|
||||
# add local files
|
||||
COPY root/ /
|
||||
|
||||
87
README.md
87
README.md
@@ -2,14 +2,93 @@
|
||||
[forumurl]: https://forum.linuxserver.io
|
||||
[ircurl]: https://www.linuxserver.io/irc/
|
||||
[podcasturl]: https://www.linuxserver.io/podcast/
|
||||
[appurl]: https://github.com/linuxserver/Heimdall
|
||||
[hub]: https://hub.docker.com/r/linuxserver/heimdall/
|
||||
|
||||
[][linuxserverurl]
|
||||
|
||||
## This is a Container in active development by the [LinuxServer.io][linuxserverurl] team and is not recommended for use by the general public.
|
||||
|
||||
If you want to comment\contribute on this container , are looking for support on any of our other work , or are curious about us in general, check out the following.
|
||||
|
||||
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
|
||||
* [forum.linuxserver.io][forumurl]
|
||||
* [IRC][ircurl] on freenode at `#linuxserver.io`
|
||||
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
||||
|
||||
# linuxserver/heimdall
|
||||
[](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")[](https://microbadger.com/images/linuxserver/heimdall "Get your own image badge on microbadger.com")[][hub][][hub][](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-heimdall/)
|
||||
|
||||
Heimdall is a way to organise all those links to your most used web sites and web applications in a simple way.
|
||||
|
||||
Simplicity is the key to Heimdall.
|
||||
|
||||
Why not use it as your browser start page? It even has the ability to include a search bar using either Google, Bing or DuckDuckGo.
|
||||
|
||||
[][appurl]
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
docker create \
|
||||
--name=heimdall \
|
||||
-v <path to data>:/config \
|
||||
-e PGID=<gid> -e PUID=<uid> \
|
||||
-p 80:80 -p 443:443 \
|
||||
-e TZ=<timezone> \
|
||||
linuxserver/heimdall
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
|
||||
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
|
||||
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
|
||||
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`
|
||||
|
||||
|
||||
* `-p 80` - The web-services.
|
||||
* `-p 443` - The SSL-Based Webservice
|
||||
* `-v /config` - Contains your www content and all relevant configuration files.
|
||||
* `-e PGID` for GroupID - see below for explanation
|
||||
* `-e PUID` for UserID - see below for explanation
|
||||
* `-e TZ` - timezone ie. `America/New_York`
|
||||
|
||||
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it heimdall /bin/bash`.
|
||||
|
||||
### User / Group Identifiers
|
||||
|
||||
Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
|
||||
|
||||
In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:
|
||||
|
||||
```
|
||||
$ id <dockeruser>
|
||||
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
|
||||
```
|
||||
|
||||
## Setting up the application
|
||||
|
||||
Access the web gui at http://SERVERIP:PORT
|
||||
|
||||
## Adding password protection
|
||||
|
||||
This image now supports password protection through htpasswd. Run the following command on your host to generate the htpasswd file `docker exec -it heimdall htpasswd -c /config/nginx/.htpasswd <username>`. Replace <username> with a username of your choice and you will be asked to enter a password. New installs will automatically pick it up and implement password protected access. Existing users updating their image can delete their site config at `/config/nginx/site-confs/default` and restart the container after updating the image. A new site config with htpasswd support will be created in its place.
|
||||
|
||||
## Info
|
||||
|
||||
* To monitor the logs of the container in realtime `docker logs -f heimdall`.
|
||||
|
||||
|
||||
* container version number
|
||||
|
||||
`docker inspect -f '{{ index .Config.Labels "build_version" }}' heimdall`
|
||||
|
||||
* image version number
|
||||
|
||||
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/heimdall`
|
||||
|
||||
## Versions
|
||||
|
||||
+ **05.09.18:** Rebase to alpine linux 3.8.
|
||||
+ **06.03.18:** Use password protection if htpasswd is set.
|
||||
Existing users can delete their default site config at /config/nginx/site-confs/default
|
||||
and restart the container, a new default site config with htpasswd support will be created in its place
|
||||
|
||||
+ **12.02.18:** Initial Release.
|
||||
|
||||
@@ -1,86 +0,0 @@
|
||||
[linuxserverurl]: https://linuxserver.io
|
||||
[forumurl]: https://forum.linuxserver.io
|
||||
[ircurl]: https://www.linuxserver.io/irc/
|
||||
[podcasturl]: https://www.linuxserver.io/podcast/
|
||||
[appurl]: https://github.com/linuxserver/Heimdall
|
||||
[hub]: https://hub.docker.com/r/linuxserver/heimdall/
|
||||
|
||||
[][linuxserverurl]
|
||||
|
||||
The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at:
|
||||
* [forum.linuxserver.io][forumurl]
|
||||
* [IRC][ircurl] on freenode at `#linuxserver.io`
|
||||
* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation!
|
||||
|
||||
# linuxserver/heimdall
|
||||
[](https://microbadger.com/images/linuxserver/heimdall "Get your own version badge on microbadger.com")[](https://microbadger.com/images/linuxserver/heimdall "Get your own image badge on microbadger.com")[][hub][][hub][](https://ci.linuxserver.io/job/Docker-Builders/job/x86-64/job/x86-64-heimdall/)
|
||||
|
||||
Heimdall is a way to organise all those links to your most used web sites and web applications in a simple way.
|
||||
|
||||
Simplicity is the key to Heimdall.
|
||||
|
||||
Why not use it as your browser start page? It even has the ability to include a search bar using either Google, Bing or DuckDuckGo.
|
||||
|
||||
[][appurl]
|
||||
|
||||
## Usage
|
||||
|
||||
```
|
||||
docker create \
|
||||
--name=heimdall \
|
||||
-v <path to data>:/config \
|
||||
-e PGID=<gid> -e PUID=<uid> \
|
||||
-p 80:80 -p 443:443 \
|
||||
-e TZ=<timezone> \
|
||||
linuxserver/heimdall
|
||||
```
|
||||
|
||||
## Parameters
|
||||
|
||||
`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side.
|
||||
For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
|
||||
So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
|
||||
http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.`
|
||||
|
||||
|
||||
* `-p 80` - The web-services.
|
||||
* `-p 443` - The SSL-Based Webservice
|
||||
* `-v /config` - Contains your www content and all relevant configuration files.
|
||||
* `-e PGID` for GroupID - see below for explanation
|
||||
* `-e PUID` for UserID - see below for explanation
|
||||
* `-e TZ` - timezone ie. `America/New_York`
|
||||
* `-e BASEURL` - _optional_ - you can set a base url through this variable to serve the app at http://SERVERIP:PORT/BASEURL
|
||||
|
||||
It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it heimdall /bin/bash`.
|
||||
|
||||
### User / Group Identifiers
|
||||
|
||||
Sometimes when using data volumes (`-v` flags) permissions issues can arise between the host OS and the container. We avoid this issue by allowing you to specify the user `PUID` and group `PGID`. Ensure the data volume directory on the host is owned by the same user you specify and it will "just work" ™.
|
||||
|
||||
In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below:
|
||||
|
||||
```
|
||||
$ id <dockeruser>
|
||||
uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
|
||||
```
|
||||
|
||||
## Setting up the application
|
||||
|
||||
Access the web gui at http://SERVERIP:PORT
|
||||
|
||||
## Info
|
||||
|
||||
* To monitor the logs of the container in realtime `docker logs -f heimdall`.
|
||||
|
||||
|
||||
* container version number
|
||||
|
||||
`docker inspect -f '{{ index .Config.Labels "build_version" }}' heimdall`
|
||||
|
||||
* image version number
|
||||
|
||||
`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/heimdall`
|
||||
|
||||
## Versions
|
||||
|
||||
+ **XX.02.18:** Intial Release.
|
||||
@@ -1,9 +1,11 @@
|
||||
## Version 2018/03/06 - Changelog: https://github.com/linuxserver/docker-heimdall/commits/master/root/defaults/default
|
||||
|
||||
server {
|
||||
listen 80 default_server;
|
||||
|
||||
listen 443 ssl;
|
||||
|
||||
root /app/root;
|
||||
root /var/www/localhost/heimdall/public;
|
||||
index index.php index.html index.htm;
|
||||
|
||||
server_name _;
|
||||
@@ -12,10 +14,21 @@ server {
|
||||
ssl_certificate_key /config/keys/cert.key;
|
||||
|
||||
client_max_body_size 0;
|
||||
|
||||
error_page 599 = @noauth;
|
||||
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
}
|
||||
location / {
|
||||
if (!-f /config/nginx/.htpasswd) {
|
||||
return 599;
|
||||
}
|
||||
auth_basic "Restricted";
|
||||
auth_basic_user_file /config/nginx/.htpasswd;
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
}
|
||||
|
||||
location @noauth {
|
||||
try_files $uri $uri/ /index.php?$args;
|
||||
}
|
||||
|
||||
location ~ \.php$ {
|
||||
fastcgi_split_path_info ^(.+\.php)(/.+)$;
|
||||
|
||||
@@ -1,26 +1,15 @@
|
||||
#!/usr/bin/with-contenv bash
|
||||
|
||||
# create folders
|
||||
# make our folders
|
||||
mkdir -p \
|
||||
/config/www/{backgrounds,icons}
|
||||
/config/www/{backgrounds,icons}
|
||||
|
||||
# set base url if needed
|
||||
rm -rf /app/root
|
||||
if [ -z "$BASEURL" ]; then
|
||||
echo "No base url set. You can access the app at http://SERVERIP:PORT"
|
||||
ln -s ./heimdall/public /app/root
|
||||
else
|
||||
echo "Setting base url. You can access the app at http://SERVERIP:PORT/$BASEURL"
|
||||
mkdir -p /app/root
|
||||
ln -s ../heimdall/public /app/root/"$BASEURL"
|
||||
fi
|
||||
|
||||
# symlink user config
|
||||
# create symlinks
|
||||
|
||||
symlinks=( \
|
||||
/app/heimdall/storage/app/public/backgrounds \
|
||||
/app/heimdall/storage/app/public/icons \
|
||||
/app/heimdall/database/app.sqlite )
|
||||
/var/www/localhost/heimdall/storage/app/public/backgrounds \
|
||||
/var/www/localhost/heimdall/storage/app/public/icons \
|
||||
/var/www/localhost/heimdall/database/app.sqlite )
|
||||
|
||||
for i in "${symlinks[@]}"
|
||||
do
|
||||
@@ -31,4 +20,4 @@ done
|
||||
# permissions
|
||||
chown -R abc:abc \
|
||||
/config \
|
||||
/app
|
||||
/var/www/localhost/heimdall
|
||||
|
||||
Reference in New Issue
Block a user