{"id":13548253,"url":"https://github.com/tiredofit/docker-bookstack","last_synced_at":"2025-04-09T07:25:06.954Z","repository":{"id":38974984,"uuid":"277325809","full_name":"tiredofit/docker-bookstack","owner":"tiredofit","description":"Dockerized Information Manager","archived":false,"fork":false,"pushed_at":"2025-04-02T17:51:42.000Z","size":205,"stargazers_count":12,"open_issues_count":1,"forks_count":2,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-02T18:48:26.688Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Dockerfile","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tiredofit.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["tiredofit"]}},"created_at":"2020-07-05T15:08:24.000Z","updated_at":"2025-04-02T17:51:44.000Z","dependencies_parsed_at":"2024-01-16T19:01:08.256Z","dependency_job_id":"cabeb003-f1c5-4208-9f2c-46d1eeea7b3b","html_url":"https://github.com/tiredofit/docker-bookstack","commit_stats":null,"previous_names":[],"tags_count":152,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-bookstack","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-bookstack/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-bookstack/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tiredofit%2Fdocker-bookstack/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tiredofit","download_url":"https://codeload.github.com/tiredofit/docker-bookstack/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247995985,"owners_count":21030397,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T12:01:07.875Z","updated_at":"2025-04-09T07:25:06.936Z","avatar_url":"https://github.com/tiredofit.png","language":"Dockerfile","readme":"# github.com/tiredofit/docker-bookstack\n\n[![GitHub release](https://img.shields.io/github/v/tag/tiredofit/docker-bookstack?style=flat-square)](https://github.com/tiredofit/docker-bookstack/releases/latest)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/tiredofit/docker-bookstackmain.yml?branch=main\u0026style=flat-square)](https://github.com/tiredofit/docker-bookstack.git/actions)\n[![Docker Stars](https://img.shields.io/docker/stars/tiredofit/bookstack.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tiredofit/bookstack/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/tiredofit/bookstack.svg?style=flat-square\u0026logo=docker)](https://hub.docker.com/r/tiredofit/bookstack/)\n[![Become a sponsor](https://img.shields.io/badge/sponsor-tiredofit-181717.svg?logo=github\u0026style=flat-square)](https://github.com/sponsors/tiredofit)\n[![Paypal Donate](https://img.shields.io/badge/donate-paypal-00457c.svg?logo=paypal\u0026style=flat-square)](https://www.paypal.me/tiredofit)\n\n* * *\n\n## About\n\nThis will build a Docker image for [Bookstack](https://bookstackapp.com/) - A Knowledge Base/Information Manager.\n\n- Automatically installs and sets up installation upon first start\n\n## Maintainer\n\n- [Dave Conroy](https://github.com/tiredofit)\n\n## Table of Contents\n\n- [About](#about)\n- [Maintainer](#maintainer)\n- [Table of Contents](#table-of-contents)\n- [Prerequisites and Assumptions](#prerequisites-and-assumptions)\n- [Installation](#installation)\n  - [Build from Source](#build-from-source)\n  - [Prebuilt Images](#prebuilt-images)\n- [Configuration](#configuration)\n  - [Quick Start](#quick-start)\n  - [Persistent Storage](#persistent-storage)\n  - [Environment Variables](#environment-variables)\n    - [Base Images used](#base-images-used)\n    - [Core Options](#core-options)\n    - [Bookstack Options](#bookstack-options)\n    - [Authentication Settings](#authentication-settings)\n      - [LDAP Options](#ldap-options)\n      - [SAML Options](#saml-options)\n      - [OpenID Connect](#openid-connect)\n    - [External Login Services](#external-login-services)\n    - [Cache and Session Settings](#cache-and-session-settings)\n    - [Mail Settings](#mail-settings)\n    - [Storage Settings](#storage-settings)\n  - [Networking](#networking)\n- [Maintenance](#maintenance)\n  - [Shell Access](#shell-access)\n- [Support](#support)\n  - [Usage](#usage)\n  - [Bugfixes](#bugfixes)\n  - [Feature Requests](#feature-requests)\n  - [Updates](#updates)\n- [License](#license)\n- [References](#references)\n\n## Prerequisites and Assumptions\n*  Assumes you are using some sort of SSL terminating reverse proxy such as:\n   *  [Traefik](https://github.com/tiredofit/docker-traefik)\n   *  [Nginx](https://github.com/jc21/nginx-proxy-manager)\n   *  [Caddy](https://github.com/caddyserver/caddy)\n* Requires access to a MySQL/MariaDB Database server\n\n## Installation\n\n### Build from Source\nClone this repository and build the image with `docker build -t (imagename) .`\n\n### Prebuilt Images\nBuilds of the image are available on [Docker Hub](https://hub.docker.com/r/tiredofit/bookstack)\n\n```bash\ndocker pull docker.io/tiredofit/bookstack:(imagetag)\n```\n\nBuilds of the image are also available on the [Github Container Registry](https://github.com/tiredofit/docker-bookstack/pkgs/container/docker-bookstack)\n\n```\ndocker pull ghcr.io/tiredofit/docker-bookstack:(imagetag)\n```\n\nThe following image tags are available along with their tagged release based on what's written in the [Changelog](CHANGELOG.md):\n\n| Container OS | Tag       |\n| ------------ | --------- |\n| Alpine       | `:latest` |\n\n## Configuration\n\n### Quick Start\n\n- The quickest way to get started is using [docker-compose](https://docs.docker.com/compose/). See the examples folder for a working [docker-compose.yml](examples/docker-compose.yml) that can be modified for development or production use.\n\n- Set various [environment variables](#environment-variables) to understand the capabilities of this image.\n- Map [persistent storage](#data-volumes) for access to configuration and data files for backup.\n- Make [networking ports](#networking) available for public access if necessary\n\n**The first boot can take from 2 minutes - 5 minutes depending on your CPU to setup the proper schemas.**\n\n- Login to the web server and enter in your admin email address, admin password and start configuring the system!\n\n\n### Persistent Storage\n\nThe following directories are used for configuration and can be mapped for persistent storage.\n\n| Directory        | Description                                                                  |\n| ---------------- | ---------------------------------------------------------------------------- |\n| `/www/logs`      | Nginx and PHP Log files                                                      |\n| `/www/bookstack` | (Optional) If you want to expose the bookstack sourcecode expose this volume |\n| **OR**           |                                                                              |\n| `/data`          | Hold onto your persistent sessions and cache between container restarts      |\n\n### Environment Variables\n\n#### Base Images used\n\nThis image relies on an [Alpine Linux](https://hub.docker.com/r/tiredofit/alpine) or [Debian Linux](https://hub.docker.com/r/tiredofit/debian) base image that relies on an [init system](https://github.com/just-containers/s6-overlay) for added capabilities. Outgoing SMTP capabilities are handlded via `msmtp`. Individual container performance monitoring is performed by [zabbix-agent](https://zabbix.org). Additional tools include: `bash`,`curl`,`less`,`logrotate`,`nano`.\n\nBe sure to view the following repositories to understand all the customizable options:\n\n| Image                                                         | Description                            |\n| ------------------------------------------------------------- | -------------------------------------- |\n| [OS Base](https://github.com/tiredofit/docker-alpine/)        | Customized Image based on Alpine Linux |\n| [Nginx](https://github.com/tiredofit/docker-nginx/)           | Nginx webserver                        |\n| [PHP-FPM](https://github.com/tiredofit/docker-nginx-php-fpm/) | PHP Interpreter                        |\n#### Core Options\n\n| Parameter                  | Description                                                      | Default           | `_FILE` |\n| -------------------------- | ---------------------------------------------------------------- | ----------------- | ------- |\n| `ADMIN_NAME`               | Full name of Administrator Account                               | `BookStack Admin` | x       |\n| `ADMIN_PASS`               | Password of Administrator account                                | `password`        | x       |\n| `ADMIN_EMAIL`              | Email address of Administrator Account                           | `admin@admin.com` | x       |\n| `DB_HOST`                  | Host or container name of MariaDB Server e.g. `bookstack-db`     |                   | x       |\n| `DB_NAME`                  | MariaDB Database name e.g. `bookstack`                           |                   | x       |\n| `DB_PASS`                  | MariaDB Password for above Database e.g. `password`              |                   | x       |\n| `DB_PORT`                  | MariaDB Port                                                     | `3306`            | x       |\n| `DB_USER`                  | MariaDB Username for above Database e.g. `bookstack`             |                   | x       |\n| `ENABLE_OPTMIZE_IMAGES`    | Enable automatic image optimizations using optipng and jpegoptim | `TRUE`            |         |\n| `OPTIMIZE_IMAGES_BEGIN`    | When to start image optimization use military time HHMM          | `0300`            |         |\n| `OPTIMIZE_IMAGES_INTERVAL` | How often to perform image optimization in minutes               | `1440`            |         |\n| `LANGUAGE`                 | Language for Application                                         | `en`              |         |\n| `SETUP_TYPE`               | `AUTO` generate configuration. `MANUAL` don't do anything        | `AUTO`            |         |\n| `SITE_URL`                 | The full URL that you are serving this application from          | `null`            |         |\n| `TIMEZONE`                 | Timezone - Use Unix Style                                        | `Etc/UTC`         |         |\n\n- \u003chttps://www.bookstackapp.com/docs/admin/language-config\u003e\n\n#### Bookstack Options\n\n| Parameter                    | Description                                                                                        | Default                                                                                      |\n| ---------------------------- | -------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |\n| `ALLOWED_IFRAME_HOSTS`       | Allow serving Bookstack via an IFrame  - Multiple can be used seperated by a line                  |                                                                                              |\n| `ALLOWED_IFRAME_SOURCES`     | Allow IFrames from specific domains `*` for All                                                    | `https://*.draw.io https://*.youtube.com https://*.youtube-nocookie.com https://*.vimeo.com` |\n| `ALLOWED_SSR_HOSTS`          | Allowed Server Side Request List (Webhooks)                                                        | `*`                                                                                          |\n| `ALLOW_CONTENT_SCRIPTS`      | Allow javascript within content                                                                    | `false`                                                                                      |\n| `ALLOW_ROBOTS`               | Allow robots to Index site                                                                         | `false`                                                                                      |\n| `API_DEFAULT_ITEM_COUNT`     | API Default Return Items Count                                                                     | `100`                                                                                        |\n| `API_DEFAULT_MAX_ITEM_COUNT` | API Default Maximum Items Count                                                                    | `500`                                                                                        |\n| `API_REQUESTS_PER_MIN`       | API Requests per minute limit                                                                      | `180`                                                                                        |\n| `AVATAR_URL`                 | Set URL for external Avatar fetching                                                               |                                                                                              |\n| `DEFAULT_DARK_MODE`          | Use Dark mode by default                                                                           | `false`                                                                                      |\n| `DISABLE_EXTERNAL_SERVICES`  | Disable every external service                                                                     | `false`                                                                                      |\n| `DRAWIO_HOST`                | Full URL of DrawIO server if not wanting to use default                                            |                                                                                              |\n| `ENABLE_DRAWIO`              | Enable DrawIO Functionality                                                                        | `false`                                                                                      |\n| `FILE_UPLOAD_MAX_SIZE`       | Max MB of files to upload into the system                                                          | `50`                                                                                         |\n| `IP_ADDRESS_PRECISION`       | Alter precision of IP Addresses stored by bookstack `0` to `4`                                     | `4`                                                                                          |\n| `LOG_FILE`                   | Log File                                                                                           | `bokstack.log`                                                                               |\n| `LOG_PATH`                   | Log Path                                                                                           | `/www/logs/bokstack`                                                                         |\n| `LOG_FAILED_LOGIN_MESSAGE`   | Enable logging of fdailed email and password logins with given message                             | `false`                                                                                      |\n| `LOG_FAILED_LOGIN_CHANNEL`   | Default log channel uses php_error_log function                                                    | `errorlog_plain_webserver`                                                                   |\n| `LANGUAGE_AUTO_DETECT`       | Detect Language via Browser                                                                        | `false`                                                                                      |\n| `QUEUE_CONNECTION`           | Queue Connection                                                                                   | `sync`                                                                                       |\n| `RECYCLE_BIN_LIFETIME`       | How Many days Recycle Bin should wait before auto deleting. `0` for no feature, `-1` for unlimited | `30`                                                                                         |\n| `REVISION_LIMIT`             | Default Revision Limit for pages                                                                   | `100`                                                                                        |\n| `THEME`                      | Drop themes in /data/themes and set value here                                                     | `false`                                                                                      |\n| `VIEW_BOOKS`                 | View books in either `list` or `grid` format                                                       | `list`                                                                                       |\n| `VIEW_SHELVES`               | View shelves in either `list` or `grid` format                                                     | `grid`                                                                                       |\n\n#### Authentication Settings\n\n| Parameter             | Description                        | Default    |\n| --------------------- | ---------------------------------- | ---------- |\n| `AUTHENTICATION_TYPE` | `STANDARD`, `LDAP`, `OIDC`, `SAML` | `STANDARD` |\n\n##### LDAP Options\n\n| Parameter                     | Description                                             | Default                              | `_FILE` |\n| ----------------------------- | ------------------------------------------------------- | ------------------------------------ | ------- |\n| `ENABLE_LDAP_USER_SYNC`       | Enable Scheduled Syncing of LDAP User list              | `TRUE`                               |         |\n| `LDAP_ATTRIBUTE_DISPLAY_NAME` | Display Name Attribute                                  | `cn`                                 |         |\n| `LDAP_ATTRIBUTE_GROUP`        | Group Attribute                                         | `memberOf`                           |         |\n| `LDAP_ATTRIBUTE_ID`           | Unique Identifier Attribute                             | `uid`                                |         |\n| `LDAP_ATTRIBUTE_MAIL`         | Mail Attribute                                          | `mail`                               |         |\n| `LDAP_THUMBNAIL_ATTRIBUTE`    | Thumb nail attribute                                    |                                      |         |\n| `LDAP_BASE_DN`                | Base DN to search                                       |                                      | x       |\n| `LDAP_BIND_PASS`              | Bind password for authentication                        |                                      | x       |\n| `LDAP_BIND_USER`              | Bind User for authentication                            |                                      | x       |\n| `LDAP_DUMP_USER_DETAILS`      | Used for Debugging                                      | `false`                              |         |\n| `LDAP_FILTER_USER`            | User Filter                                             | `(\u0026(${LDAP_ATTRIBUTE_ID}=\\${user}))` |         |\n| `LDAP_FILTER_SYNC`            | Filter for syncing users from LDAP                      | `false`                              |         |\n| `LDAP_FOLLOW_REFERRALS`       | Follow LDAP Referrals                                   | `true`                               |         |\n| `LDAP_HOST`                   | LDAP Hostname                                           |                                      | x       |\n| `LDAP_SYNC_BEGIN`             | When to start syncing in military time HHMM             | `+0` (immediate)                     |         |\n| `LDAP_SYNC_EXCLUDE_EMAIL`     | Comma seperated values of emails to ignore when syncing |                                      |         |\n| `LDAP_SYNC_INTERVAL`          | In minutes amount of time to reperform LDAP Sync        | `60`                                 |         |\n| `LDAP_SYNC_RECURSIVE`         | Recursively search through LDAP Groups                  | `true`                               |         |\n| `LDAP_REMOVE_FROM_GROUPS`     | Remove user from Groups                                 | `false`                              |         |\n| `LDAP_TLS_INSECURE`           | Use TLS without verifying                               | `false`                              |         |\n| `LDAP_USER_TO_GROUPS`         | Add user to Groups                                      | `false`                              |         |\n| `LDAP_VERSION`                | Version of LDAP                                         | `3`                                  |         |\n\n- \u003chttps://www.bookstackapp.com/docs/admin/ldap-auth\u003e\n##### SAML Options\n\n| Parameter                     | Description                      | Default        |\n| ----------------------------- | -------------------------------- | -------------- |\n| `SAML_IDP_ENTITYID`           | URL of SAML IDP entity           |                |\n| `SAML_IDP_SLO`                | SAML Single Log off URL          |                |\n| `SAML_IDP_SSO`                | SAML Single Sign on URL          |                |\n| `SAML_ATTRIBUTE_DISPLAY_NAME` | SAML Display Name attribute      | `givenName sn` |\n| `SAML_ATTRIBUTE_GROUP`        | SAML Group attribute             | `groups`       |\n| `SAML_ATTRIBUTE_MAIL`         | SAML Mail attribute              | `mail`         |\n| `SAML_ATTRIBUTE_EXTERNAL_ID`  | SAML External ID attribute       | `uid`          |\n| `SAML_AUTOLOAD_METADATA`      | Auto Load Metadata from SAML IDP | `true`         |\n| `SAML_DUMP_USER_DETAILS`      | Used for debugging               | `false`        |\n| `SAML_NAME`                   | SAML Public Service Name         | `SSO`          |\n| `SAML_REMOVE_FROM_GROUPS`     | Remove user from Groups          | `false`        |\n| `SAML_USER_TO_GROUPS`         | Add user to Groups               | `true`         |\n| `SAML2_IDP_AUTHNCONTEXT`      | AuthN Context                    | `true`         |\n| `SAML_SP_X509`                | SAML SP Public Certificate       | ``             |\n| `SAML_SP_X509_KEY`            | SAML SP Private Key              | ``             |\n\n\n- \u003chttps://www.bookstackapp.com/docs/admin/saml2-auth\u003e\n\n##### OpenID Connect\n\n| Parameter                  | Description                                                          | Default  | `_FILE` |\n| -------------------------- | -------------------------------------------------------------------- | -------- | ------- |\n| `OIDC_NAME`                | Name to appear on login screen                                       | `SSO`    |         |\n| `OIDC_DISPLAY_NAME_CLAIMS` | Claims to use for users display name                                 | `name`   | x       |\n| `OIDC_CLIENT_ID`           | OIDC Client ID                                                       |          | x       |\n| `OIDC_CLIENT_SECRET`       | OIDC Client Secret                                                   |          | x       |\n| `OIDC_ISSUER`              | Issuer URL must start with https://                                  |          | x       |\n| `OIDC_ISSUER_DISCOVER`     | Auto Discover endpoints from .well-known                             | `TRUE`   |         |\n| `OIDC_PUBLIC_KEY`          | (if above false) File path to where Public Key of provicer is stored |          | x       |\n| `OIDC_AUTH_ENDPOINT`       | (if above false) Full URL to Authorize Endpoint                      |          | x       |\n| `OIDC_TOKEN_ENDPOINT`      | (if above false) FulL URL to Token Endpoint                          |          | x       |\n| `OIDC_ADDITIONAL_SCOPES`   | OIDC Additional Scopes                                               | `null`   |         |\n| `OIDC_USER_TO_GROUPS`      | Add user to Groups                                                   | `false`  |         |\n| `OIDC_ATTRIBUTE_GROUP`     | Groups Attribute passed from OIDC Server                             | `groups` |         |\n| `OIDC_REMOVE_FROM_GROUPS`  | Remove user from groups                                              | `false`  |         |\n|                            |\n#### External Login Services\n\n| Parameter                                               | Description                     | Default | `_FILE` |\n| ------------------------------------------------------- | ------------------------------- | ------- | ------- |\n| `ENABLE_LOGIN_AZURE`                                    | Enable Logging in from Azure    | `false` |         |\n| `AZURE_APP_ID`                                          | Application ID                  |         | x       |\n| `AZURE_APP_SECRET`                                      | Application Secret              |         | x       |\n| `AZURE_AUTO_CONFIRM_EMAIL`                              | Auto confirm email address      | `false` |         |\n| `AZURE_AUTO_REGISTER`                                   | Auto register username          | `false` | x       |\n| `AZURE_TENANT`                                          | Tenant ID                       |         |         |\n| `ENABLE_LOGIN_DISCORD`                                  | Enable Logging in from Discord  | `false` |         |\n| `DISCORD_APP_ID`                                        | Application ID                  |         | x       |\n| `DISCORD_APP_SECRET`                                    | Application Secret              |         | x       |\n| `DISCORD_AUTO_CONFIRM_EMAIL`                            | Auto confirm email address      | `false` |         |\n| `DISCORD_AUTO_REGISTER`                                 | Auto register username          | `false` |         |\n| `ENABLE_LOGIN_FACEBOOK`                                 | Enable Logging in from Facebook | `false` |         |\n| `FACEBOOK_APP_ID`                                       | Application ID                  |         | x       |\n| `FACEBOOK_APP_SECRET`                                   | Application Secret              |         | x       |\n| `FACEBOOK_AUTO_CONFIRM_EMAIL`                           | Auto confirm email address      | `false` |         |\n| `FACEBOOK_AUTO_REGISTER`                                | Auto register username          | `false` |         |\n| `ENABLE_LOGIN_GITHUB`                                   | Enable Logging in from Github   | `false` |         |\n| `GITHUB_APP_ID`                                         | Application ID                  |         | x       |\n| `GITHUB_APP_SECRET`                                     | Application Secret              |         | x       |\n| `GITHUB_AUTO_CONFIRM_EMAIL`                             | Auto confirm email address      | `false` |         |\n| `GITHUB_AUTO_REGISTER`                                  | Auto register username          | `false` |         |\n| `ENABLE_LOGIN_GITLAB`                                   | Enable Logging in from Gitlab   | `false` |         |\n| `GITLAB_APP_ID`                                         | Application ID                  |         | x       |\n| `GITLAB_APP_SECRET`                                     | Application Secret              |         | x       |\n| `GITLAB_AUTO_CONFIRM_EMAIL`                             | Auto confirm email address      | `false` |         |\n| `GITLAB_AUTO_REGISTER`                                  | Auto register username          | `false` |         |\n| `GITLAB_BASE_URI`                                       | Gitlab URI                      |         | x       |\n| `ENABLE_LOGIN_GOOGLE`                                   | Enable Logging in from Google   | `false` |         |\n| `GOOGLE_APP_ID`                                         | Application ID                  |         | x       |\n| `GOOGLE_APP_SECRET`                                     | Application Secret              |         | x       |\n| `GOOGLE_AUTO_CONFIRM_EMAIL`                             | Auto confirm email address      | `false` |         |\n| `GOOGLE_AUTO_REGISTER`                                  | Auto register username          | `false` |         |\n| `GOOGLE_SELECT_ACCOUNT`                                 | Select Google Account           |         | x       |\n| `ENABLE_LOGIN_OKTA`                                     | Enable Logging in from OKTA     | `false` |         |\n| `OKTA_APP_ID`                                           | Application ID                  |         | x       |\n| `OKTA_APP_SECRET`                                       | Application Secret              |         | x       |\n| `OKTA_AUTO_CONFIRM_EMAIL`                               | Auto confirm email address      | `false` |         |\n| `OKTA_AUTO_REGISTER`                                    | Auto register username          | `false` |         |\n| `OKTA_BASE_URL`                                         | OKTA Base URI                   |         | x       |\n| `ENABLE_LOGIN_SLACK`                                    | Enable Logging in from Slack    | `false` |         |\n| `SLACK_APP_ID`                                          | Application ID                  |         | x       |\n| `SLACK_APP_SECRET`                                      | Application Secret              |         | x       |\n| `SLACK_AUTO_CONFIRM_EMAIL`                              | Auto confirm email address      | `false` |         |\n| `SLACK_AUTO_REGISTER`                                   | Auto register username          | `false` |         |\n| `ENABLE_LOGIN_TWITCH`                                   | Enable Logging in from Twitch   | `false` |         |\n| `TWITCH_APP_ID`                                         | Application ID                  |         | x       |\n| `TWITCH_APP_SECRET`                                     | Application Secret              |         | x       |\n| `TWITCH_AUTO_CONFIRM_EMAIL`                             | Auto confirm email address      | `false` |         |\n| `TWITCH_AUTO_REGISTER`                                  | Auto register username          | `false` |         |\n| `ENABLE_LOGIN_TWITTER`                                  | Enable Logging in from Twitter  | `false` |         |\n| `TWITTER_APP_ID`                                        | Application ID                  |         | x       |\n| `TWITTER_APP_SECRET`                                    | Application Secret              |         | x       |\n| `TWITTER_AUTO_CONFIRM_EMAIL`                            | Auto confirm email address      | `false` |         |\n| `TWITTER_AUTO_REGISTER`                                 | Auto register username          | `false` |         |\n|                                                         |\n| - \u003chttps://www.bookstackapp.com/docs/admin/social-auth\u003e |\n\n\n#### Cache and Session Settings\n\n| Parameter               | Description                                                                    | Default             | `_FILE` |\n| ----------------------- | ------------------------------------------------------------------------------ | ------------------- | ------- |\n| `CACHE_DRIVER`          | Use what backend for cache `file` `database` `redis` `memcached`               | `file`              |         |\n| `CACHE_PREFIX`          | Cache Prefix                                                                   | `bookstack`         |         |\n| `SESSION_COOKIE_NAME`   | Cookie Name                                                                    | `bookstack_session` |         |\n| `SESSION_DRIVER`        | Use what backend for sesssion management `file` `database` `redis` `memcached` | `FILE`              |         |\n| `SESSION_LIFETIME`      | How long in minutes for Ssession                                               | `120`               |         |\n| `SESSION_SECURE_COOKIE` | Deliver HTTPS cookie                                                           | `true`              |         |\n| `MEMCACHED_HOST`        | Memcached Hostname                                                             |                     | x       |\n| `MEMCACHED_PORT`        | Memcached Port                                                                 | `11211`             |         |\n| `MEMCACHED_WEIGHT`      | Memcached Weight                                                               | `100`               |         |\n| `REDIS_DB`              | Redis DB                                                                       | `0`                 | x       |\n| `REDIS_PORT`            | Redis Port                                                                     | `6379`              | x       |\n| `REDIS_HOST`            | Redis Hostname                                                                 |                     | x       |\n\n- \u003chttps://www.bookstackapp.com/docs/admin/cache-session-config\u003e\n\n#### Mail Settings\n\n| Parameter        | Description                             | Default                 | `_FILE` |\n| ---------------- | --------------------------------------- | ----------------------- | ------- |\n| `MAIL_FROM_NAME` | Display name to be sent from Bookstack  | `BookStack`             |         |\n| `MAIL_FROM`      | Email address to be sent from Bookstack | `bookstack@example.com` |         |\n| `MAIL_TYPE`      | How to send mail - `SMTP`               | `SMTP`                  |         |\n| `SMTP_HOST`      | Hostname of SMTP Server                 | `postfix-relay`         | x       |\n| `SMTP_PASS`      | SMTP Password                           | `null`                  | x       |\n| `SMTP_PORT`      | SMTP Port                               | `25`                    | x       |\n| `SMTP_TLS`       | Enable TLS for SMTP Connections         | `FALSE`                 |         |\n| `SMTP_USER`      | SMTP Username                           | `null`                  | x       |\n\n- \u003chttps://www.bookstackapp.com/docs/admin/email-config\u003e\n\n#### Storage Settings\n\n| Parameter                 | Description                                                              | Default        | `FILE` |\n| ------------------------- | ------------------------------------------------------------------------ | -------------- | ------ |\n| `STORAGE_TYPE`            | How to store files `local` `local_secure` `s3`                           | `local`        |        |\n| `STORAGE_ATTACHMENT_TYPE` | Attachment storage type                                                  | `local_secure` |        |\n| `STORAGE_IMAGE_TYPE`      | Image storage type                                                       | `local`        |        |\n| `STORAGE_S3_BUCKET`       | S3 Bucket                                                                |                | x      |\n| `STORAGE_S3_KEY`          | S3 Key                                                                   |                | x      |\n| `STORAGE_S3_REGION`       | S3 Region                                                                |                | x      |\n| `STORAGE_S3_SECRET`       | S3 Key                                                                   |                | x      |\n| `STORAGE_URL`             | Set this if you are connecting to a compatible service like Minio/Wasabi |                | x      |\n\n- \u003chttps://www.bookstackapp.com/docs/admin/upload-config\u003e\n\n### Networking\n\nThe following ports are exposed.\n\n| Port | Description |\n| ---- | ----------- |\n| `80` | HTTP        |\n\n* * *\n## Maintenance\n\n### Shell Access\n\nFor debugging and maintenance purposes you may want access the containers shell.\n\n``bash\ndocker exec -it (whatever your container name is) bash\n``\n## Support\n\nThese images were built to serve a specific need in a production environment and gradually have had more functionality added based on requests from the community.\n### Usage\n- The [Discussions board](../../discussions) is a great place for working with the community on tips and tricks of using this image.\n- [Sponsor me](https://tiredofit.ca/sponsor) for personalized support\n### Bugfixes\n- Please, submit a [Bug Report](issues/new) if something isn't working as expected. I'll do my best to issue a fix in short order.\n\n### Feature Requests\n- Feel free to submit a feature request, however there is no guarantee that it will be added, or at what timeline.\n- [Sponsor me](https://tiredofit.ca/sponsor) regarding development of features.\n\n### Updates\n- Best effort to track upstream changes, More priority if I am actively using the image in a production environment.\n- [Sponsor me](https://tiredofit.ca/sponsor) for up to date releases.\n\n## License\nMIT. See [LICENSE](LICENSE) for more details.\n\n## References\n\n- \u003chttps://www.bookstackapp.com/docs\u003e\n","funding_links":["https://github.com/sponsors/tiredofit","https://www.paypal.me/tiredofit"],"categories":["Dockerfile"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiredofit%2Fdocker-bookstack","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftiredofit%2Fdocker-bookstack","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftiredofit%2Fdocker-bookstack/lists"}