From 8bd485877ec9edc2ff2b7b495816053621cb5c43 Mon Sep 17 00:00:00 2001 From: Mike Pirog Date: Wed, 6 Apr 2016 13:59:38 -0700 Subject: [PATCH] Add docs for backdrop - First pass on source docs for backdrop - Update update.sh to include backdrop - Added user feedback links. - Expanded the 'what is Backdrop' section. - Fix up some MD linting chaos for backdrop --- backdrop/README-short.txt | 1 + backdrop/content.md | 80 ++++++++++++++++++++++++++++++++++++++ backdrop/license.md | 1 + backdrop/logo.png | Bin 0 -> 10452 bytes update.sh | 1 + 5 files changed, 83 insertions(+) create mode 100644 backdrop/README-short.txt create mode 100644 backdrop/content.md create mode 100644 backdrop/license.md create mode 100644 backdrop/logo.png diff --git a/backdrop/README-short.txt b/backdrop/README-short.txt new file mode 100644 index 00000000..0ce82b13 --- /dev/null +++ b/backdrop/README-short.txt @@ -0,0 +1 @@ +The comprehensive CMS for small to medium sized businesses and non-profits. diff --git a/backdrop/content.md b/backdrop/content.md new file mode 100644 index 00000000..68c7360b --- /dev/null +++ b/backdrop/content.md @@ -0,0 +1,80 @@ +# What is Backdrop CMS? + +Backdrop CMS is a comprehensive Content Management System for small to medium sized businesses and non-profits. It is a fork of the Drupal project. + +Backdrop CMS enables people to build highly customized websites, affordably, through collaboration and open source software. For more on the Backdrop's philosophy see https://backdropcms.org/philosophy. + +%%LOGO%% + +# How to use this image + +The basic pattern for starting a `%%REPO%%` instance is: + +```console +$ docker run --name some-%%REPO%% --link some-mysql:mysql -d %%REPO%% +``` + +The following environment variables are also honored for configuring your Backdrop CMS instance: + +- `-e BACKDROP_DB_HOST=...` (defaults to the IP and port of the linked `mysql` container) +- `-e BACKDROP_DB_USER=...` (defaults to "root") +- `-e BACKDROP_DB_PASSWORD=...` (defaults to the value of the `MYSQL_ROOT_PASSWORD` environment variable from the linked `mysql` container) +- `-e BACKDROP_DB_NAME=...` (defaults to "backdrop") +- `-e BACKDROP_DB_PORT=...` (defaults to 3306) +- `-e BACKDROP_DB_DRIVER=...` (defaults to "mysql") + +The `BACKDROP_DB_NAME` **must already exist** on the given MySQL server. Check out the [official mysql image](https://hub.docker.com/_/mysql/) for more info on spinning up a DB. + +If you'd like to be able to access the instance from the host without the container's IP, standard port mappings can be used: + +```console +$ docker run --name some-%%REPO%% --link some-mysql:mysql -p 8080:80 -d %%REPO%% +``` + +Then, access it via `http://localhost:8080` or `http://host-ip:8080` in a browser. + +If you'd like to use an external database instead of a linked `mysql` container, specify the hostname and port with `BACKDROP_DB_HOST`/`BACKDROP_DB_PORT` along with the password in `BACKDROP_DB_PASSWORD` and the username in `BACKDROP_DB_USER` (if it is something other than `root`): + +```console +$ docker run --name some-%%REPO%% \ + -e BACKDROP_DB_HOST=10.1.2.3 \ + -e BACKDROP_DB_PORT=10432 \ + -e BACKDROP_DB_USER=... \ + -e BACKDROP_DB_PASSWORD=... \ + -d %%REPO%% +``` + +## ... via [`docker-compose`](https://github.com/docker/compose) + +Example `docker-compose.yml` for `%%REPO%%`: + +```yaml +%%REPO%%: + image: %%REPO%% + links: + - db:mysql + ports: + - 8080:80 + +db: + image: mysql + environment: + MYSQL_USER: %%REPO%% + MYSQL_PASSWORD: %%REPO%% + MYSQL_ALLOW_EMPTY_PASSWORD: 'yes' + MYSQL_DATABASE: %%REPO%% + +``` + +Run `docker-compose up`, wait for it to initialize completely, and visit `http://localhost:8080` or `http://host-ip:8080`. + +## Adding additional libraries / extensions + +This image does not provide any additional PHP extensions or other libraries, even if they are required by popular plugins. There are an infinite number of possible plugins, and they potentially require any extension PHP supports. Including every PHP extension that exists would dramatically increase the image size. + +If you need additional PHP extensions, you'll need to create your own image `FROM` this one. The [documentation of the `php` image](https://github.com/docker-library/docs/blob/master/php/README.md#how-to-install-more-php-extensions) explains how to compile additional extensions. Additionally, the [`drupal:7` Dockerfile](https://github.com/docker-library/drupal/blob/bee08efba505b740a14d68254d6e51af7ab2f3ea/7/Dockerfile#L6-9) has an example of doing this. + +The following Docker Hub features can help with the task of keeping your dependent images up-to-date: + +- [Automated Builds](https://docs.docker.com/docker-hub/builds/) let Docker Hub automatically build your Dockerfile each time you push changes to it. +- [Repository Links](https://docs.docker.com/docker-hub/builds/#repository-links) can ensure that your image is also rebuilt any time `backdrop` is updated. diff --git a/backdrop/license.md b/backdrop/license.md new file mode 100644 index 00000000..69923a9c --- /dev/null +++ b/backdrop/license.md @@ -0,0 +1 @@ +View [license information](https://backdropcms.org/license) for the software contained in this image. diff --git a/backdrop/logo.png b/backdrop/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..01bce075bcc6fafbff5a2a06da369f9e065445a8 GIT binary patch literal 10452 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 Jf3