Skip to content
This repository has been archived by the owner on Apr 26, 2023. It is now read-only.

A custom Bookstack image build with Alpine Linux and NGINX/PHP.

License

Notifications You must be signed in to change notification settings

fabiodcorreia/docker-bookstack

Repository files navigation

Docker Bookstack Image

Maintenance Drone Status Latest Release GitHub Licence

MicroBadger Layers Docker Image Size (latest by date) Docker Pulls Docker Image Version (latest semver)

A custom Bookstack image build with Alpine Linux and NGINX/PHP.

Base Packages

  • memcached
  • ttf-freefont
  • wkhtmltopdf
  • php7-ctype
  • php7-curl
  • php-dom
  • php7-gd
  • php7-memcached
  • php7-mysqlnd
  • php7-pdo_mysql
  • php7-phar
  • php7-tidy
  • php7-tokenizer

Versioning

This image follows the Semantic Versioning pattern.

  • MAJOR version - Changes on Base Image version (1.0.0 to 2.0.0)
  • MINOR version - Changes on Bookstack version (2.1.4 to 2.1.5)
  • PATCH version - Package updates and other non breaking changes on the image
  • DRAFT version - Unstable build for review (Optional)

Version Mapping

Version 1.0 1.1 2.0
Base Image 1.x.x 1.x.x 2.x.x
bookstack 0.29.2 0.29.3 0.29.2

When Base Image gets upgraded the major version is incremented, when Bookstack gets upgraded the minor version is incremented.

Tags

Tag Description
latest Latest version
1.0.0 Specific patch version
1.0 Specific minor version
1 Specific major version
1.0.0-arch Specific patch version to that arch
1.0-arch Specific minor version to that arch
1-arch Specific major version to that arch
test Branch version - DO NOT USE

The version tags are the same as the repository versioning tags but without the v. The test version is only for build purposes, it should not be pulled.

The arch can be one of the supported architectures described below.

Supported Architectures

Architecture Tag
x86-64 amd64
arm64 arm64v8
armhf arm32v7

Environment Variables

Name Description
PUID Set the UserID - Details
PGID Set the GroupID - Details
TZ Set the system timezone - Options
HTTP_TRACE Enable HTTP trace Log (default: false)
DEBUG Enable debug logs
DATABASE_HOST Set the database hostname or ip address where the application will connect
DATABASE_NAME Set the database name that will be used by the application
DATABASE_USER Set the username for the database connection
DATABASE_PASS Set the password for the database username
DOMAIN_NAME Set the application domain name in case of reverse proxy
EMAIL_HOST Set the SMTP server hostname
EMAIL_PORT Set the SMTP server port
EMAIL_USER Set the SMTP username
EMAIL_PASS Set the SMPT password
EMAIL_SECURE Set the SMTP security protocol (TLS, SSL, STARTTLS)
EMAIL_FROM Set the SMTP email FROM
STORAGE_TYPE Set storage system to use 'local', 'local_secure', 's3'
STORAGE_S3_KEY Set storage s3 key
STORAGE_S3_SECRET Set storage s3 secret
STORAGE_S3_BUCKET Set storage s3 bucket name
STORAGE_S3_ENDPOINT Set storage s3 endpoint for s3 compatibile services 'https://my-custom-s3-compatible.service.com'
STORAGE_URL Set storate s3 URL format, if not set then S3 compatible URL will be generated

Volumes and Ports

It exposes a single volume at /config where it keeps the configuration and other files related with the application.

Also a single port is exposed at 80 to allow external connections to the database.

Start Container

docker run \
  -e PUID=1000 \
  -e PGID=1000 \
  -e DATABASE_HOST=mariadb_bookstack \
  -e DATABASE_NAME=bookstackdb \
  -e DATABASE_USER=bookstackuser \
  -e DATABASE_PASS=bookstackpass \
  -p 80:80 \
  -v $PWD:/config \
  fabiodcorreia/bookstack

Or use docker-compose, an example is provided on docker-compose.yml