git subrepo clone https://github.com/TikiWiki/docker-tikiwiki.git tikiwiki/docker-tikiwiki

subrepo:
  subdir:   "tikiwiki/docker-tikiwiki"
  merged:   "f5d17ba"
upstream:
  origin:   "https://github.com/TikiWiki/docker-tikiwiki.git"
  branch:   "master"
  commit:   "f5d17ba"
git-subrepo:
  version:  "0.4.0"
  origin:   "???"
  commit:   "???"
diff --git a/tikiwiki/docker-tikiwiki/README.markdown b/tikiwiki/docker-tikiwiki/README.markdown
new file mode 100644
index 0000000..0d4d061
--- /dev/null
+++ b/tikiwiki/docker-tikiwiki/README.markdown
@@ -0,0 +1,203 @@
+# TikiWiki Docker Image
+
+TikiWiki is full featured content management system written in PHP. You can
+find more useful information at http://tiki.org
+
+## Pulling
+
+```
+docker pull tikiwiki/tikiwiki:19.x
+```
+
+## Running
+
+### Variables
+
+Some env variables are provided to setup the database, but you can also mount
+your configurations files inside container. The env vars and the default values
+are listed below and the names are self explanatory.
+
+```
+TIKI_DB_VERSION=19
+TIKI_DB_HOST='db'
+TIKI_DB_USER
+TIKI_DB_PASS
+TIKI_DB_NAME=tikiwiki
+```
+
+### Single container
+
+Example to get a running container below.
+
+```
+docker run --rm --name tiki --link mariadb:db \
+    -e TIKI_DB_USER=tiki \
+    -e TIKI_DB_PASS=wiki \
+    -p 80:80 \
+    -d tikiwiki/tikiwiki
+```
+
+### docker-compose
+
+The following creates and start two containers:
+
+1. TikiWiki with por 80 published on host
+2. MariaDB instance with the schema `tikiwiki`
+
+```yml
+version: '2'
+services:
+  tiki:
+    image: tikiwiki/tikiwiki:19.x
+    ports:
+    - "80:80"
+    depends_on:
+      - db
+    environment:
+      - TIKI_DB_USER=tiki
+      - TIKI_DB_PASS=wiki
+      - TIKI_DB_NAME=tikiwiki
+  db:
+    image: mariadb
+    environment:
+      - MYSQL_USER=tiki
+      - MYSQL_PASSWORD=wiki
+      - MYSQL_DATABASE=tikiwiki
+      - MYSQL_ROOT_PASSWORD=tkwkiiii
+      - TERM=dumb
+```
+
+### scalable mode with docker-compose
+
+The following recipe makes possible to grow the amount of TikiWiki
+containers, so in this way, it is possible to use more resources from
+host to handle incoming traffic.
+
+Concerning about this mode:
+
+1. It it not compatible to web installer, so installing database using
+command line is needed.
+2. It is needed to have a reverse proxy load balancing traffic to TikiWiki
+containers.
+
+#### docker-compose.yml
+
+This setup uses `eeacms/haproxy` container as reverse proxy and load balancer and
+declare a set of volumes. When new **tiki** containers are created, they will share
+the same set of volumes.
+
+```yml
+version: '3.7'
+
+services:
+  haproxy:
+    image: eeacms/haproxy
+    depends_on:
+    - tiki
+    ports:
+    - "80:5000"
+    environment:
+      BACKENDS: "tiki"
+      DNS_ENABLED: "true"
+      LOG_LEVEL: "info"
+  tiki:
+    image: tikiwiki/tikiwiki:19.x
+    depends_on:
+      - db
+    deploy:
+      replicas: 2
+    environment:
+      - TIKI_DB_USER=tiki
+      - TIKI_DB_PASS=wiki
+      - TIKI_DB_NAME=tikiwiki
+    volumes:
+      - tiki_files:/var/www/html/files/
+      - tiki_img_trackers:/var/www/html/img/trackers/
+      - tiki_img_wiki_up:/var/www/html/img/wiki_up/
+      - tiki_img_wiki:/var/www/html/img/wiki/
+      - tiki_modules_cache:/var/www/html/modules/cache/
+      - tiki_storage:/var/www/html/storage/
+      - tiki_temp:/var/www/html/temp/
+      - tiki_sessions:/var/www/sessions/
+  db:
+    image: mariadb
+    environment:
+      - MYSQL_USER=tiki
+      - MYSQL_PASSWORD=wiki
+      - MYSQL_DATABASE=tikiwiki
+      - MYSQL_ROOT_PASSWORD=tkwkiiii
+      - TERM=dumb
+volumes:
+  tiki_files:
+  tiki_img_trackers:
+  tiki_img_wiki_up:
+  tiki_img_wiki:
+  tiki_modules_cache:
+  tiki_storage:
+  tiki_temp:
+  tiki_sessions:
+```
+
+#### Starting containers
+
+First it is needed to copy the YML above in a folder with
+a descriptive name, like `example.com`.
+
+Then, inside the folder `example.com`, the following command
+starts all container from docker-compose.yml.
+
+```sh
+docker-compose up -d
+```
+
+After wait all containers to start and the console prompt appears
+again, the following command shows the containers running for
+docker-compose.yml on folder `example.com`.
+
+```
+docker-compose ps
+```
+
+The output should be like:
+
+```
+        Name                      Command               State          Ports        
+------------------------------------------------------------------------------------
+examplecom_db_1        docker-entrypoint.sh mysqld      Up      3306/tcp            
+examplecom_haproxy_1   /docker-entrypoint.sh hapr ...   Up      0.0.0.0:80->5000/tcp
+examplecom_tiki_1      /entrypoint.sh apache2-for ...   Up      443/tcp, 80/tcp     
+```
+
+There is 1 container running for each service (**db**, **haproxy**, **tiki**)
+in **example.com** folder.
+
+
+#### Installing database
+
+There is a command line installer available in tiki folder that should be used
+to install the database. **WE CAN NOT USE THE WEB INSTALLER!**. The following
+command installs Tiki database
+
+```sh
+docker-compose exec tiki php console.php database:install
+```
+
+#### Scaling containers
+
+If more Tiki container is wanted, the following command launch new containers.
+
+```sh
+docker-compose scale tiki=3
+```
+
+Now, the following containers will be listed on `docker-compose ps`:
+
+```sh
+        Name                      Command               State          Ports        
+------------------------------------------------------------------------------------
+examplecom_db_1        docker-entrypoint.sh mysqld      Up      3306/tcp            
+examplecom_haproxy_1   /docker-entrypoint.sh hapr ...   Up      0.0.0.0:80->5000/tcp
+examplecom_tiki_1      /entrypoint.sh apache2-for ...   Up      443/tcp, 80/tcp     
+examplecom_tiki_2      /entrypoint.sh apache2-for ...   Up      443/tcp, 80/tcp     
+examplecom_tiki_3      /entrypoint.sh apache2-for ...   Up      443/tcp, 80/tcp     
+```