[PR #183] [CLOSED] [Enhancement] - Installation via Docker / Docker Compose #5608

Closed
opened 2026-02-05 10:12:12 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/BookStackApp/BookStack/pull/183
Author: @dylanrhysscott
Created: 9/8/2016
Status: Closed

Base: releaseHead: release


📝 Commits (2)

📊 Changes

6 files changed (+86 additions, -1 deletions)

View changed files

📝 .env.example (+1 -1)
.htaccess (+5 -0)
000-default.conf (+29 -0)
Dockerfile (+15 -0)
docker-compose.yml (+15 -0)
docker-entrypoint.sh (+21 -0)

📄 Description

Hi Dan @ssddanbrown ,

I've forked this project to dockerise it on the recommendation of Jonathan Tawn. I thought I'd chuck a pull request for it. This is for the release branch due to the need for a manifest.json. However these changes will allow Bookstack to be built and deployed in a single command making the process a lot easier

With Docker

Docker - https://www.docker.com/

  • Build the image by running docker build -t bookstack .
  • Create a DB container by running docker run -d --name mysql -e MYSQL_DATABASE=bookstack -e MYSQL_ROOT_PASSWORD=root mysql
  • Create a Bookstack container by running ```docker run -d --name bookstack -e DBNAME=bookstack -p 80:80 --link mysql:mysql bookstack

The install will be available on http://localhost

With Docker Compose

Docker Compose - https://docs.docker.com/compose/

  • Run docker-compose up

Configuration

  • All of the envs for Bookstack can be configured by editing the example .env file prior to build. With the exception of the database details. These are handled at run time
  • The database names and passwords can be configured my passing different env variables from the commands or by editing docker-compose.yml. They must be consistent between the two containers to work correctly

Base Images used

Autobuilds

Autobuilds can be configured for your project by leveraging Dockerhub - https://hub.docker.com/

Looking forward to your feedback!

Cheers

Dylan


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/BookStackApp/BookStack/pull/183 **Author:** [@dylanrhysscott](https://github.com/dylanrhysscott) **Created:** 9/8/2016 **Status:** ❌ Closed **Base:** `release` ← **Head:** `release` --- ### 📝 Commits (2) - [`b97904e`](https://github.com/BookStackApp/BookStack/commit/b97904e4bb8bf1abc08dd418ec28ccdf30c9edad) Docker Support - [`565f72d`](https://github.com/BookStackApp/BookStack/commit/565f72dc46c64438ee7a0e4d5a3359b7a797beb9) Docker Compose Support ### 📊 Changes **6 files changed** (+86 additions, -1 deletions) <details> <summary>View changed files</summary> 📝 `.env.example` (+1 -1) ➕ `.htaccess` (+5 -0) ➕ `000-default.conf` (+29 -0) ➕ `Dockerfile` (+15 -0) ➕ `docker-compose.yml` (+15 -0) ➕ `docker-entrypoint.sh` (+21 -0) </details> ### 📄 Description Hi Dan @ssddanbrown , I've forked this project to dockerise it on the recommendation of Jonathan Tawn. I thought I'd chuck a pull request for it. This is for the release branch due to the need for a manifest.json. However these changes will allow Bookstack to be built and deployed in a single command making the process a lot easier ## With Docker Docker - [https://www.docker.com/](https://www.docker.com/) - Build the image by running `docker build -t bookstack .` - Create a DB container by running `docker run -d --name mysql -e MYSQL_DATABASE=bookstack -e MYSQL_ROOT_PASSWORD=root mysql` - Create a Bookstack container by running ```docker run -d --name bookstack -e DBNAME=bookstack -p 80:80 --link mysql:mysql bookstack The install will be available on `http://localhost` ## With Docker Compose Docker Compose - [https://docs.docker.com/compose/](https://docs.docker.com/compose/) - Run `docker-compose up` ## Configuration - All of the envs for Bookstack can be configured by editing the example `.env` file prior to build. With the exception of **the database details**. These are handled at run time - The database names and passwords can be configured my passing different env variables from the commands or by editing `docker-compose.yml`. They must be consistent between the two containers to work correctly ## Base Images used - MySQL - [https://hub.docker.com/_/mysql/](https://hub.docker.com/_/mysql/) - PHP w/ Apache Tag [https://hub.docker.com/_/php/](https://hub.docker.com/_/php/) ## Autobuilds Autobuilds can be configured for your project by leveraging Dockerhub - [https://hub.docker.com/](https://hub.docker.com/) Looking forward to your feedback! Cheers Dylan --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-05 10:12:12 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/BookStack#5608