|
| 1 | + |
1 | 2 | [linuxserverurl]: https://linuxserver.io
|
2 |
| -[forumurl]: https://forum.linuxserver.io |
| 3 | +[forumurl]: https://discourse.linuxserver.io |
3 | 4 | [ircurl]: https://www.linuxserver.io/irc/
|
4 |
| -[podcasturl]: https://www.linuxserver.io/podcast/ |
5 |
| -[appurl]: https://github.com/linuxserver/Heimdall |
6 |
| -[hub]: https://hub.docker.com/r/linuxserver/heimdall/ |
| 5 | +[appurl]: https://www.bookstackapp.com |
| 6 | +[dockerfileurl]: https://github.com/linuxserver/docker-bookstack/blob/master/Dockerfile |
| 7 | +[hub]: https://hub.docker.com/r/<image-name>/ |
| 8 | + |
| 9 | +[][linuxserverurl] |
| 10 | + |
| 11 | +## Contact information:- |
| 12 | + |
| 13 | +| Type | Address/Details | |
| 14 | +| :---: | --- | |
| 15 | +| Discord | [Discord](https://discord.gg/YWrKVTn) | |
| 16 | +| Forum | [Linuserver.io forum][forumurl] | |
7 | 17 |
|
8 |
| -[][linuxserverurl] |
| 18 | + |
| 19 | + |
9 | 20 |
|
10 |
| -The [LinuxServer.io][linuxserverurl] team brings you another container release featuring easy user mapping and community support. Find us for support at: |
11 |
| -* [forum.linuxserver.io][forumurl] |
12 |
| -* [IRC][ircurl] on freenode at `#linuxserver.io` |
13 |
| -* [Podcast][podcasturl] covers everything to do with getting the most from your Linux Server plus a focus on all things Docker and containerisation! |
| 21 | +The [LinuxServer.io][linuxserverurl] team brings you another image release featuring :- |
14 | 22 |
|
15 |
| -# linuxserver/heimdall |
16 |
| -[](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/) |
| 23 | + + regular and timely application updates |
| 24 | + + easy user mappings |
| 25 | + + custom base image with s6 overlay |
| 26 | + + weekly base OS updates with common layers across the entire LinuxServer.io ecosystem to minimise space usage, down time and bandwidth |
| 27 | + + security updates |
17 | 28 |
|
18 |
| -Heimdall is a way to organise all those links to your most used web sites and web applications in a simple way. |
| 29 | +# docker-bookstack |
19 | 30 |
|
20 |
| -Simplicity is the key to Heimdall. |
| 31 | +[][dockerfileurl] |
21 | 32 |
|
22 |
| -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. |
| 33 | +BookStack is a free and open source Wiki designed for creating beautiful documentation. Feautring a simple, but powerful WYSIWYG editor it allows for teams to create detailed and useful documentation with ease. |
| 34 | + |
| 35 | +Powered by SQL and including a Markdown editor for those who prefer it, BookStack is geared towards making documentation more of a pleasure than a chore. |
23 | 36 |
|
24 |
| -[][appurl] |
25 | 37 |
|
26 | 38 | ## Usage
|
27 | 39 |
|
| 40 | +This container depends on an SQL server to provide the storage database. If you have one set up already (Docker or otherwise) then continue but if not then deploy a MariaDB container from [this dockerhub page](https://hub.docker.com/r/linuxserver/mariadb/) |
28 | 41 | ```
|
29 | 42 | docker create \
|
30 |
| ---name=heimdall \ |
31 |
| --v <path to data>:/config \ |
32 |
| --e PGID=<gid> -e PUID=<uid> \ |
33 |
| --p 80:80 -p 443:443 \ |
34 |
| --e TZ=<timezone> \ |
35 |
| -linuxserver/heimdall |
| 43 | + --name=bookstackapp \ |
| 44 | + -v <path to data>:/config \ |
| 45 | + -e PGID=<gid> -e PUID=<uid> \ |
| 46 | + -e DB_HOST=<yourdbhost> \ |
| 47 | + -e DB_USER=<yourdbuser> \ |
| 48 | + -e DB_PASS=<yourdbuser> \ |
| 49 | + -e DB_DATABASE=bookstackapp |
| 50 | + -p 6875:80 \ |
| 51 | + docker-bookstack |
36 | 52 | ```
|
37 | 53 |
|
| 54 | +It is strongly recommended that this container is used with our LetsEncrypt container so that your BookStack app is served over valid HTTPS. |
| 55 | + |
38 | 56 | ## Parameters
|
39 | 57 |
|
40 |
| -`The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. |
| 58 | +The parameters are split into two halves, separated by a colon, the left hand side representing the host and the right the container side. |
41 | 59 | For example with a port -p external:internal - what this shows is the port mapping from internal to external of the container.
|
42 | 60 | So -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080
|
43 |
| -http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80.` |
| 61 | +http://192.168.x.x:8080 would show you what's running INSIDE the container on port 80. |
44 | 62 |
|
| 63 | +| Parameter | Function | |
| 64 | +| :---: | --- | |
| 65 | +| `-p 6875:80` | will map the container's port 80 to port 6875 on the host | |
| 66 | +| `-v /config` | this will store any uploaded data on the docker host | |
| 67 | +| `-e PGID` | for GroupID, see below for explanation | |
| 68 | +| `-e PUID` | for UserID, see below for explanation | |
| 69 | +| `-e DB_HOST` | for specifying the database host, see below for further explanation | |
| 70 | +| `-e DB_USER ` | for specifying the database user | |
| 71 | +| `-e DB_PASS ` | for specifying the database password | |
| 72 | +| `-e DB_DATABASE ` | for specifying the database to be used | |
45 | 73 |
|
46 |
| -* `-p 80` - The web-services. |
47 |
| -* `-p 443` - The SSL-Based Webservice |
48 |
| -* `-v /config` - Contains your www content and all relevant configuration files. |
49 |
| -* `-e PGID` for GroupID - see below for explanation |
50 |
| -* `-e PUID` for UserID - see below for explanation |
51 |
| -* `-e TZ` - timezone ie. `America/New_York` |
52 | 74 |
|
53 |
| -It is based on alpine linux with s6 overlay, for shell access whilst the container is running do `docker exec -it heimdall /bin/bash`. |
| 75 | +## User / Group Identifiers |
54 | 76 |
|
55 |
| -### User / Group Identifiers |
| 77 | +Sometimes when using volumes (`-v` flags) permissions issues can arise between the host OS and the container, we avoid this issue by allowing you to specify the user `PUID` and group `PGID`. |
56 | 78 |
|
57 |
| -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" ™. |
| 79 | +Ensure any volume directories on the host are owned by the same user you specify and it will "just work" ™. |
58 | 80 |
|
59 |
| -In this instance `PUID=1001` and `PGID=1001`. To find yours use `id user` as below: |
| 81 | +In this instance `PUID=1001` and `PGID=1001`, to find yours use `id user` as below: |
60 | 82 |
|
61 | 83 | ```
|
62 | 84 | $ id <dockeruser>
|
63 | 85 | uid=1001(dockeruser) gid=1001(dockergroup) groups=1001(dockergroup)
|
64 | 86 | ```
|
65 | 87 |
|
66 |
| -## Setting up the application |
67 |
| - |
68 |
| -Access the web gui at http://SERVERIP:PORT |
| 88 | +## Setting up the application |
69 | 89 |
|
70 |
| -## Adding password protection |
| 90 | +This application is dependent on an SQL database be it one you already have or a new one. If you do not already have one, set up our MariaDB container. |
71 | 91 |
|
72 |
| -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. |
| 92 | +Once the MariaDB container is deployed, you can enter the following commands into the shell of the MariaDB container to create the user, password and database that the app will then use. Replace myuser/mypassword with your own data. |
73 | 93 |
|
74 |
| -## Info |
| 94 | +**Note** this will allow any user with these credentials to connect to the server, it is not limited to localhost |
75 | 95 |
|
76 |
| -* To monitor the logs of the container in realtime `docker logs -f heimdall`. |
| 96 | +` |
| 97 | +from shell: mysql -u root -p |
| 98 | +CREATE DATABASE bookstackapp; |
| 99 | +GRANT USAGE ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword'; |
| 100 | +GRANT ALL privileges ON 'bookstackapp'.* TO 'myuser'@localhost; |
| 101 | +FLUSH PRIVILEGES; |
| 102 | +` |
77 | 103 |
|
| 104 | +Once you have completed these, you can then use the docker run command to create your BookStack container. Make sure you replace things such as <yourdbuser> with the correct data. |
78 | 105 |
|
79 |
| -* container version number |
| 106 | +Then docker start bookstackapp to start the container. You should then be able to access the container at http://dockerhost:6875 |
80 | 107 |
|
81 |
| -`docker inspect -f '{{ index .Config.Labels "build_version" }}' heimdall` |
| 108 | +Default username is admin@admin.com with password of **password** |
82 | 109 |
|
83 |
| -* image version number |
| 110 | +## Container access and information. |
84 | 111 |
|
85 |
| -`docker inspect -f '{{ index .Config.Labels "build_version" }}' linuxserver/heimdall` |
| 112 | +| Function | Command | |
| 113 | +| :--- | :--- | |
| 114 | +| Shell access (live container) | `docker exec -it <container-name> /bin/bash` | |
| 115 | +| Realtime container logs | `docker logs -f <container-name>` | |
| 116 | +| Container version | `docker inspect -f '{{ index .Config.Labels "build_version" }}' <container-name>` | |
| 117 | +| Image version | `docker inspect -f '{{ index .Config.Labels "build_version" }}' <image-name>` | |
| 118 | +| Dockerfile | [Dockerfile][dockerfileurl] | |
86 | 119 |
|
87 |
| -## Versions |
| 120 | +## Changelog |
88 | 121 |
|
89 |
| -+ **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 |
90 |
| -+ **12.02.18:** Initial Release. |
| 122 | +| Date | Changes | |
| 123 | +| :---: | --- | |
| 124 | +| 02.07.18 | Initial Release. | |
0 commit comments