diff --git a/.github/workflows/epicmorg.base.images.web.yml b/.github/workflows/epicmorg.base.images.web.yml
index ef302c039..4d55ad87c 100644
--- a/.github/workflows/epicmorg.base.images.web.yml
+++ b/.github/workflows/epicmorg.base.images.web.yml
@@ -21,8 +21,14 @@ jobs:
- name: Test Make
run: make
- - name: "Build and Deploy PHP Latest Image:"
- run: cd linux/ecosystem/php/latest && pwd && make build && make deploy
+# - name: "Build and Deploy PHP Latest Image:"
+# run: cd linux/ecosystem/php/latest && pwd && make build && make deploy
+
+ - name: "Build and Deploy PHP 7.0 Image:"
+ run: cd linux/ecosystem/php/php7.0 && pwd && make build && make deploy
+
+ - name: "Build and Deploy PHP 7.1 Image:"
+ run: cd linux/ecosystem/php/php7.1 && pwd && make build && make deploy
- name: "Build and Deploy PHP 7.2 Image:"
run: cd linux/ecosystem/php/php7.2 && pwd && make build && make deploy
@@ -39,6 +45,12 @@ jobs:
- name: "Build and Deploy PHP 8.1 Image:"
run: cd linux/ecosystem/php/php8.1 && pwd && make build && make deploy
+ - name: "Build and Deploy PHP 8.2 Image:"
+ run: cd linux/ecosystem/php/php8.2 && pwd && make build && make deploy
+
+ - name: "Build and Deploy PHP 8.3 Image:"
+ run: cd linux/ecosystem/php/php8.3 && pwd && make build && make deploy
+
##################################################################################
build-apache2-images:
@@ -54,8 +66,14 @@ jobs:
- name: Test Make
run: make
- - name: "Build and Deploy Apache 2 Latest Image:"
- run: cd linux/ecosystem/apache2/latest && pwd && make build && make deploy
+# - name: "Build and Deploy Apache 2 Latest Image:"
+# run: cd linux/ecosystem/apache2/latest && pwd && make build && make deploy
+
+ - name: "Build and Deploy Apache 2 + PHP 7.0 Image:"
+ run: cd linux/ecosystem/apache2/php7.0 && pwd && make build && make deploy
+
+ - name: "Build and Deploy Apache 2 + PHP 7.1 Image:"
+ run: cd linux/ecosystem/apache2/php7.1 && pwd && make build && make deploy
- name: "Build and Deploy Apache 2 + PHP 7.2 Image:"
run: cd linux/ecosystem/apache2/php7.2 && pwd && make build && make deploy
@@ -72,6 +90,12 @@ jobs:
- name: "Build and Deploy Apache 2 + PHP 8.1 Image:"
run: cd linux/ecosystem/apache2/php8.1 && pwd && make build && make deploy
+ - name: "Build and Deploy Apache 2 + PHP 8.2 Image:"
+ run: cd linux/ecosystem/apache2/php8.2 && pwd && make build && make deploy
+
+ - name: "Build and Deploy Apache 2 + PHP 8.3 Image:"
+ run: cd linux/ecosystem/apache2/php8.3 && pwd && make build && make deploy
+
##################################################################################
build-nginx-images:
diff --git a/.gitignore b/.gitignore
index d59733991..0feaa560b 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,4 @@
# Temp make file for local builds and debug
Makefile.temp
+# debug ansible file
+output.log
diff --git a/CHANGELOG.md b/CHANGELOG.md
index fc07ef479..f572abf27 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,17 @@
* added `jdk17` support.
* added `freegpt` webui by [Em1tSan/freegpt-webui-ru](https://github.com/Em1tSan/freegpt-webui-ru).
* updated `atlassian` images
+ * updated `testrail` images
+ * added reworked `php5.5` iamge.
+ * added reworked `php7.0` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
+ * added reworked `php7.1` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
+ * updated reworked `php7.2` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
+ * updated reworked `php7.3` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
+ * updated reworked `php7.4` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
+ * updated reworked `php8.0` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
+ * updated reworked `php8.1` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
+ * added reworked `php8.2` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
+ * added reworked `php8.3` + `apache2` images with `cassandra`, `ioncube` and `bolt` support.
* `may-june`
* `base` images improved
* `nginx` images updated
diff --git a/Makefile b/Makefile
index 9e4b8903a..d5d4f07fb 100644
--- a/Makefile
+++ b/Makefile
@@ -351,20 +351,26 @@ ecosystem-debian-bookworm-images:
cd `pwd`/linux/ecosystem/epicmorg/debian/12-bookworm/jdk18 && pwd && make build && make deploy
ecosystem-php-images:
- cd `pwd`/linux/ecosystem/php/latest && pwd && make build && make deploy
+ cd `pwd`/linux/ecosystem/php/php7.0 && pwd && make build && make deploy
+ cd `pwd`/linux/ecosystem/php/php7.1 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php7.2 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php7.3 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php7.4 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php8.0 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/php/php8.1 && pwd && make build && make deploy
+ cd `pwd`/linux/ecosystem/php/php8.2 && pwd && make build && make deploy
+ cd `pwd`/linux/ecosystem/php/php8.3 && pwd && make build && make deploy
ecosystem-apache2-images:
- cd `pwd`/linux/ecosystem/apache2/latest && pwd && make build && make deploy
+ cd `pwd`/linux/ecosystem/apache2/php7.0 && pwd && make build && make deploy
+ cd `pwd`/linux/ecosystem/apache2/php7.1 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php7.2 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php7.3 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php7.4 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php8.0 && pwd && make build && make deploy
cd `pwd`/linux/ecosystem/apache2/php8.1 && pwd && make build && make deploy
+ cd `pwd`/linux/ecosystem/apache2/php8.2 && pwd && make build && make deploy
+ cd `pwd`/linux/ecosystem/apache2/php8.3 && pwd && make build && make deploy
ecosystem-testrail-images:
cd `pwd`/linux/ecosystem/cassandra/3.11 && pwd && make build && make deploy
diff --git a/bin/ansible/ansible.cfg b/bin/ansible/ansible.cfg
index af52409b6..6389745df 100644
--- a/bin/ansible/ansible.cfg
+++ b/bin/ansible/ansible.cfg
@@ -1,6 +1,6 @@
[defaults]
ansible_python_interpreter = /usr/bin/python3
-#inventory = inventory/hosts
+inventory = inventory/hosts
any_errors_fatal = true
display_skipped_hosts = false
deprecation_warnings = false
diff --git a/bin/ansible/playbook.yml b/bin/ansible/playbook.yml
index 01c20395f..1dd2a3837 100644
--- a/bin/ansible/playbook.yml
+++ b/bin/ansible/playbook.yml
@@ -1,11 +1,13 @@
- name: Clear log file before write new stdout to it at this session
hosts: localhost
+ connection: local
tasks:
- name: echo -n > output.log
shell: echo -n > output.log
- name: Lets Go!
hosts: localhost
+ connection: local
tasks:
- name: Create directory for ansible custom facts
debug:
@@ -13,6 +15,8 @@
- name: Generate Jira images
hosts: localhost
+ connection: local
gather_facts: false
roles:
- - atlassian.jira.9
+# - atlassian.jira
+ - gurock.testrail
\ No newline at end of file
diff --git a/bin/ansible/roles/atlassian.jira.9/files/Dockerfile b/bin/ansible/roles/atlassian.jira/files/Dockerfile
similarity index 100%
rename from bin/ansible/roles/atlassian.jira.9/files/Dockerfile
rename to bin/ansible/roles/atlassian.jira/files/Dockerfile
diff --git a/bin/ansible/roles/atlassian.jira.9/files/Dockerfile.jdk11 b/bin/ansible/roles/atlassian.jira/files/Dockerfile.jdk11
similarity index 100%
rename from bin/ansible/roles/atlassian.jira.9/files/Dockerfile.jdk11
rename to bin/ansible/roles/atlassian.jira/files/Dockerfile.jdk11
diff --git a/bin/ansible/roles/atlassian.jira.9/files/Dockerfile.jdk17 b/bin/ansible/roles/atlassian.jira/files/Dockerfile.jdk17
similarity index 100%
rename from bin/ansible/roles/atlassian.jira.9/files/Dockerfile.jdk17
rename to bin/ansible/roles/atlassian.jira/files/Dockerfile.jdk17
diff --git a/bin/ansible/roles/atlassian.jira.9/files/Makefile b/bin/ansible/roles/atlassian.jira/files/Makefile
similarity index 100%
rename from bin/ansible/roles/atlassian.jira.9/files/Makefile
rename to bin/ansible/roles/atlassian.jira/files/Makefile
diff --git a/bin/ansible/roles/atlassian.jira.9/files/docker-compose.yml b/bin/ansible/roles/atlassian.jira/files/docker-compose.yml
similarity index 100%
rename from bin/ansible/roles/atlassian.jira.9/files/docker-compose.yml
rename to bin/ansible/roles/atlassian.jira/files/docker-compose.yml
diff --git a/bin/ansible/roles/atlassian.jira.9/files/entrypoint.sh b/bin/ansible/roles/atlassian.jira/files/entrypoint.sh
old mode 100644
new mode 100755
similarity index 100%
rename from bin/ansible/roles/atlassian.jira.9/files/entrypoint.sh
rename to bin/ansible/roles/atlassian.jira/files/entrypoint.sh
diff --git a/bin/ansible/roles/atlassian.jira.9/tasks/main.yml b/bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.yml
similarity index 100%
rename from bin/ansible/roles/atlassian.jira.9/tasks/main.yml
rename to bin/ansible/roles/atlassian.jira/tasks/atlassian.jira.9.yml
diff --git a/bin/ansible/roles/atlassian.jira/tasks/main.yml b/bin/ansible/roles/atlassian.jira/tasks/main.yml
new file mode 100644
index 000000000..c72837bd1
--- /dev/null
+++ b/bin/ansible/roles/atlassian.jira/tasks/main.yml
@@ -0,0 +1,2 @@
+- name: "Generate images for Jira 9 (jdk8, jdk11, jdk17)"
+ import_tasks: atlassian.jira.9.yml
diff --git a/bin/ansible/roles/atlassian.jira.9/templates/template.env.j2 b/bin/ansible/roles/atlassian.jira/templates/template.env.j2
similarity index 100%
rename from bin/ansible/roles/atlassian.jira.9/templates/template.env.j2
rename to bin/ansible/roles/atlassian.jira/templates/template.env.j2
diff --git a/bin/ansible/roles/atlassian.jira.9/vars/main.yml b/bin/ansible/roles/atlassian.jira/vars/main.yml
similarity index 75%
rename from bin/ansible/roles/atlassian.jira.9/vars/main.yml
rename to bin/ansible/roles/atlassian.jira/vars/main.yml
index 435c41510..481bb4446 100644
--- a/bin/ansible/roles/atlassian.jira.9/vars/main.yml
+++ b/bin/ansible/roles/atlassian.jira/vars/main.yml
@@ -1,4 +1,3 @@
# Defaults
versions_file: "roles/common/files/versions/jira/9.txt"
target_directory: "/opt/tmp/jira/"
-template_file: "template.env.j2"
diff --git a/bin/ansible/roles/common/files/versions/testrail/testrail.php55.txt b/bin/ansible/roles/common/files/versions/testrail/testrail.php55.txt
new file mode 100644
index 000000000..a9f2729dd
--- /dev/null
+++ b/bin/ansible/roles/common/files/versions/testrail/testrail.php55.txt
@@ -0,0 +1,54 @@
+3.0.0.3015
+3.0.1.3030
+3.0.2.3070
+3.0.3.3084
+3.0.4.3098
+3.1.0.3127
+3.1.0.3127
+3.1.1.3130
+3.1.1.3130
+3.1.2.3142
+3.1.2.3142
+3.1.3.3146
+3.1.3.3146
+4.0.0.3264
+4.0.0.3264
+4.0.1.3267
+4.0.1.3267
+4.0.2.3269
+4.0.2.3269
+4.0.3.3270
+4.0.3.3270
+4.0.4.3277
+4.0.4.3277
+4.1.0.3291
+4.1.0.3291
+4.1.0.3294
+4.1.0.3294
+4.2.0.3312
+4.2.0.3312
+4.2.0.3315
+4.2.0.3315
+4.2.1.3321
+4.2.1.3321
+5.0.0.3357
+5.0.0.3357
+5.0.0.3363
+5.0.0.3363
+5.0.0.3364
+5.0.0.3364
+5.0.0.3365
+5.0.0.3365
+5.0.0.3367
+5.0.0.3367
+5.0.1.3370
+5.0.1.3371
+5.0.2.3372
+5.1.0.3412
+5.1.0.3413
+5.2.0.3451
+5.2.0.3452
+5.2.1.3472
+5.3.0.3603
+5.4.0.3659
+5.4.1.3668
diff --git a/bin/ansible/roles/common/files/versions/testrail/testrail.php70.txt b/bin/ansible/roles/common/files/versions/testrail/testrail.php70.txt
new file mode 100644
index 000000000..ee17ca76d
--- /dev/null
+++ b/bin/ansible/roles/common/files/versions/testrail/testrail.php70.txt
@@ -0,0 +1,10 @@
+5.4.1.3669
+5.5.0.3727
+5.5.0.3731
+5.5.0.3735
+5.5.1.3746
+5.6.0.3853
+5.6.0.3856
+5.6.0.3861
+5.6.0.3862
+5.6.0.3865
diff --git a/bin/ansible/roles/common/files/versions/testrail/testrail.php71.txt b/bin/ansible/roles/common/files/versions/testrail/testrail.php71.txt
new file mode 100644
index 000000000..ae2090239
--- /dev/null
+++ b/bin/ansible/roles/common/files/versions/testrail/testrail.php71.txt
@@ -0,0 +1,21 @@
+5.7.0.3938
+5.7.0.3942
+5.7.0.3951
+5.7.1.4026
+5.7.1.4028
+6.0.0.4140
+6.0.1.4163
+6.1.0.4367
+6.1.0.4369
+6.1.1.1020
+6.1.1.1021
+6.2.0.1085
+6.2.1.1003
+6.2.1.1005
+6.2.2.1107
+6.2.3.1114
+6.3.0.1120
+6.3.1.1004
+6.3.1.1006
+6.4.0.1284
+6.4.0.1293
diff --git a/bin/ansible/roles/common/files/versions/testrail/testrail.php72.txt b/bin/ansible/roles/common/files/versions/testrail/testrail.php72.txt
new file mode 100644
index 000000000..7ef16afe5
--- /dev/null
+++ b/bin/ansible/roles/common/files/versions/testrail/testrail.php72.txt
@@ -0,0 +1,13 @@
+6.5.0.1298
+6.5.1.1002
+6.5.3.1001
+6.5.4.1002
+6.5.4.1007
+6.5.5.1009
+6.5.6.1014
+6.5.7.1000
+6.6.0.1156
+6.6.1.1166
+6.7.1.1020
+6.7.2.1037
+6.7.2.1043
diff --git a/bin/ansible/roles/common/files/versions/testrail/testrail.php74.txt b/bin/ansible/roles/common/files/versions/testrail/testrail.php74.txt
new file mode 100644
index 000000000..c4389ff2e
--- /dev/null
+++ b/bin/ansible/roles/common/files/versions/testrail/testrail.php74.txt
@@ -0,0 +1,14 @@
+7.0.0.1057
+7.0.1.1002
+7.0.1.1013
+7.0.2.1014
+7.0.2.1015
+7.0.2.1016
+7.4.1.8079
+7.4.1.8091
+7.4.1.8092
+7.5.1.7010
+7.5.1.7012
+7.5.1.7013
+7.5.2.1002
+7.5.3.1000
diff --git a/bin/ansible/roles/common/files/versions/testrail/testrail.php81.txt b/bin/ansible/roles/common/files/versions/testrail/testrail.php81.txt
new file mode 100644
index 000000000..5291aed53
--- /dev/null
+++ b/bin/ansible/roles/common/files/versions/testrail/testrail.php81.txt
@@ -0,0 +1,2 @@
+8.0.0.1089
+8.0.1.1029
diff --git a/linux/ecosystem/apache2/latest/Makefile b/bin/ansible/roles/gurock.testrail/files/php70/ad/Makefile
similarity index 100%
rename from linux/ecosystem/apache2/latest/Makefile
rename to bin/ansible/roles/gurock.testrail/files/php70/ad/Makefile
diff --git a/linux/ecosystem/php/latest/Makefile b/bin/ansible/roles/gurock.testrail/files/php70/ldap/Makefile
similarity index 100%
rename from linux/ecosystem/php/latest/Makefile
rename to bin/ansible/roles/gurock.testrail/files/php70/ldap/Makefile
diff --git a/linux/ecosystem/testrail/latest/ad/Makefile b/bin/ansible/roles/gurock.testrail/files/php70/main/Makefile
similarity index 100%
rename from linux/ecosystem/testrail/latest/ad/Makefile
rename to bin/ansible/roles/gurock.testrail/files/php70/main/Makefile
diff --git a/linux/ecosystem/testrail/latest/main/apache_testrail.conf b/bin/ansible/roles/gurock.testrail/files/php70/main/apache_testrail.conf
similarity index 100%
rename from linux/ecosystem/testrail/latest/main/apache_testrail.conf
rename to bin/ansible/roles/gurock.testrail/files/php70/main/apache_testrail.conf
diff --git a/linux/ecosystem/testrail/latest/ldap/Makefile b/bin/ansible/roles/gurock.testrail/files/php71/ad/Makefile
similarity index 100%
rename from linux/ecosystem/testrail/latest/ldap/Makefile
rename to bin/ansible/roles/gurock.testrail/files/php71/ad/Makefile
diff --git a/linux/ecosystem/testrail/latest/main/Makefile b/bin/ansible/roles/gurock.testrail/files/php71/ldap/Makefile
similarity index 100%
rename from linux/ecosystem/testrail/latest/main/Makefile
rename to bin/ansible/roles/gurock.testrail/files/php71/ldap/Makefile
diff --git a/bin/ansible/roles/gurock.testrail/files/php71/main/Makefile b/bin/ansible/roles/gurock.testrail/files/php71/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php71/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php71/main/apache_testrail.conf b/bin/ansible/roles/gurock.testrail/files/php71/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php71/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/files/php72/ad/Makefile b/bin/ansible/roles/gurock.testrail/files/php72/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php72/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php72/ldap/Makefile b/bin/ansible/roles/gurock.testrail/files/php72/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php72/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php72/main/Makefile b/bin/ansible/roles/gurock.testrail/files/php72/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php72/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php72/main/apache_testrail.conf b/bin/ansible/roles/gurock.testrail/files/php72/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php72/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/files/php74/ad/Makefile b/bin/ansible/roles/gurock.testrail/files/php74/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php74/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php74/ldap/Makefile b/bin/ansible/roles/gurock.testrail/files/php74/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php74/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php74/main/Makefile b/bin/ansible/roles/gurock.testrail/files/php74/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php74/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php74/main/apache_testrail.conf b/bin/ansible/roles/gurock.testrail/files/php74/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php74/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/files/php81/ad/Makefile b/bin/ansible/roles/gurock.testrail/files/php81/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php81/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php81/ldap/Makefile b/bin/ansible/roles/gurock.testrail/files/php81/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php81/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php81/main/Makefile b/bin/ansible/roles/gurock.testrail/files/php81/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php81/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/bin/ansible/roles/gurock.testrail/files/php81/main/apache_testrail.conf b/bin/ansible/roles/gurock.testrail/files/php81/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/files/php81/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/tasks/main.yml b/bin/ansible/roles/gurock.testrail/tasks/main.yml
new file mode 100644
index 000000000..48d4f683b
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/tasks/main.yml
@@ -0,0 +1,18 @@
+#- name: "Generate images for Testrail (PHP 5.5)"
+# import_tasks: testrail.php55.yml
+
+- name: "Generate images for Testrail (PHP 7.0)"
+ import_tasks: testrail.php70.yml
+
+- name: "Generate images for Testrail (PHP 7.1)"
+ import_tasks: testrail.php71.yml
+
+- name: "Generate images for Testrail (PHP 7.2)"
+ import_tasks: testrail.php72.yml
+
+- name: "Generate images for Testrail (PHP 7.4)"
+ import_tasks: testrail.php74.yml
+
+- name: "Generate images for Testrail (PHP 8.1)"
+ import_tasks: testrail.php81.yml
+
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/tasks/testrail.php70.yml b/bin/ansible/roles/gurock.testrail/tasks/testrail.php70.yml
new file mode 100644
index 000000000..fda391a03
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/tasks/testrail.php70.yml
@@ -0,0 +1,100 @@
+- name: Read versions from file testrail.php70.txt
+ slurp:
+ src: "roles/common/files/versions/testrail/testrail.php70.txt"
+ register: version_output
+
+- name: Set version variable
+ set_fact:
+ testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
+
+- name: Create directories for Testrail versions with php70
+ file:
+ path: "{{ target_directory }}/{{ item }}"
+ state: directory
+ mode: '0755'
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy all files from 'files' directory to each version directory
+ copy:
+ src: "php70/"
+ dest: "{{ target_directory }}/{{ item }}/"
+ with_items: "{{ testrail_versions }}"
+# no_log: true
+
+- name: Copy template with link to each version directory
+ template:
+ src: "template.env.php70.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/.env"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-compose.yml to each version directory
+ template:
+ src: "php70/main/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-entrypoint.sh to each version directory
+ template:
+ src: "php70/main/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template Dockerfile to each version directory
+ template:
+ src: "php70/main/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template README.md to each version directory
+ template:
+ src: "php70/main/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-compose.yml to each version directory
+ template:
+ src: "php70/ad/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-entrypoint.sh to each version directory
+ template:
+ src: "php70/ad/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template Dockerfile to each version directory
+ template:
+ src: "php70/ad/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template README.md to each version directory
+ template:
+ src: "php70/ad/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-compose.yml to each version directory
+ template:
+ src: "php70/ldap/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-entrypoint.sh to each version directory
+ template:
+ src: "php70/ldap/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template Dockerfile to each version directory
+ template:
+ src: "php70/ldap/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template README.md to each version directory
+ template:
+ src: "php70/ldap/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
+ with_items: "{{ testrail_versions }}"
diff --git a/bin/ansible/roles/gurock.testrail/tasks/testrail.php71.yml b/bin/ansible/roles/gurock.testrail/tasks/testrail.php71.yml
new file mode 100644
index 000000000..5501afef6
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/tasks/testrail.php71.yml
@@ -0,0 +1,100 @@
+- name: Read versions from file testrail.php71.txt
+ slurp:
+ src: "roles/common/files/versions/testrail/testrail.php71.txt"
+ register: version_output
+
+- name: Set version variable
+ set_fact:
+ testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
+
+- name: Create directories for Testrail versions with php71
+ file:
+ path: "{{ target_directory }}/{{ item }}"
+ state: directory
+ mode: '0755'
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy all files from 'files' directory to each version directory
+ copy:
+ src: "php71/"
+ dest: "{{ target_directory }}/{{ item }}/"
+ with_items: "{{ testrail_versions }}"
+# no_log: true
+
+- name: Copy template with link to each version directory
+ template:
+ src: "template.env.php71.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/.env"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-compose.yml to each version directory
+ template:
+ src: "php71/main/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-entrypoint.sh to each version directory
+ template:
+ src: "php71/main/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template Dockerfile to each version directory
+ template:
+ src: "php71/main/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template README.md to each version directory
+ template:
+ src: "php71/main/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-compose.yml to each version directory
+ template:
+ src: "php71/ad/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-entrypoint.sh to each version directory
+ template:
+ src: "php71/ad/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template Dockerfile to each version directory
+ template:
+ src: "php71/ad/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template README.md to each version directory
+ template:
+ src: "php71/ad/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-compose.yml to each version directory
+ template:
+ src: "php71/ldap/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-entrypoint.sh to each version directory
+ template:
+ src: "php71/ldap/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template Dockerfile to each version directory
+ template:
+ src: "php71/ldap/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template README.md to each version directory
+ template:
+ src: "php71/ldap/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
+ with_items: "{{ testrail_versions }}"
diff --git a/bin/ansible/roles/gurock.testrail/tasks/testrail.php72.yml b/bin/ansible/roles/gurock.testrail/tasks/testrail.php72.yml
new file mode 100644
index 000000000..02744a9ea
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/tasks/testrail.php72.yml
@@ -0,0 +1,100 @@
+- name: Read versions from file testrail.php72.txt
+ slurp:
+ src: "roles/common/files/versions/testrail/testrail.php72.txt"
+ register: version_output
+
+- name: Set version variable
+ set_fact:
+ testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
+
+- name: Create directories for Testrail versions with php72
+ file:
+ path: "{{ target_directory }}/{{ item }}"
+ state: directory
+ mode: '0755'
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy all files from 'files' directory to each version directory
+ copy:
+ src: "php72/"
+ dest: "{{ target_directory }}/{{ item }}/"
+ with_items: "{{ testrail_versions }}"
+# no_log: true
+
+- name: Copy template with link to each version directory
+ template:
+ src: "template.env.php72.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/.env"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-compose.yml to each version directory
+ template:
+ src: "php72/main/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-entrypoint.sh to each version directory
+ template:
+ src: "php72/main/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template Dockerfile to each version directory
+ template:
+ src: "php72/main/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template README.md to each version directory
+ template:
+ src: "php72/main/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-compose.yml to each version directory
+ template:
+ src: "php72/ad/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-entrypoint.sh to each version directory
+ template:
+ src: "php72/ad/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template Dockerfile to each version directory
+ template:
+ src: "php72/ad/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template README.md to each version directory
+ template:
+ src: "php72/ad/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-compose.yml to each version directory
+ template:
+ src: "php72/ldap/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-entrypoint.sh to each version directory
+ template:
+ src: "php72/ldap/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template Dockerfile to each version directory
+ template:
+ src: "php72/ldap/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template README.md to each version directory
+ template:
+ src: "php72/ldap/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
+ with_items: "{{ testrail_versions }}"
diff --git a/bin/ansible/roles/gurock.testrail/tasks/testrail.php74.yml b/bin/ansible/roles/gurock.testrail/tasks/testrail.php74.yml
new file mode 100644
index 000000000..e9a930e2c
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/tasks/testrail.php74.yml
@@ -0,0 +1,100 @@
+- name: Read versions from file testrail.php74.txt
+ slurp:
+ src: "roles/common/files/versions/testrail/testrail.php74.txt"
+ register: version_output
+
+- name: Set version variable
+ set_fact:
+ testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
+
+- name: Create directories for Testrail versions with php74
+ file:
+ path: "{{ target_directory }}/{{ item }}"
+ state: directory
+ mode: '0755'
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy all files from 'files' directory to each version directory
+ copy:
+ src: "php74/"
+ dest: "{{ target_directory }}/{{ item }}/"
+ with_items: "{{ testrail_versions }}"
+# no_log: true
+
+- name: Copy template with link to each version directory
+ template:
+ src: "template.env.php72.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/.env"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-compose.yml to each version directory
+ template:
+ src: "php74/main/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-entrypoint.sh to each version directory
+ template:
+ src: "php74/main/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template Dockerfile to each version directory
+ template:
+ src: "php74/main/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template README.md to each version directory
+ template:
+ src: "php74/main/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-compose.yml to each version directory
+ template:
+ src: "php74/ad/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-entrypoint.sh to each version directory
+ template:
+ src: "php74/ad/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template Dockerfile to each version directory
+ template:
+ src: "php74/ad/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template README.md to each version directory
+ template:
+ src: "php74/ad/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-compose.yml to each version directory
+ template:
+ src: "php74/ldap/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-entrypoint.sh to each version directory
+ template:
+ src: "php74/ldap/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template Dockerfile to each version directory
+ template:
+ src: "php74/ldap/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template README.md to each version directory
+ template:
+ src: "php74/ldap/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
+ with_items: "{{ testrail_versions }}"
diff --git a/bin/ansible/roles/gurock.testrail/tasks/testrail.php81.yml b/bin/ansible/roles/gurock.testrail/tasks/testrail.php81.yml
new file mode 100644
index 000000000..3776b02a2
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/tasks/testrail.php81.yml
@@ -0,0 +1,100 @@
+- name: Read versions from file testrail.php81.txt
+ slurp:
+ src: "roles/common/files/versions/testrail/testrail.php81.txt"
+ register: version_output
+
+- name: Set version variable
+ set_fact:
+ testrail_versions: "{{ version_output['content'] | b64decode | trim | split('\n') }}"
+
+- name: Create directories for Testrail versions with php81
+ file:
+ path: "{{ target_directory }}/{{ item }}"
+ state: directory
+ mode: '0755'
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy all files from 'files' directory to each version directory
+ copy:
+ src: "php81/"
+ dest: "{{ target_directory }}/{{ item }}/"
+ with_items: "{{ testrail_versions }}"
+# no_log: true
+
+- name: Copy template with link to each version directory
+ template:
+ src: "template.env.php81.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/.env"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-compose.yml to each version directory
+ template:
+ src: "php81/main/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template docker-entrypoint.sh to each version directory
+ template:
+ src: "php81/main/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template Dockerfile to each version directory
+ template:
+ src: "php81/main/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy main template README.md to each version directory
+ template:
+ src: "php81/main/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/main/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-compose.yml to each version directory
+ template:
+ src: "php81/ad/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template docker-entrypoint.sh to each version directory
+ template:
+ src: "php81/ad/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template Dockerfile to each version directory
+ template:
+ src: "php81/ad/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy AD template README.md to each version directory
+ template:
+ src: "php81/ad/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ad/README.md"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-compose.yml to each version directory
+ template:
+ src: "php81/ldap/docker-compose.yml.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-compose.yml"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template docker-entrypoint.sh to each version directory
+ template:
+ src: "php81/ldap/docker-entrypoint.sh.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/docker-entrypoint.sh"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template Dockerfile to each version directory
+ template:
+ src: "php81/ldap/Dockerfile.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/Dockerfile"
+ with_items: "{{ testrail_versions }}"
+
+- name: Copy LDAP template README.md to each version directory
+ template:
+ src: "php81/ldap/README.md.j2"
+ dest: "{{ target_directory }}/{{ item }}/ldap/README.md"
+ with_items: "{{ testrail_versions }}"
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/ad/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/ad/Dockerfile.j2
new file mode 100644
index 000000000..96952ca89
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/ad/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/ad/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/ad/README.md.j2
new file mode 100644
index 000000000..d2ee32ab4
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/ad/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/ad/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/ad/docker-compose.yml.j2
new file mode 100644
index 000000000..f810b2fae
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/ad/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-{{ item }}"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/latest/ad/docker-entrypoint.sh b/bin/ansible/roles/gurock.testrail/templates/php70/ad/docker-entrypoint.sh.j2
old mode 100755
new mode 100644
similarity index 94%
rename from linux/ecosystem/testrail/latest/ad/docker-entrypoint.sh
rename to bin/ansible/roles/gurock.testrail/templates/php70/ad/docker-entrypoint.sh.j2
index 2a7954f51..037600aee
--- a/linux/ecosystem/testrail/latest/ad/docker-entrypoint.sh
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/ad/docker-entrypoint.sh.j2
@@ -1,6 +1,8 @@
#!/bin/bash
-echo "[testrail] Starting testrail service"
+echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
##################################################################################
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/ldap/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/ldap/Dockerfile.j2
new file mode 100644
index 000000000..dae850eca
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/ldap/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/ldap/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/ldap/README.md.j2
new file mode 100644
index 000000000..c16c377f5
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/ldap/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/ldap/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/ldap/docker-compose.yml.j2
new file mode 100644
index 000000000..4a9f0534e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/ldap/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-{{ item }}"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/latest/ldap/docker-entrypoint.sh b/bin/ansible/roles/gurock.testrail/templates/php70/ldap/docker-entrypoint.sh.j2
old mode 100755
new mode 100644
similarity index 96%
rename from linux/ecosystem/testrail/latest/ldap/docker-entrypoint.sh
rename to bin/ansible/roles/gurock.testrail/templates/php70/ldap/docker-entrypoint.sh.j2
index f25d4d764..081b17418
--- a/linux/ecosystem/testrail/latest/ldap/docker-entrypoint.sh
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/ldap/docker-entrypoint.sh.j2
@@ -1,5 +1,7 @@
#!/bin/bash
+echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
+
echo "[testrail] Starting testrail service"
#################################################################################
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/main/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/main/Dockerfile.j2
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/main/Dockerfile.j2
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/main/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/main/README.md.j2
new file mode 100644
index 000000000..cd6b6110d
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/main/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php70/main/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php70/main/docker-compose.yml.j2
new file mode 100644
index 000000000..f9d02895e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/main/docker-compose.yml.j2
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:{{ item }}"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/latest/main/docker-entrypoint.sh b/bin/ansible/roles/gurock.testrail/templates/php70/main/docker-entrypoint.sh.j2
old mode 100755
new mode 100644
similarity index 97%
rename from linux/ecosystem/testrail/latest/main/docker-entrypoint.sh
rename to bin/ansible/roles/gurock.testrail/templates/php70/main/docker-entrypoint.sh.j2
index 17af00304..7003eaf0d
--- a/linux/ecosystem/testrail/latest/main/docker-entrypoint.sh
+++ b/bin/ansible/roles/gurock.testrail/templates/php70/main/docker-entrypoint.sh.j2
@@ -1,5 +1,7 @@
#!/bin/bash
+echo "[testrail] Welcome to Testrail {{item}}"
+
echo "[testrail] Starting testrail service"
#################################################################################
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/ad/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/ad/Dockerfile.j2
new file mode 100644
index 000000000..96952ca89
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/ad/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/ad/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/ad/README.md.j2
new file mode 100644
index 000000000..4b70bd4da
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/ad/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/ad/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/ad/docker-compose.yml.j2
new file mode 100644
index 000000000..f810b2fae
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/ad/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-{{ item }}"
+ build:
+ context: .
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/ad/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/ad/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..037600aee
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/ad/docker-entrypoint.sh.j2
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/ldap/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/ldap/Dockerfile.j2
new file mode 100644
index 000000000..dae850eca
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/ldap/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/ldap/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/ldap/README.md.j2
new file mode 100644
index 000000000..4a42d0e2d
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/ldap/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/ldap/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/ldap/docker-compose.yml.j2
new file mode 100644
index 000000000..4a9f0534e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/ldap/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-{{ item }}"
+ build:
+ context: .
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/ldap/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/ldap/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..081b17418
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/ldap/docker-entrypoint.sh.j2
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/main/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/main/Dockerfile.j2
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/main/Dockerfile.j2
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/main/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/main/README.md.j2
new file mode 100644
index 000000000..278f2c9f5
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/main/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/main/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/main/docker-compose.yml.j2
new file mode 100644
index 000000000..f9d02895e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/main/docker-compose.yml.j2
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:{{ item }}"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/templates/php71/main/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php71/main/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..7003eaf0d
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php71/main/docker-entrypoint.sh.j2
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}}"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/ad/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/ad/Dockerfile.j2
new file mode 100644
index 000000000..96952ca89
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/ad/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/ad/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/ad/README.md.j2
new file mode 100644
index 000000000..4f6bf8f8c
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/ad/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/ad/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/ad/docker-compose.yml.j2
new file mode 100644
index 000000000..f810b2fae
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/ad/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-{{ item }}"
+ build:
+ context: .
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/ad/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/ad/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..037600aee
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/ad/docker-entrypoint.sh.j2
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/ldap/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/ldap/Dockerfile.j2
new file mode 100644
index 000000000..dae850eca
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/ldap/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/ldap/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/ldap/README.md.j2
new file mode 100644
index 000000000..f4ae571ae
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/ldap/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/ldap/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/ldap/docker-compose.yml.j2
new file mode 100644
index 000000000..4a9f0534e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/ldap/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-{{ item }}"
+ build:
+ context: .
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/ldap/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/ldap/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..081b17418
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/ldap/docker-entrypoint.sh.j2
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/main/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/main/Dockerfile.j2
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/main/Dockerfile.j2
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/main/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/main/README.md.j2
new file mode 100644
index 000000000..83e349837
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/main/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/main/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/main/docker-compose.yml.j2
new file mode 100644
index 000000000..f9d02895e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/main/docker-compose.yml.j2
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:{{ item }}"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/templates/php72/main/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php72/main/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..7003eaf0d
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php72/main/docker-entrypoint.sh.j2
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}}"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/ad/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/ad/Dockerfile.j2
new file mode 100644
index 000000000..96952ca89
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/ad/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/ad/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/ad/README.md.j2
new file mode 100644
index 000000000..81fada613
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/ad/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/ad/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/ad/docker-compose.yml.j2
new file mode 100644
index 000000000..f810b2fae
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/ad/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-{{ item }}"
+ build:
+ context: .
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/ad/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/ad/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..037600aee
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/ad/docker-entrypoint.sh.j2
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/ldap/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/ldap/Dockerfile.j2
new file mode 100644
index 000000000..dae850eca
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/ldap/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/ldap/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/ldap/README.md.j2
new file mode 100644
index 000000000..34afe849e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/ldap/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/ldap/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/ldap/docker-compose.yml.j2
new file mode 100644
index 000000000..4a9f0534e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/ldap/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-{{ item }}"
+ build:
+ context: .
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/ldap/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/ldap/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..081b17418
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/ldap/docker-entrypoint.sh.j2
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/main/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/main/Dockerfile.j2
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/main/Dockerfile.j2
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/main/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/main/README.md.j2
new file mode 100644
index 000000000..1fe01bf7c
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/main/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/main/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/main/docker-compose.yml.j2
new file mode 100644
index 000000000..f9d02895e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/main/docker-compose.yml.j2
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:{{ item }}"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/templates/php74/main/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php74/main/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..7003eaf0d
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php74/main/docker-entrypoint.sh.j2
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}}"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/ad/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/ad/Dockerfile.j2
new file mode 100644
index 000000000..96952ca89
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/ad/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/ad/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/ad/README.md.j2
new file mode 100644
index 000000000..4860e2681
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/ad/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/ad/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/ad/docker-compose.yml.j2
new file mode 100644
index 000000000..f810b2fae
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/ad/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-{{ item }}"
+ build:
+ context: .
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/ad/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/ad/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..037600aee
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/ad/docker-entrypoint.sh.j2
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}} with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/ldap/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/ldap/Dockerfile.j2
new file mode 100644
index 000000000..dae850eca
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/ldap/Dockerfile.j2
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:{{ item }}
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/ldap/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/ldap/README.md.j2
new file mode 100644
index 000000000..64bdb7b25
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/ldap/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/ldap/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/ldap/docker-compose.yml.j2
new file mode 100644
index 000000000..4a9f0534e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/ldap/docker-compose.yml.j2
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-{{ item }}"
+ build:
+ context: .
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/ldap/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/ldap/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..081b17418
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/ldap/docker-entrypoint.sh.j2
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}} with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/main/Dockerfile.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/main/Dockerfile.j2
new file mode 100644
index 000000000..e67b1ce15
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/main/Dockerfile.j2
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php8.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/main/README.md.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/main/README.md.j2
new file mode 100644
index 000000000..ef5089f7b
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/main/README.md.j2
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:{{ item }}
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/main/docker-compose.yml.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/main/docker-compose.yml.j2
new file mode 100644
index 000000000..f9d02895e
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/main/docker-compose.yml.j2
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:{{ item }}"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/bin/ansible/roles/gurock.testrail/templates/php81/main/docker-entrypoint.sh.j2 b/bin/ansible/roles/gurock.testrail/templates/php81/main/docker-entrypoint.sh.j2
new file mode 100644
index 000000000..7003eaf0d
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/php81/main/docker-entrypoint.sh.j2
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail {{item}}"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/bin/ansible/roles/gurock.testrail/templates/template.env.php55.j2 b/bin/ansible/roles/gurock.testrail/templates/template.env.php55.j2
new file mode 100644
index 000000000..1561300f7
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/template.env.php55.j2
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION={{ item }}
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion51.zip
diff --git a/bin/ansible/roles/gurock.testrail/templates/template.env.php70.j2 b/bin/ansible/roles/gurock.testrail/templates/template.env.php70.j2
new file mode 100644
index 000000000..288c548d9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/template.env.php70.j2
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION={{ item }}
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/bin/ansible/roles/gurock.testrail/templates/template.env.php71.j2 b/bin/ansible/roles/gurock.testrail/templates/template.env.php71.j2
new file mode 100644
index 000000000..288c548d9
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/template.env.php71.j2
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION={{ item }}
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/bin/ansible/roles/gurock.testrail/templates/template.env.php72.j2 b/bin/ansible/roles/gurock.testrail/templates/template.env.php72.j2
new file mode 100644
index 000000000..90df0b5a6
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/template.env.php72.j2
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION={{ item }}
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/bin/ansible/roles/gurock.testrail/templates/template.env.php81.j2 b/bin/ansible/roles/gurock.testrail/templates/template.env.php81.j2
new file mode 100644
index 000000000..9922830c4
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/templates/template.env.php81.j2
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION={{ item }}
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion81.zip
diff --git a/bin/ansible/roles/gurock.testrail/vars/main.yml b/bin/ansible/roles/gurock.testrail/vars/main.yml
new file mode 100644
index 000000000..52c795661
--- /dev/null
+++ b/bin/ansible/roles/gurock.testrail/vars/main.yml
@@ -0,0 +1,2 @@
+# Defaults
+target_directory: "/opt/tmp/testrail/"
diff --git a/linux/ecosystem/apache2/php5.5/Dockerfile b/linux/ecosystem/apache2/php5.5/Dockerfile
new file mode 100644
index 000000000..80fee1034
--- /dev/null
+++ b/linux/ecosystem/apache2/php5.5/Dockerfile
@@ -0,0 +1,95 @@
+FROM epicmorg/php:php5.5
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_VER=5.5
+ARG PHP_MODULE_PATH=/usr/local/lib/php/extensions/no-debug-non-zts-20121212
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
+
+##################################################################
+# Installing Apache2
+##################################################################
+#installing apache2 repo
+RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ apache2 \
+ apache2-utils \
+ libapache2-mod-php5.5 \
+ libapache2-mod-webauth \
+ libapache2-mod-xforward \
+ libapache2-mod-security2 \
+ libmemcached-dev && \
+ a2enmod \
+ php5.5 \
+ rewrite \
+ ldap \
+ heartmonitor \
+ auth_basic \
+ authnz_ldap \
+ headers \
+ heartbeat \
+ slotmem_shm \
+ lua \
+ mime \
+ status \
+ xml2enc \
+ xforward \
+ remoteip \
+ filter \
+ dav \
+ dav_fs \
+ alias && \
+ ln -sf /etc/ssl/dhparam.pem /etc/apache2/dhparam.pem && \
+ php -m && \
+ php -v
+
+##################################################################
+# Apache2 Fixes
+##################################################################
+RUN rm -fv /etc/apache2/sites-enabled/000-default.conf
+RUN rm -fv /etc/apache2/apache2.conf
+COPY etc/apache2/sites-enabled/localhost.conf /etc/apache2/sites-enabled/localhost.conf
+COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
+
+##################################################################
+# LDAP Fix
+##################################################################
+RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# cleaninig up
+##################################################################
+RUN apt clean -y && \
+ apt autoclean -y && \
+ rm -rfv /var/lib/apt/lists/* && \
+ rm -rfv /var/cache/apt/archives/*.deb && \
+ rm -rfv /tmp/*
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+RUN chown -Rf www-data:www-data /var/www
+
+#Final config
+VOLUME ["/var/www"]
+WORKDIR /var/www/
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/apache2/php5.5/Makefile b/linux/ecosystem/apache2/php5.5/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/apache2/php5.5/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/apache2/latest/README.md b/linux/ecosystem/apache2/php5.5/README.md
similarity index 100%
rename from linux/ecosystem/apache2/latest/README.md
rename to linux/ecosystem/apache2/php5.5/README.md
diff --git a/linux/ecosystem/apache2/latest/docker-compose.yml b/linux/ecosystem/apache2/php5.5/docker-compose.yml
similarity index 61%
rename from linux/ecosystem/apache2/latest/docker-compose.yml
rename to linux/ecosystem/apache2/php5.5/docker-compose.yml
index 99eebbfd1..6fb68deea 100644
--- a/linux/ecosystem/apache2/latest/docker-compose.yml
+++ b/linux/ecosystem/apache2/php5.5/docker-compose.yml
@@ -1,6 +1,6 @@
version: '3.9'
services:
app:
- image: "epicmorg/apache2:latest"
+ image: "epicmorg/apache2:php5.5"
build:
context: .
diff --git a/linux/ecosystem/apache2/latest/docker-entrypoint.sh b/linux/ecosystem/apache2/php5.5/docker-entrypoint.sh
similarity index 100%
rename from linux/ecosystem/apache2/latest/docker-entrypoint.sh
rename to linux/ecosystem/apache2/php5.5/docker-entrypoint.sh
diff --git a/linux/ecosystem/apache2/latest/etc/apache2/apache2.conf b/linux/ecosystem/apache2/php5.5/etc/apache2/apache2.conf
similarity index 100%
rename from linux/ecosystem/apache2/latest/etc/apache2/apache2.conf
rename to linux/ecosystem/apache2/php5.5/etc/apache2/apache2.conf
diff --git a/linux/ecosystem/apache2/latest/etc/apache2/sites-enabled/localhost.conf b/linux/ecosystem/apache2/php5.5/etc/apache2/sites-enabled/localhost.conf
similarity index 100%
rename from linux/ecosystem/apache2/latest/etc/apache2/sites-enabled/localhost.conf
rename to linux/ecosystem/apache2/php5.5/etc/apache2/sites-enabled/localhost.conf
diff --git a/linux/ecosystem/apache2/latest/Dockerfile b/linux/ecosystem/apache2/php7.0/Dockerfile
similarity index 85%
rename from linux/ecosystem/apache2/latest/Dockerfile
rename to linux/ecosystem/apache2/php7.0/Dockerfile
index 9015c518f..d395f9d6d 100644
--- a/linux/ecosystem/apache2/latest/Dockerfile
+++ b/linux/ecosystem/apache2/php7.0/Dockerfile
@@ -1,31 +1,32 @@
-FROM epicmorg/php:latest
+FROM epicmorg/php:php7.0
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
-ARG PHP_MODULE_PATH=/usr/lib/php/20190902
-ARG PHP_VER=7.4
+ARG PHP_VER=7.0
+ARG PHP_MODULE_PATH=/usr/lib/php/20151012
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
-ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing Apache2
##################################################################
#installing apache2 repo
RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/sources.list.d/apache2.list'
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
#Install base packages
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
apache2 \
apache2-utils \
- libapache2-mod-php7.4 \
+ libapache2-mod-php7.0 \
libapache2-mod-webauth \
libapache2-mod-xforward \
- libapache2-mod-security2 && \
+ libapache2-mod-security2 \
+ libmemcached-dev && \
a2enmod \
- php7.4 \
+ php7.0 \
rewrite \
ldap \
heartmonitor \
@@ -61,17 +62,24 @@ COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
##################################################################
RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing IOnCube addon
##################################################################
-RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \
+RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/apache2/php.ini && \
php -m && \
php -v
##################################################################
# Installing Bolt addon
##################################################################
-RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php74.so" >> ${PHP_DIR}/apache2/php.ini
+RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php70.so" >> ${PHP_DIR}/apache2/php.ini
##################################################################
# Installing timezonedb addon
@@ -94,13 +102,6 @@ RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
php -m && \
php -v
-##################################################################
-# Installing smbclient addon
-##################################################################
-RUN ln -sf ${SMB_PHP_INI} ${PHP_DIR}/apache2/conf.d/smbclient.ini && \
- php -m && \
- php -v
-
##################################################################
# cleaninig up
##################################################################
@@ -108,10 +109,7 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
diff --git a/linux/ecosystem/apache2/php7.0/Makefile b/linux/ecosystem/apache2/php7.0/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.0/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/apache2/php7.0/README.md b/linux/ecosystem/apache2/php7.0/README.md
new file mode 100644
index 000000000..86a34d4b1
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.0/README.md
@@ -0,0 +1,32 @@
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ websites:
+ image: epicmorg/websites
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/latest/main/docker-compose.yml b/linux/ecosystem/apache2/php7.0/docker-compose.yml
similarity index 61%
rename from linux/ecosystem/testrail/latest/main/docker-compose.yml
rename to linux/ecosystem/apache2/php7.0/docker-compose.yml
index 288250f78..ef87b9bd3 100644
--- a/linux/ecosystem/testrail/latest/main/docker-compose.yml
+++ b/linux/ecosystem/apache2/php7.0/docker-compose.yml
@@ -1,6 +1,6 @@
version: '3.9'
services:
app:
- image: "epicmorg/testrail:latest"
+ image: "epicmorg/apache2:php7.0"
build:
context: .
diff --git a/linux/ecosystem/apache2/php7.0/docker-entrypoint.sh b/linux/ecosystem/apache2/php7.0/docker-entrypoint.sh
new file mode 100755
index 000000000..b421b8648
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.0/docker-entrypoint.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/apache2/php7.0/etc/apache2/apache2.conf b/linux/ecosystem/apache2/php7.0/etc/apache2/apache2.conf
new file mode 100644
index 000000000..eedaac25c
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.0/etc/apache2/apache2.conf
@@ -0,0 +1,231 @@
+# This is the main Apache server configuration file. It contains the
+# configuration directives that give the server its instructions.
+# See http://httpd.apache.org/docs/2.4/ for detailed information about
+# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
+# hints.
+#
+#
+# Summary of how the Apache 2 configuration works in Debian:
+# The Apache 2 web server configuration in Debian is quite different to
+# upstream's suggested way to configure the web server. This is because Debian's
+# default Apache2 installation attempts to make adding and removing modules,
+# virtual hosts, and extra configuration directives as flexible as possible, in
+# order to make automating the changes and administering the server as easy as
+# possible.
+
+# It is split into several files forming the configuration hierarchy outlined
+# below, all located in the /etc/apache2/ directory:
+#
+# /etc/apache2/
+# |-- apache2.conf
+# | `-- ports.conf
+# |-- mods-enabled
+# | |-- *.load
+# | `-- *.conf
+# |-- conf-enabled
+# | `-- *.conf
+# `-- sites-enabled
+# `-- *.conf
+#
+#
+# * apache2.conf is the main configuration file (this file). It puts the pieces
+# together by including all remaining configuration files when starting up the
+# web server.
+#
+# * ports.conf is always included from the main configuration file. It is
+# supposed to determine listening ports for incoming connections which can be
+# customized anytime.
+#
+# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
+# directories contain particular configuration snippets which manage modules,
+# global configuration fragments, or virtual host configurations,
+# respectively.
+#
+# They are activated by symlinking available configuration files from their
+# respective *-available/ counterparts. These should be managed by using our
+# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
+# their respective man pages for detailed information.
+#
+# * The binary is called apache2. Due to the use of environment variables, in
+# the default configuration, apache2 needs to be started/stopped with
+# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
+# work with the default configuration.
+
+
+# Global configuration
+#
+
+#
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# NOTE! If you intend to place this on an NFS (or otherwise network)
+# mounted filesystem then please read the Mutex documentation (available
+# at );
+# you will save yourself a lot of trouble.
+#
+# Do NOT add a slash at the end of the directory path.
+#
+#ServerRoot "/etc/apache2"
+
+#
+# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
+#
+#Mutex file:${APACHE_LOCK_DIR} default
+
+#
+# The directory where shm and other runtime files will be stored.
+#
+
+DefaultRuntimeDir ${APACHE_RUN_DIR}
+
+#
+# PidFile: The file in which the server should record its process
+# identification number when it starts.
+# This needs to be set in /etc/apache2/envvars
+#
+PidFile ${APACHE_PID_FILE}
+
+#
+# Timeout: The number of seconds before receives and sends time out.
+#
+Timeout 300
+
+#
+# KeepAlive: Whether or not to allow persistent connections (more than
+# one request per connection). Set to "Off" to deactivate.
+#
+KeepAlive On
+
+#
+# MaxKeepAliveRequests: The maximum number of requests to allow
+# during a persistent connection. Set to 0 to allow an unlimited amount.
+# We recommend you leave this number high, for maximum performance.
+#
+MaxKeepAliveRequests 100
+
+#
+# KeepAliveTimeout: Number of seconds to wait for the next request from the
+# same client on the same connection.
+#
+KeepAliveTimeout 5
+
+
+# These need to be set in /etc/apache2/envvars
+User ${APACHE_RUN_USER}
+Group ${APACHE_RUN_GROUP}
+
+#
+# HostnameLookups: Log the names of clients or just their IP addresses
+# e.g., www.apache.org (on) or 204.62.129.132 (off).
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on, since enabling it means that
+# each client request will result in AT LEAST one lookup request to the
+# nameserver.
+#
+HostnameLookups Off
+
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog ${APACHE_LOG_DIR}/error.log
+
+#
+# LogLevel: Control the severity of messages logged to the error_log.
+# Available values: trace8, ..., trace1, debug, info, notice, warn,
+# error, crit, alert, emerg.
+# It is also possible to configure the log level for particular modules, e.g.
+# "LogLevel info ssl:warn"
+#
+LogLevel warn
+
+# Include module configuration:
+IncludeOptional mods-enabled/*.load
+IncludeOptional mods-enabled/*.conf
+
+# Include list of ports to listen on
+Include ports.conf
+
+
+# Sets the default security model of the Apache2 HTTPD server. It does
+# not allow access to the root filesystem outside of /usr/share and /var/www.
+# The former is used by web applications packaged in Debian,
+# the latter may be used for local directories served by the web server. If
+# your system is serving content from a sub-directory in /srv you must allow
+# access here, or in any related virtual host.
+
+ Options FollowSymLinks
+ AllowOverride None
+ Require all denied
+
+
+
+ AllowOverride None
+ Require all granted
+
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride None
+ Require all granted
+
+
+#
+# Options Indexes FollowSymLinks
+# AllowOverride None
+# Require all granted
+#
+
+
+
+
+# AccessFileName: The name of the file to look for in each directory
+# for additional configuration directives. See also the AllowOverride
+# directive.
+#
+AccessFileName .htaccess
+
+#
+# The following lines prevent .htaccess and .htpasswd files from being
+# viewed by Web clients.
+#
+
+ Require all denied
+
+
+
+#
+# The following directives define some format nicknames for use with
+# a CustomLog directive.
+#
+# These deviate from the Common Log Format definitions in that they use %O
+# (the actual bytes sent including headers) instead of %b (the size of the
+# requested file), because the latter makes it impossible to detect partial
+# requests.
+#
+# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
+# Use mod_remoteip instead.
+#
+LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
+LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
+LogFormat "%h %l %u %t \"%r\" %>s %O" common
+LogFormat "%{Referer}i -> %U" referer
+LogFormat "%{User-agent}i" agent
+
+# Include of directories ignores editors' and dpkg's backup files,
+# see README.Debian for details.
+
+# Include generic snippets of statements
+IncludeOptional conf-enabled/*.conf
+
+# Include the virtual host configurations:
+IncludeOptional sites-enabled/*.conf
+
+ServerName localhost
+
+#SecStatusEngine On
+
+# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
diff --git a/linux/ecosystem/apache2/php7.0/etc/apache2/sites-enabled/localhost.conf b/linux/ecosystem/apache2/php7.0/etc/apache2/sites-enabled/localhost.conf
new file mode 100644
index 000000000..052ce2ec1
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.0/etc/apache2/sites-enabled/localhost.conf
@@ -0,0 +1,8 @@
+
+ ServerName localhost
+ ServerAlias 127.0.0.1
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/html
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
diff --git a/linux/ecosystem/apache2/php7.1/Dockerfile b/linux/ecosystem/apache2/php7.1/Dockerfile
new file mode 100644
index 000000000..6127959f5
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.1/Dockerfile
@@ -0,0 +1,128 @@
+FROM epicmorg/php:php7.1
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_VER=7.1
+ARG PHP_MODULE_PATH=/usr/lib/php/20160303
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
+
+##################################################################
+# Installing Apache2
+##################################################################
+#installing apache2 repo
+RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ apache2 \
+ apache2-utils \
+ libapache2-mod-php7.1 \
+ libapache2-mod-webauth \
+ libapache2-mod-xforward \
+ libapache2-mod-security2 \
+ libmemcached-dev && \
+ a2enmod \
+ php7.1 \
+ rewrite \
+ ldap \
+ heartmonitor \
+ auth_basic \
+ authnz_ldap \
+ headers \
+ heartbeat \
+ slotmem_shm \
+ lua \
+ mime \
+ status \
+ xml2enc \
+ xforward \
+ remoteip \
+ filter \
+ dav \
+ dav_fs \
+ alias && \
+ ln -sf /etc/ssl/dhparam.pem /etc/apache2/dhparam.pem && \
+ php -m && \
+ php -v
+
+##################################################################
+# Apache2 Fixes
+##################################################################
+RUN rm -fv /etc/apache2/sites-enabled/000-default.conf
+RUN rm -fv /etc/apache2/apache2.conf
+COPY etc/apache2/sites-enabled/localhost.conf /etc/apache2/sites-enabled/localhost.conf
+COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
+
+##################################################################
+# LDAP Fix
+##################################################################
+RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing IOnCube addon
+##################################################################
+RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing Bolt addon
+##################################################################
+RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php71.so" >> ${PHP_DIR}/apache2/php.ini
+
+##################################################################
+# Installing timezonedb addon
+##################################################################
+RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing imagic addon
+##################################################################
+RUN echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing P4 addon
+##################################################################
+RUN ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# cleaninig up
+##################################################################
+RUN apt clean -y && \
+ apt autoclean -y && \
+ rm -rfv /var/lib/apt/lists/* && \
+ rm -rfv /var/cache/apt/archives/*.deb && \
+ rm -rfv /tmp/*
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+RUN chown -Rf www-data:www-data /var/www
+
+#Final config
+VOLUME ["/var/www"]
+WORKDIR /var/www/
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/apache2/php7.1/Makefile b/linux/ecosystem/apache2/php7.1/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.1/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/apache2/php7.1/README.md b/linux/ecosystem/apache2/php7.1/README.md
new file mode 100644
index 000000000..86a34d4b1
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.1/README.md
@@ -0,0 +1,32 @@
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ websites:
+ image: epicmorg/websites
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/latest/ad/docker-compose.yml b/linux/ecosystem/apache2/php7.1/docker-compose.yml
similarity index 60%
rename from linux/ecosystem/testrail/latest/ad/docker-compose.yml
rename to linux/ecosystem/apache2/php7.1/docker-compose.yml
index 0cf4314f7..efb096e9f 100644
--- a/linux/ecosystem/testrail/latest/ad/docker-compose.yml
+++ b/linux/ecosystem/apache2/php7.1/docker-compose.yml
@@ -1,6 +1,6 @@
version: '3.9'
services:
app:
- image: "epicmorg/testrail:auth-ad"
+ image: "epicmorg/apache2:php7.1"
build:
context: .
diff --git a/linux/ecosystem/apache2/php7.1/docker-entrypoint.sh b/linux/ecosystem/apache2/php7.1/docker-entrypoint.sh
new file mode 100755
index 000000000..b421b8648
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.1/docker-entrypoint.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/apache2/php7.1/etc/apache2/apache2.conf b/linux/ecosystem/apache2/php7.1/etc/apache2/apache2.conf
new file mode 100644
index 000000000..eedaac25c
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.1/etc/apache2/apache2.conf
@@ -0,0 +1,231 @@
+# This is the main Apache server configuration file. It contains the
+# configuration directives that give the server its instructions.
+# See http://httpd.apache.org/docs/2.4/ for detailed information about
+# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
+# hints.
+#
+#
+# Summary of how the Apache 2 configuration works in Debian:
+# The Apache 2 web server configuration in Debian is quite different to
+# upstream's suggested way to configure the web server. This is because Debian's
+# default Apache2 installation attempts to make adding and removing modules,
+# virtual hosts, and extra configuration directives as flexible as possible, in
+# order to make automating the changes and administering the server as easy as
+# possible.
+
+# It is split into several files forming the configuration hierarchy outlined
+# below, all located in the /etc/apache2/ directory:
+#
+# /etc/apache2/
+# |-- apache2.conf
+# | `-- ports.conf
+# |-- mods-enabled
+# | |-- *.load
+# | `-- *.conf
+# |-- conf-enabled
+# | `-- *.conf
+# `-- sites-enabled
+# `-- *.conf
+#
+#
+# * apache2.conf is the main configuration file (this file). It puts the pieces
+# together by including all remaining configuration files when starting up the
+# web server.
+#
+# * ports.conf is always included from the main configuration file. It is
+# supposed to determine listening ports for incoming connections which can be
+# customized anytime.
+#
+# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
+# directories contain particular configuration snippets which manage modules,
+# global configuration fragments, or virtual host configurations,
+# respectively.
+#
+# They are activated by symlinking available configuration files from their
+# respective *-available/ counterparts. These should be managed by using our
+# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
+# their respective man pages for detailed information.
+#
+# * The binary is called apache2. Due to the use of environment variables, in
+# the default configuration, apache2 needs to be started/stopped with
+# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
+# work with the default configuration.
+
+
+# Global configuration
+#
+
+#
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# NOTE! If you intend to place this on an NFS (or otherwise network)
+# mounted filesystem then please read the Mutex documentation (available
+# at );
+# you will save yourself a lot of trouble.
+#
+# Do NOT add a slash at the end of the directory path.
+#
+#ServerRoot "/etc/apache2"
+
+#
+# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
+#
+#Mutex file:${APACHE_LOCK_DIR} default
+
+#
+# The directory where shm and other runtime files will be stored.
+#
+
+DefaultRuntimeDir ${APACHE_RUN_DIR}
+
+#
+# PidFile: The file in which the server should record its process
+# identification number when it starts.
+# This needs to be set in /etc/apache2/envvars
+#
+PidFile ${APACHE_PID_FILE}
+
+#
+# Timeout: The number of seconds before receives and sends time out.
+#
+Timeout 300
+
+#
+# KeepAlive: Whether or not to allow persistent connections (more than
+# one request per connection). Set to "Off" to deactivate.
+#
+KeepAlive On
+
+#
+# MaxKeepAliveRequests: The maximum number of requests to allow
+# during a persistent connection. Set to 0 to allow an unlimited amount.
+# We recommend you leave this number high, for maximum performance.
+#
+MaxKeepAliveRequests 100
+
+#
+# KeepAliveTimeout: Number of seconds to wait for the next request from the
+# same client on the same connection.
+#
+KeepAliveTimeout 5
+
+
+# These need to be set in /etc/apache2/envvars
+User ${APACHE_RUN_USER}
+Group ${APACHE_RUN_GROUP}
+
+#
+# HostnameLookups: Log the names of clients or just their IP addresses
+# e.g., www.apache.org (on) or 204.62.129.132 (off).
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on, since enabling it means that
+# each client request will result in AT LEAST one lookup request to the
+# nameserver.
+#
+HostnameLookups Off
+
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog ${APACHE_LOG_DIR}/error.log
+
+#
+# LogLevel: Control the severity of messages logged to the error_log.
+# Available values: trace8, ..., trace1, debug, info, notice, warn,
+# error, crit, alert, emerg.
+# It is also possible to configure the log level for particular modules, e.g.
+# "LogLevel info ssl:warn"
+#
+LogLevel warn
+
+# Include module configuration:
+IncludeOptional mods-enabled/*.load
+IncludeOptional mods-enabled/*.conf
+
+# Include list of ports to listen on
+Include ports.conf
+
+
+# Sets the default security model of the Apache2 HTTPD server. It does
+# not allow access to the root filesystem outside of /usr/share and /var/www.
+# The former is used by web applications packaged in Debian,
+# the latter may be used for local directories served by the web server. If
+# your system is serving content from a sub-directory in /srv you must allow
+# access here, or in any related virtual host.
+
+ Options FollowSymLinks
+ AllowOverride None
+ Require all denied
+
+
+
+ AllowOverride None
+ Require all granted
+
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride None
+ Require all granted
+
+
+#
+# Options Indexes FollowSymLinks
+# AllowOverride None
+# Require all granted
+#
+
+
+
+
+# AccessFileName: The name of the file to look for in each directory
+# for additional configuration directives. See also the AllowOverride
+# directive.
+#
+AccessFileName .htaccess
+
+#
+# The following lines prevent .htaccess and .htpasswd files from being
+# viewed by Web clients.
+#
+
+ Require all denied
+
+
+
+#
+# The following directives define some format nicknames for use with
+# a CustomLog directive.
+#
+# These deviate from the Common Log Format definitions in that they use %O
+# (the actual bytes sent including headers) instead of %b (the size of the
+# requested file), because the latter makes it impossible to detect partial
+# requests.
+#
+# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
+# Use mod_remoteip instead.
+#
+LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
+LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
+LogFormat "%h %l %u %t \"%r\" %>s %O" common
+LogFormat "%{Referer}i -> %U" referer
+LogFormat "%{User-agent}i" agent
+
+# Include of directories ignores editors' and dpkg's backup files,
+# see README.Debian for details.
+
+# Include generic snippets of statements
+IncludeOptional conf-enabled/*.conf
+
+# Include the virtual host configurations:
+IncludeOptional sites-enabled/*.conf
+
+ServerName localhost
+
+#SecStatusEngine On
+
+# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
diff --git a/linux/ecosystem/apache2/php7.1/etc/apache2/sites-enabled/localhost.conf b/linux/ecosystem/apache2/php7.1/etc/apache2/sites-enabled/localhost.conf
new file mode 100644
index 000000000..052ce2ec1
--- /dev/null
+++ b/linux/ecosystem/apache2/php7.1/etc/apache2/sites-enabled/localhost.conf
@@ -0,0 +1,8 @@
+
+ ServerName localhost
+ ServerAlias 127.0.0.1
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/html
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
diff --git a/linux/ecosystem/apache2/php7.2/Dockerfile b/linux/ecosystem/apache2/php7.2/Dockerfile
index 08af1f608..023beaf7f 100644
--- a/linux/ecosystem/apache2/php7.2/Dockerfile
+++ b/linux/ecosystem/apache2/php7.2/Dockerfile
@@ -6,13 +6,14 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20170718
ARG PHP_VER=7.2
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing Apache2
##################################################################
#installing apache2 repo
RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/sources.list.d/apache2.list'
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
#Install base packages
RUN apt-get update && \
@@ -61,6 +62,13 @@ COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
##################################################################
RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing IOnCube addon
##################################################################
@@ -101,10 +109,7 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
diff --git a/linux/ecosystem/apache2/php7.3/Dockerfile b/linux/ecosystem/apache2/php7.3/Dockerfile
index 6c2055e8c..8ad07b34b 100644
--- a/linux/ecosystem/apache2/php7.3/Dockerfile
+++ b/linux/ecosystem/apache2/php7.3/Dockerfile
@@ -6,13 +6,14 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20180731
ARG PHP_VER=7.3
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing Apache2
##################################################################
#installing apache2 repo
RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/sources.list.d/apache2.list'
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
#Install base packages
RUN apt-get update && \
@@ -61,6 +62,13 @@ COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
##################################################################
RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing IOnCube addon
##################################################################
@@ -102,9 +110,7 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
diff --git a/linux/ecosystem/apache2/php7.4/Dockerfile b/linux/ecosystem/apache2/php7.4/Dockerfile
index 9015c518f..d2d3ce25f 100644
--- a/linux/ecosystem/apache2/php7.4/Dockerfile
+++ b/linux/ecosystem/apache2/php7.4/Dockerfile
@@ -7,13 +7,14 @@ ARG PHP_VER=7.4
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing Apache2
##################################################################
#installing apache2 repo
RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/sources.list.d/apache2.list'
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
#Install base packages
RUN apt-get update && \
@@ -61,6 +62,13 @@ COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
##################################################################
RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing IOnCube addon
##################################################################
@@ -108,10 +116,7 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
diff --git a/linux/ecosystem/apache2/php8.0/Dockerfile b/linux/ecosystem/apache2/php8.0/Dockerfile
index 3b6a02d37..43165dc8b 100644
--- a/linux/ecosystem/apache2/php8.0/Dockerfile
+++ b/linux/ecosystem/apache2/php8.0/Dockerfile
@@ -8,13 +8,14 @@ ARG PHP_VER=8.0
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing Apache2
##################################################################
#installing apache2 repo
RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/sources.list.d/apache2.list'
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
#Install base packages
RUN apt-get update && \
@@ -62,6 +63,13 @@ COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
##################################################################
RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing timezonedb addon
##################################################################
@@ -102,10 +110,7 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
diff --git a/linux/ecosystem/apache2/php8.1/Dockerfile b/linux/ecosystem/apache2/php8.1/Dockerfile
index c1eae7372..b6443cf67 100644
--- a/linux/ecosystem/apache2/php8.1/Dockerfile
+++ b/linux/ecosystem/apache2/php8.1/Dockerfile
@@ -8,13 +8,14 @@ ARG PHP_VER=8.1
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing Apache2
##################################################################
#installing apache2 repo
RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/apache2/ buster main" > /etc/apt/sources.list.d/apache2.list'
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
#Install base packages
RUN apt-get update && \
@@ -62,6 +63,13 @@ COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
##################################################################
RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing IOnCube addon
##################################################################
@@ -102,10 +110,7 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
#healthcheck. good practice
HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
diff --git a/linux/ecosystem/apache2/php8.2/Dockerfile b/linux/ecosystem/apache2/php8.2/Dockerfile
new file mode 100644
index 000000000..35ebaaa1e
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.2/Dockerfile
@@ -0,0 +1,129 @@
+FROM epicmorg/php:php8.2
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_MODULE_VER=20220829
+ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
+ARG PHP_VER=8.2
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
+
+##################################################################
+# Installing Apache2
+##################################################################
+#installing apache2 repo
+RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ apache2 \
+ apache2-utils \
+ libapache2-mod-php8.1 \
+ libapache2-mod-webauth \
+ libapache2-mod-xforward \
+ libapache2-mod-security2 && \
+ a2enmod \
+ php8.1 \
+ rewrite \
+ ldap \
+ heartmonitor \
+ auth_basic \
+ authnz_ldap \
+ headers \
+ heartbeat \
+ slotmem_shm \
+ lua \
+ mime \
+ status \
+ xml2enc \
+ xforward \
+ remoteip \
+ filter \
+ dav \
+ dav_fs \
+ alias && \
+ ln -sf /etc/ssl/dhparam.pem /etc/apache2/dhparam.pem && \
+ php -m && \
+ php -v
+
+##################################################################
+# Apache2 Fixes
+##################################################################
+RUN rm -fv /etc/apache2/sites-enabled/000-default.conf
+RUN rm -fv /etc/apache2/apache2.conf
+COPY etc/apache2/sites-enabled/localhost.conf /etc/apache2/sites-enabled/localhost.conf
+COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
+
+##################################################################
+# LDAP Fix
+##################################################################
+RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing IOnCube addon
+##################################################################
+#RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/apache2/php.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing Bolt addon
+##################################################################
+RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php82.so" >> ${PHP_DIR}/apache2/php.ini
+
+##################################################################
+# Installing timezonedb addon
+##################################################################
+RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing imagic addon
+##################################################################
+RUN echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing smbclient addon
+##################################################################
+RUN ln -sf ${SMB_PHP_INI} ${PHP_DIR}/apache2/conf.d/smbclient.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# cleaninig up
+##################################################################
+RUN apt clean -y && \
+ apt autoclean -y && \
+ rm -rfv /var/lib/apt/lists/* && \
+ rm -rfv /var/cache/apt/archives/*.deb && \
+ rm -rfv /tmp/*
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+RUN chown -Rf www-data:www-data /var/www
+
+#Final config
+VOLUME ["/var/www"]
+WORKDIR /var/www/
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/apache2/php8.2/Makefile b/linux/ecosystem/apache2/php8.2/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.2/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/apache2/php8.2/README.md b/linux/ecosystem/apache2/php8.2/README.md
new file mode 100644
index 000000000..86a34d4b1
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.2/README.md
@@ -0,0 +1,32 @@
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ websites:
+ image: epicmorg/websites
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/apache2/php8.2/docker-compose.yml b/linux/ecosystem/apache2/php8.2/docker-compose.yml
new file mode 100644
index 000000000..b02695cc3
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.2/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/apache2:php8.2"
+ build:
+ context: .
diff --git a/linux/ecosystem/apache2/php8.2/docker-entrypoint.sh b/linux/ecosystem/apache2/php8.2/docker-entrypoint.sh
new file mode 100755
index 000000000..b421b8648
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.2/docker-entrypoint.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/apache2/php8.2/etc/apache2/apache2.conf b/linux/ecosystem/apache2/php8.2/etc/apache2/apache2.conf
new file mode 100644
index 000000000..eedaac25c
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.2/etc/apache2/apache2.conf
@@ -0,0 +1,231 @@
+# This is the main Apache server configuration file. It contains the
+# configuration directives that give the server its instructions.
+# See http://httpd.apache.org/docs/2.4/ for detailed information about
+# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
+# hints.
+#
+#
+# Summary of how the Apache 2 configuration works in Debian:
+# The Apache 2 web server configuration in Debian is quite different to
+# upstream's suggested way to configure the web server. This is because Debian's
+# default Apache2 installation attempts to make adding and removing modules,
+# virtual hosts, and extra configuration directives as flexible as possible, in
+# order to make automating the changes and administering the server as easy as
+# possible.
+
+# It is split into several files forming the configuration hierarchy outlined
+# below, all located in the /etc/apache2/ directory:
+#
+# /etc/apache2/
+# |-- apache2.conf
+# | `-- ports.conf
+# |-- mods-enabled
+# | |-- *.load
+# | `-- *.conf
+# |-- conf-enabled
+# | `-- *.conf
+# `-- sites-enabled
+# `-- *.conf
+#
+#
+# * apache2.conf is the main configuration file (this file). It puts the pieces
+# together by including all remaining configuration files when starting up the
+# web server.
+#
+# * ports.conf is always included from the main configuration file. It is
+# supposed to determine listening ports for incoming connections which can be
+# customized anytime.
+#
+# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
+# directories contain particular configuration snippets which manage modules,
+# global configuration fragments, or virtual host configurations,
+# respectively.
+#
+# They are activated by symlinking available configuration files from their
+# respective *-available/ counterparts. These should be managed by using our
+# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
+# their respective man pages for detailed information.
+#
+# * The binary is called apache2. Due to the use of environment variables, in
+# the default configuration, apache2 needs to be started/stopped with
+# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
+# work with the default configuration.
+
+
+# Global configuration
+#
+
+#
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# NOTE! If you intend to place this on an NFS (or otherwise network)
+# mounted filesystem then please read the Mutex documentation (available
+# at );
+# you will save yourself a lot of trouble.
+#
+# Do NOT add a slash at the end of the directory path.
+#
+#ServerRoot "/etc/apache2"
+
+#
+# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
+#
+#Mutex file:${APACHE_LOCK_DIR} default
+
+#
+# The directory where shm and other runtime files will be stored.
+#
+
+DefaultRuntimeDir ${APACHE_RUN_DIR}
+
+#
+# PidFile: The file in which the server should record its process
+# identification number when it starts.
+# This needs to be set in /etc/apache2/envvars
+#
+PidFile ${APACHE_PID_FILE}
+
+#
+# Timeout: The number of seconds before receives and sends time out.
+#
+Timeout 300
+
+#
+# KeepAlive: Whether or not to allow persistent connections (more than
+# one request per connection). Set to "Off" to deactivate.
+#
+KeepAlive On
+
+#
+# MaxKeepAliveRequests: The maximum number of requests to allow
+# during a persistent connection. Set to 0 to allow an unlimited amount.
+# We recommend you leave this number high, for maximum performance.
+#
+MaxKeepAliveRequests 100
+
+#
+# KeepAliveTimeout: Number of seconds to wait for the next request from the
+# same client on the same connection.
+#
+KeepAliveTimeout 5
+
+
+# These need to be set in /etc/apache2/envvars
+User ${APACHE_RUN_USER}
+Group ${APACHE_RUN_GROUP}
+
+#
+# HostnameLookups: Log the names of clients or just their IP addresses
+# e.g., www.apache.org (on) or 204.62.129.132 (off).
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on, since enabling it means that
+# each client request will result in AT LEAST one lookup request to the
+# nameserver.
+#
+HostnameLookups Off
+
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog ${APACHE_LOG_DIR}/error.log
+
+#
+# LogLevel: Control the severity of messages logged to the error_log.
+# Available values: trace8, ..., trace1, debug, info, notice, warn,
+# error, crit, alert, emerg.
+# It is also possible to configure the log level for particular modules, e.g.
+# "LogLevel info ssl:warn"
+#
+LogLevel warn
+
+# Include module configuration:
+IncludeOptional mods-enabled/*.load
+IncludeOptional mods-enabled/*.conf
+
+# Include list of ports to listen on
+Include ports.conf
+
+
+# Sets the default security model of the Apache2 HTTPD server. It does
+# not allow access to the root filesystem outside of /usr/share and /var/www.
+# The former is used by web applications packaged in Debian,
+# the latter may be used for local directories served by the web server. If
+# your system is serving content from a sub-directory in /srv you must allow
+# access here, or in any related virtual host.
+
+ Options FollowSymLinks
+ AllowOverride None
+ Require all denied
+
+
+
+ AllowOverride None
+ Require all granted
+
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride None
+ Require all granted
+
+
+#
+# Options Indexes FollowSymLinks
+# AllowOverride None
+# Require all granted
+#
+
+
+
+
+# AccessFileName: The name of the file to look for in each directory
+# for additional configuration directives. See also the AllowOverride
+# directive.
+#
+AccessFileName .htaccess
+
+#
+# The following lines prevent .htaccess and .htpasswd files from being
+# viewed by Web clients.
+#
+
+ Require all denied
+
+
+
+#
+# The following directives define some format nicknames for use with
+# a CustomLog directive.
+#
+# These deviate from the Common Log Format definitions in that they use %O
+# (the actual bytes sent including headers) instead of %b (the size of the
+# requested file), because the latter makes it impossible to detect partial
+# requests.
+#
+# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
+# Use mod_remoteip instead.
+#
+LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
+LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
+LogFormat "%h %l %u %t \"%r\" %>s %O" common
+LogFormat "%{Referer}i -> %U" referer
+LogFormat "%{User-agent}i" agent
+
+# Include of directories ignores editors' and dpkg's backup files,
+# see README.Debian for details.
+
+# Include generic snippets of statements
+IncludeOptional conf-enabled/*.conf
+
+# Include the virtual host configurations:
+IncludeOptional sites-enabled/*.conf
+
+ServerName localhost
+
+#SecStatusEngine On
+
+# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
diff --git a/linux/ecosystem/apache2/php8.2/etc/apache2/sites-enabled/localhost.conf b/linux/ecosystem/apache2/php8.2/etc/apache2/sites-enabled/localhost.conf
new file mode 100644
index 000000000..052ce2ec1
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.2/etc/apache2/sites-enabled/localhost.conf
@@ -0,0 +1,8 @@
+
+ ServerName localhost
+ ServerAlias 127.0.0.1
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/html
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
diff --git a/linux/ecosystem/apache2/php8.3/Dockerfile b/linux/ecosystem/apache2/php8.3/Dockerfile
new file mode 100644
index 000000000..87b1f2f88
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.3/Dockerfile
@@ -0,0 +1,129 @@
+FROM epicmorg/php:php8.3
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_MODULE_VER=20220830
+ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
+ARG PHP_VER=8.3
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
+
+##################################################################
+# Installing Apache2
+##################################################################
+#installing apache2 repo
+RUN wget -O /etc/apt/trusted.gpg.d/apache2.gpg https://packages.sury.org/apache2/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/apache2/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/apache2.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ apache2 \
+ apache2-utils \
+ libapache2-mod-php8.3 \
+ libapache2-mod-webauth \
+ libapache2-mod-xforward \
+ libapache2-mod-security2 && \
+ a2enmod \
+ php8.3 \
+ rewrite \
+ ldap \
+ heartmonitor \
+ auth_basic \
+ authnz_ldap \
+ headers \
+ heartbeat \
+ slotmem_shm \
+ lua \
+ mime \
+ status \
+ xml2enc \
+ xforward \
+ remoteip \
+ filter \
+ dav \
+ dav_fs \
+ alias && \
+ ln -sf /etc/ssl/dhparam.pem /etc/apache2/dhparam.pem && \
+ php -m && \
+ php -v
+
+##################################################################
+# Apache2 Fixes
+##################################################################
+RUN rm -fv /etc/apache2/sites-enabled/000-default.conf
+RUN rm -fv /etc/apache2/apache2.conf
+COPY etc/apache2/sites-enabled/localhost.conf /etc/apache2/sites-enabled/localhost.conf
+COPY etc/apache2/apache2.conf /etc/apache2/apache2.conf
+
+##################################################################
+# LDAP Fix
+##################################################################
+RUN echo "TLS_REQCERT never" >> /etc/ldap/ldap.conf
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing IOnCube addon
+##################################################################
+#RUN echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/apache2/php.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing Bolt addon
+##################################################################
+#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php81.so" >> ${PHP_DIR}/apache2/php.ini
+
+##################################################################
+# Installing timezonedb addon
+##################################################################
+RUN echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing imagic addon
+##################################################################
+RUN echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing smbclient addon
+##################################################################
+RUN ln -sf ${SMB_PHP_INI} ${PHP_DIR}/apache2/conf.d/smbclient.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# cleaninig up
+##################################################################
+RUN apt clean -y && \
+ apt autoclean -y && \
+ rm -rfv /var/lib/apt/lists/* && \
+ rm -rfv /var/cache/apt/archives/*.deb && \
+ rm -rfv /tmp/*
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+RUN chown -Rf www-data:www-data /var/www
+
+#Final config
+VOLUME ["/var/www"]
+WORKDIR /var/www/
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/apache2/php8.3/Makefile b/linux/ecosystem/apache2/php8.3/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.3/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/apache2/php8.3/README.md b/linux/ecosystem/apache2/php8.3/README.md
new file mode 100644
index 000000000..86a34d4b1
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.3/README.md
@@ -0,0 +1,32 @@
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ websites:
+ image: epicmorg/websites
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/apache2/php8.3/docker-compose.yml b/linux/ecosystem/apache2/php8.3/docker-compose.yml
new file mode 100644
index 000000000..a135a1648
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.3/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/apache2:php8.3"
+ build:
+ context: .
diff --git a/linux/ecosystem/apache2/php8.3/docker-entrypoint.sh b/linux/ecosystem/apache2/php8.3/docker-entrypoint.sh
new file mode 100755
index 000000000..b421b8648
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.3/docker-entrypoint.sh
@@ -0,0 +1,18 @@
+#!/bin/bash
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/apache2/php8.3/etc/apache2/apache2.conf b/linux/ecosystem/apache2/php8.3/etc/apache2/apache2.conf
new file mode 100644
index 000000000..eedaac25c
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.3/etc/apache2/apache2.conf
@@ -0,0 +1,231 @@
+# This is the main Apache server configuration file. It contains the
+# configuration directives that give the server its instructions.
+# See http://httpd.apache.org/docs/2.4/ for detailed information about
+# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
+# hints.
+#
+#
+# Summary of how the Apache 2 configuration works in Debian:
+# The Apache 2 web server configuration in Debian is quite different to
+# upstream's suggested way to configure the web server. This is because Debian's
+# default Apache2 installation attempts to make adding and removing modules,
+# virtual hosts, and extra configuration directives as flexible as possible, in
+# order to make automating the changes and administering the server as easy as
+# possible.
+
+# It is split into several files forming the configuration hierarchy outlined
+# below, all located in the /etc/apache2/ directory:
+#
+# /etc/apache2/
+# |-- apache2.conf
+# | `-- ports.conf
+# |-- mods-enabled
+# | |-- *.load
+# | `-- *.conf
+# |-- conf-enabled
+# | `-- *.conf
+# `-- sites-enabled
+# `-- *.conf
+#
+#
+# * apache2.conf is the main configuration file (this file). It puts the pieces
+# together by including all remaining configuration files when starting up the
+# web server.
+#
+# * ports.conf is always included from the main configuration file. It is
+# supposed to determine listening ports for incoming connections which can be
+# customized anytime.
+#
+# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
+# directories contain particular configuration snippets which manage modules,
+# global configuration fragments, or virtual host configurations,
+# respectively.
+#
+# They are activated by symlinking available configuration files from their
+# respective *-available/ counterparts. These should be managed by using our
+# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
+# their respective man pages for detailed information.
+#
+# * The binary is called apache2. Due to the use of environment variables, in
+# the default configuration, apache2 needs to be started/stopped with
+# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
+# work with the default configuration.
+
+
+# Global configuration
+#
+
+#
+# ServerRoot: The top of the directory tree under which the server's
+# configuration, error, and log files are kept.
+#
+# NOTE! If you intend to place this on an NFS (or otherwise network)
+# mounted filesystem then please read the Mutex documentation (available
+# at );
+# you will save yourself a lot of trouble.
+#
+# Do NOT add a slash at the end of the directory path.
+#
+#ServerRoot "/etc/apache2"
+
+#
+# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
+#
+#Mutex file:${APACHE_LOCK_DIR} default
+
+#
+# The directory where shm and other runtime files will be stored.
+#
+
+DefaultRuntimeDir ${APACHE_RUN_DIR}
+
+#
+# PidFile: The file in which the server should record its process
+# identification number when it starts.
+# This needs to be set in /etc/apache2/envvars
+#
+PidFile ${APACHE_PID_FILE}
+
+#
+# Timeout: The number of seconds before receives and sends time out.
+#
+Timeout 300
+
+#
+# KeepAlive: Whether or not to allow persistent connections (more than
+# one request per connection). Set to "Off" to deactivate.
+#
+KeepAlive On
+
+#
+# MaxKeepAliveRequests: The maximum number of requests to allow
+# during a persistent connection. Set to 0 to allow an unlimited amount.
+# We recommend you leave this number high, for maximum performance.
+#
+MaxKeepAliveRequests 100
+
+#
+# KeepAliveTimeout: Number of seconds to wait for the next request from the
+# same client on the same connection.
+#
+KeepAliveTimeout 5
+
+
+# These need to be set in /etc/apache2/envvars
+User ${APACHE_RUN_USER}
+Group ${APACHE_RUN_GROUP}
+
+#
+# HostnameLookups: Log the names of clients or just their IP addresses
+# e.g., www.apache.org (on) or 204.62.129.132 (off).
+# The default is off because it'd be overall better for the net if people
+# had to knowingly turn this feature on, since enabling it means that
+# each client request will result in AT LEAST one lookup request to the
+# nameserver.
+#
+HostnameLookups Off
+
+# ErrorLog: The location of the error log file.
+# If you do not specify an ErrorLog directive within a
+# container, error messages relating to that virtual host will be
+# logged here. If you *do* define an error logfile for a
+# container, that host's errors will be logged there and not here.
+#
+ErrorLog ${APACHE_LOG_DIR}/error.log
+
+#
+# LogLevel: Control the severity of messages logged to the error_log.
+# Available values: trace8, ..., trace1, debug, info, notice, warn,
+# error, crit, alert, emerg.
+# It is also possible to configure the log level for particular modules, e.g.
+# "LogLevel info ssl:warn"
+#
+LogLevel warn
+
+# Include module configuration:
+IncludeOptional mods-enabled/*.load
+IncludeOptional mods-enabled/*.conf
+
+# Include list of ports to listen on
+Include ports.conf
+
+
+# Sets the default security model of the Apache2 HTTPD server. It does
+# not allow access to the root filesystem outside of /usr/share and /var/www.
+# The former is used by web applications packaged in Debian,
+# the latter may be used for local directories served by the web server. If
+# your system is serving content from a sub-directory in /srv you must allow
+# access here, or in any related virtual host.
+
+ Options FollowSymLinks
+ AllowOverride None
+ Require all denied
+
+
+
+ AllowOverride None
+ Require all granted
+
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride None
+ Require all granted
+
+
+#
+# Options Indexes FollowSymLinks
+# AllowOverride None
+# Require all granted
+#
+
+
+
+
+# AccessFileName: The name of the file to look for in each directory
+# for additional configuration directives. See also the AllowOverride
+# directive.
+#
+AccessFileName .htaccess
+
+#
+# The following lines prevent .htaccess and .htpasswd files from being
+# viewed by Web clients.
+#
+
+ Require all denied
+
+
+
+#
+# The following directives define some format nicknames for use with
+# a CustomLog directive.
+#
+# These deviate from the Common Log Format definitions in that they use %O
+# (the actual bytes sent including headers) instead of %b (the size of the
+# requested file), because the latter makes it impossible to detect partial
+# requests.
+#
+# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
+# Use mod_remoteip instead.
+#
+LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
+LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
+LogFormat "%h %l %u %t \"%r\" %>s %O" common
+LogFormat "%{Referer}i -> %U" referer
+LogFormat "%{User-agent}i" agent
+
+# Include of directories ignores editors' and dpkg's backup files,
+# see README.Debian for details.
+
+# Include generic snippets of statements
+IncludeOptional conf-enabled/*.conf
+
+# Include the virtual host configurations:
+IncludeOptional sites-enabled/*.conf
+
+ServerName localhost
+
+#SecStatusEngine On
+
+# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
diff --git a/linux/ecosystem/apache2/php8.3/etc/apache2/sites-enabled/localhost.conf b/linux/ecosystem/apache2/php8.3/etc/apache2/sites-enabled/localhost.conf
new file mode 100644
index 000000000..052ce2ec1
--- /dev/null
+++ b/linux/ecosystem/apache2/php8.3/etc/apache2/sites-enabled/localhost.conf
@@ -0,0 +1,8 @@
+
+ ServerName localhost
+ ServerAlias 127.0.0.1
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/html
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
diff --git a/linux/ecosystem/php/latest/usr/lib/php/20190902/phpBolt-extension-1.0.4-php74.so b/linux/ecosystem/php/latest/usr/lib/php/20190902/phpBolt-extension-1.0.4-php74.so
deleted file mode 100644
index 9e8df1195..000000000
Binary files a/linux/ecosystem/php/latest/usr/lib/php/20190902/phpBolt-extension-1.0.4-php74.so and /dev/null differ
diff --git a/linux/ecosystem/php/php5.5/Dockerfile b/linux/ecosystem/php/php5.5/Dockerfile
new file mode 100644
index 000000000..2ea919341
--- /dev/null
+++ b/linux/ecosystem/php/php5.5/Dockerfile
@@ -0,0 +1,137 @@
+FROM epicmorg/debian:bullseye
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_VER=5.5
+ARG PHP_MODULE_PATH=/usr/local/lib/php/extensions/no-debug-non-zts-20121212
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
+
+ENV PHP_INI_DIR=/usr/local/etc/php
+ENV PHP_FILENAME=php-5.5.38.tar.xz
+ENV PHPIZE_DEPS=autoconf
+ENV PHP_SHA256=cb527c44b48343c8557fe2446464ff1d4695155a95601083e5d1f175df95580f
+ENV PHP_VERSION=5.5.38
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmagickwand-dev \
+ libmemcached-dev \
+ imagemagick \
+ libncurses5 \
+ autoconf
+
+##################################################################
+# Installing PHP5.5
+##################################################################
+COPY --from=php:5.5 /usr/local/bin /usr/local/bin
+COPY --from=php:5.5 /usr/local/etc/php /usr/local/etc/php
+COPY --from=php:5.5 /usr/local/etc/pear.conf /usr/local/etc/pear.conf
+COPY --from=php:5.5 /usr/local/include/php /usr/local/include/php
+COPY --from=php:5.5 /usr/local/lib/php /usr/local/lib/php
+COPY --from=php:5.5 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0
+COPY --from=php:5.5 /usr/lib/x86_64-linux-gnu/openssl-1.0.0 /usr/lib/x86_64-linux-gnu/openssl-1.0.0
+COPY --from=php:5.5 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0
+COPY --from=php:5.5 /usr/lib/x86_64-linux-gnu/libcurl.so.4 /usr/lib/x86_64-linux-gnu/libcurl.so.4
+COPY --from=php:5.5 /usr/local/php /usr/local/php
+COPY --from=php:5.5 /usr/src/php.tar.xz /usr/src/php.tar.xz
+COPY --from=php:5.5 /usr/src/php.tar.xz.asc /usr/src/php.tar.xz.asc
+
+##################################################################
+# Enabling extensions
+##################################################################
+RUN pear update-channels && \
+ pecl channel-update pecl.php.net && \
+ pear upgrade
+
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+#OPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+#RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+# https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+#RUN cd /tmp/cassandra-php-driver && \
+# dpkg -i ./multiarch-support_2.28_amd64.deb && \
+# dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+# dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+# dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+# dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+# dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+# dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN pecl install cassandra && \
+# echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > /usr/local/etc/php/conf.d/cassandra.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing timezonedb addon
+##################################################################
+RUN pecl install timezonedb && \
+# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
+# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
+# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
+# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing imagic addon
+##################################################################
+RUN pecl install imagick && \
+## echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
+# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cgi/php.ini && \
+# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cli/php.ini && \
+# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing IOnCube addon
+##################################################################
+ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz
+RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
+ cp /tmp/ioncube/ioncube_loader_lin_5.5.so ${PHP_MODULE_PATH} && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_5.5.so" >> /usr/local/etc/php/conf.d/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing P4 addon
+##################################################################
+#COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH}
+#RUN echo "extension= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \
+## ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
+# ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \
+# ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \
+# ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing Composer addon
+##################################################################
+RUN cd /tmp && \
+ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
+ php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
+ rm /tmp/composer-setup.php
+
+##################################################################
+# cleaninig up
+##################################################################
+RUN apt clean -y && \
+ apt autoclean -y && \
+ rm -rfv /var/lib/apt/lists/* && \
+ rm -rfv /var/cache/apt/archives/*.deb && \
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/php/php5.5/Dockerfile.dev b/linux/ecosystem/php/php5.5/Dockerfile.dev
new file mode 100644
index 000000000..ad54fae72
--- /dev/null
+++ b/linux/ecosystem/php/php5.5/Dockerfile.dev
@@ -0,0 +1,74 @@
+FROM epicmorg/debian:bullseye-develop AS builder
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+##################################################################
+# ARGuments
+##################################################################
+ENV BuildDocker true
+
+ARG BUILDS_DIR=/builds
+ARG SRC_DIR=${BUILDS_DIR}/src
+ARG EXPORT_DIR=${BUILDS_DIR}/export
+ARG P4API_DIR=${SRC_DIR}/p4api
+ARG P4PHP_DIR=${SRC_DIR}/p4php
+ARG MAKE_DIR=${SRC_DIR}/p4php-5.0
+
+ARG P4API_VER=r20.1
+ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
+
+ARG P4PHP_VER=r20.1
+ARG P4PHP_URL=http://filehost.perforce.com/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz
+
+ARG P4MODULE_PATH=/usr/lib/php/20121113
+
+ARG PHP_INI_DIR=/usr/local/etc/php
+ARG PHP_FILENAME=php-5.5.38.tar.xz
+ARG PHPIZE_DEPS=autoconf
+ARG PHP_SHA256=cb527c44b48343c8557fe2446464ff1d4695155a95601083e5d1f175df95580f
+ARG PHP_VERSION=5.5.38
+
+##################################################################
+# Files and folders
+##################################################################
+RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
+
+##################################################################
+# Installing PHP5.5
+##################################################################
+COPY --from=php:5.5 /usr/local/bin /usr/local/bin
+COPY --from=php:5.5 /usr/local/etc/php /usr/local/etc/php
+COPY --from=php:5.5 /usr/local/etc/pear.conf /usr/local/etc/pear.conf
+COPY --from=php:5.5 /usr/local/include/php /usr/local/include/php
+COPY --from=php:5.5 /usr/local/lib/php /usr/local/lib/php
+COPY --from=php:5.5 /usr/local/php /usr/local/php
+COPY --from=php:5.5 /usr/src/php.tar.xz /usr/src/php.tar.xz
+COPY --from=php:5.5 /usr/src/php.tar.xz.asc /usr/src/php.tar.xz.asc
+
+##################################################################
+# preparing p4src
+##################################################################
+RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \
+ wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \
+ wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \
+ wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \
+ cd ${P4API_DIR} && \
+ ls -las && \
+ cd ${P4PHP_DIR} && \
+ ls -las && \
+ cd ${MAKE_DIR} && \
+ ls -las && \
+ cd ${SRC_DIR} && \
+ ls -las
+
+##################################################################
+# compilling p4src
+##################################################################
+RUN cd ${MAKE_DIR} && \
+ ls -las && \
+ phpize && \
+ ./configure --with-perforce=${P4API_DIR} && \
+ make && \
+ make test && \
+ make install && \
+ cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
diff --git a/linux/ecosystem/php/php5.5/Makefile b/linux/ecosystem/php/php5.5/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/php/php5.5/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/php/latest/README.md b/linux/ecosystem/php/php5.5/README.md
similarity index 100%
rename from linux/ecosystem/php/latest/README.md
rename to linux/ecosystem/php/php5.5/README.md
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/multiarch-support_2.28-10+deb10u1_amd64.deb b/linux/ecosystem/php/php5.5/addons/multiarch-support_2.28_amd64.deb
similarity index 100%
rename from linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/multiarch-support_2.28-10+deb10u1_amd64.deb
rename to linux/ecosystem/php/php5.5/addons/multiarch-support_2.28_amd64.deb
diff --git a/linux/ecosystem/php/latest/docker-compose.yml b/linux/ecosystem/php/php5.5/docker-compose.yml
similarity index 64%
rename from linux/ecosystem/php/latest/docker-compose.yml
rename to linux/ecosystem/php/php5.5/docker-compose.yml
index 2efbde924..076bd824b 100644
--- a/linux/ecosystem/php/latest/docker-compose.yml
+++ b/linux/ecosystem/php/php5.5/docker-compose.yml
@@ -1,6 +1,6 @@
version: '3.9'
services:
app:
- image: "epicmorg/php:latest"
+ image: "epicmorg/php:php5.5"
build:
context: .
diff --git a/linux/ecosystem/php/latest/Dockerfile b/linux/ecosystem/php/php7.0/Dockerfile
similarity index 64%
rename from linux/ecosystem/php/latest/Dockerfile
rename to linux/ecosystem/php/php7.0/Dockerfile
index d5b592aa4..39611a678 100644
--- a/linux/ecosystem/php/latest/Dockerfile
+++ b/linux/ecosystem/php/php7.0/Dockerfile
@@ -12,7 +12,7 @@ ARG SRC_DIR=${BUILDS_DIR}/src
ARG EXPORT_DIR=${BUILDS_DIR}/export
ARG P4API_DIR=${SRC_DIR}/p4api
ARG P4PHP_DIR=${SRC_DIR}/p4php
-ARG MAKE_DIR=${SRC_DIR}/p4php-7.4
+ARG MAKE_DIR=${SRC_DIR}/p4php-7.0
ARG P4API_VER=r20.1
ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
@@ -20,7 +20,7 @@ ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_
ARG P4PHP_VER=r20.1
ARG P4PHP_URL=http://filehost.perforce.com/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz
-ARG PHP_MODULE_PATH=/usr/lib/php/20190902
+ARG P4MODULE_PATH=/usr/lib/php/20151012
##################################################################
# Files and folders
@@ -30,16 +30,23 @@ RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P
##################################################################
# Installing PHP7
##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
+
#Install base packages
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
- smbclient libsmbclient libsmbclient-dev \
- php7.4 \
- php7.4-dev \
- php7.4-fpm \
- php7.4-cli \
- php7.4-cgi
+ php7.0 \
+ php7.0-common \
+ php7.0-dev \
+ php7.0-fpm \
+ php7.0-cli \
+ php7.0-cgi && \
+ update-alternatives --set php /usr/bin/php7.0 && \
+ php -m && \
+ php -v
##################################################################
# preparing p4src
@@ -67,13 +74,7 @@ RUN cd ${MAKE_DIR} && \
make && \
make test && \
make install && \
- cp ${PHP_MODULE_PATH}/perforce.so ${EXPORT_DIR}
-
-##################################################################
-# compilling smbclient
-##################################################################
-RUN pecl install smbclient && \
- cp ${PHP_MODULE_PATH}/smbclient.so ${EXPORT_DIR}
+ cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
##################################################################
##################################################################
@@ -83,63 +84,65 @@ FROM epicmorg/debian:bullseye
LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
ARG DEBIAN_FRONTEND=noninteractive
-ARG PHP_MODULE_PATH=/usr/lib/php/20190902
-ARG PHP_VER=7.4
+ARG PHP_VER=7.0
+ARG PHP_MODULE_PATH=/usr/lib/php/20151012
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
-ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing PHP7
##################################################################
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
- php7.4 \
- php7.4-dev \
- php7.4-fpm \
- php7.4-cli \
- php7.4-cgi \
- php-pear \
- php7.4-gmp \
- php7.4-snmp \
- php7.4-ldap \
- php7.4-mail \
- php7.4-soap \
- php7.4-mysql \
- php7.4-memcached \
- php7.4-memcache \
- php7.4-igbinary \
- php7.4-interbase \
- php7.4-curl \
- php7.4-gd \
- php7.4-intl \
- php7.4-zip \
- php7.4-bcmath \
- php7.4-imap \
- php7.4-pspell \
- php7.4-sqlite3 \
- php7.4-pgsql \
- php7.4-tidy \
- php7.4-xmlrpc \
- php7.4-xml \
- php7.4-mbstring \
- php7.4-apcu \
- php7.4-common \
- php7.4-json \
- php7.4-readline \
- php7.4-enchant \
- php7.4-ssh2 \
- php7.4-oauth \
- php7.4-gmagick \
- php7.4-gnupg \
- php7.4-redis \
+ libgmp-dev \
+ php7.0 \
+ php7.0-common \
+ php7.0-dev \
+ php7.0-ldap \
+ php7.0-mail \
+ php7.0-mailparse \
+ php7.0-soap \
+ php7.0-mysql \
+ php7.0-curl \
+ php7.0-gd \
+ php7.0-intl \
+ php7.0-zip \
+ php7.0-bcmath \
+ php7.0-fpm \
+ php7.0-imap \
+ php7.0-pspell \
+ php7.0-recode \
+ php7.0-sqlite3 \
+ php7.0-pgsql \
+ php7.0-tidy \
+ php7.0-xmlrpc \
+ php7.0-xml \
+ php7.0-mbstring \
+ php7.0-gettext \
+ php7.0-apcu \
+ php7.0-cli \
+ php7.0-common \
+ php7.0-cgi \
+ php7.0-json \
+ php7.0-readline \
+ php7.0-enchant \
+ php7.0-ssh2 \
+ php7.0-oauth \
+ php7.0-gmagick \
+ php7.0-redis \
+ php7.0-smbclient \
+ php7.0-yaml \
+ php7.0-geoip \
smbclient libsmbclient \
- php7.4-yaml \
- php7.4-geoip \
sendmail && \
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
- update-alternatives --set php /usr/bin/php7.4 && \
+ update-alternatives --set php /usr/bin/php7.0 && \
+ pear update-channels && \
+ pear upgrade && \
pecl channel-update pecl.php.net && \
php -m && \
php -v
@@ -148,8 +151,6 @@ RUN apt-get update && \
# Enabling extensions
##################################################################
RUN phpenmod \
- snmp \
- gmp \
calendar \
ldap \
curl \
@@ -158,12 +159,10 @@ RUN phpenmod \
fileinfo \
gd \
geoip \
- gnupg \
iconv \
imap \
json \
mbstring \
- memcached \
mysqli \
mysqlnd \
oauth \
@@ -187,6 +186,39 @@ RUN phpenmod \
php -m && \
php -v
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN pecl install cassandra && \
+ echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing timezonedb addon
##################################################################
@@ -218,11 +250,11 @@ RUN apt-get update && \
##################################################################
ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz
RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
- cp /tmp/ioncube/ioncube_loader_lin_7.4.so ${PHP_MODULE_PATH} && \
-# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/apache2/php.ini && \
- echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cgi/php.ini && \
- echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/cli/php.ini && \
- echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.4.so" >> ${PHP_DIR}/fpm/php.ini && \
+ cp /tmp/ioncube/ioncube_loader_lin_7.0.so ${PHP_MODULE_PATH} && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.0.so" >> ${PHP_DIR}/fpm/php.ini && \
php -m && \
php -v
@@ -230,11 +262,11 @@ RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
# Installing Bolt addon
##################################################################
#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.4.zip /tmp/phpBolt.zip
-COPY usr/lib/php/20190902/phpBolt-extension-1.0.4-php74.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php74.so
-#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php74.so" >> ${PHP_DIR}/apache2/php.ini && \
-RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php74.so" >> ${PHP_DIR}/cgi/php.ini && \
- echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php74.so" >> ${PHP_DIR}/cli/php.ini && \
- echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php74.so" >> ${PHP_DIR}/fpm/php.ini && \
+COPY usr/lib/php/20151012/phpBolt-extension-1.0.4-php70.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php70.so
+#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php70.so" >> ${PHP_DIR}/apache2/php.ini && \
+RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php70.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php70.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php70.so" >> ${PHP_DIR}/fpm/php.ini && \
php -m && \
php -v
@@ -242,24 +274,14 @@ RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php74.so" >> ${
# Installing P4 addon
##################################################################
COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH}
-RUN echo "extension = ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \
+RUN echo "extension= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \
+# ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \
ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \
ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \
php -m && \
php -v
-##################################################################
-# Installing smbclient addon
-##################################################################
-COPY --from=builder /builds/export/smbclient.so ${PHP_MODULE_PATH}
-RUN echo "extension = ${PHP_MODULE_PATH}/smbclient.so" > ${SMB_PHP_INI} && \
- ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cgi/conf.d/smbclient.ini && \
- ln -sf ${SMB_PHP_INI} ${PHP_DIR}/cli/conf.d/smbclient.ini && \
- ln -sf ${SMB_PHP_INI} ${PHP_DIR}/fpm/conf.d/smbclient.ini && \
- php -m && \
- php -v
-
##################################################################
# Installing Composer addon
##################################################################
@@ -275,8 +297,4 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
-
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/php/php7.0/Makefile b/linux/ecosystem/php/php7.0/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/php/php7.0/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/php/php7.0/README.md b/linux/ecosystem/php/php7.0/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/multiarch-support_2.28-10+deb10u1_amd64.deb b/linux/ecosystem/php/php7.0/addons/multiarch-support_2.28_amd64.deb
similarity index 100%
rename from linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/multiarch-support_2.28-10+deb10u1_amd64.deb
rename to linux/ecosystem/php/php7.0/addons/multiarch-support_2.28_amd64.deb
diff --git a/linux/ecosystem/php/php7.0/docker-compose.yml b/linux/ecosystem/php/php7.0/docker-compose.yml
new file mode 100644
index 000000000..a855c25db
--- /dev/null
+++ b/linux/ecosystem/php/php7.0/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/php:php7.0"
+ build:
+ context: .
diff --git a/linux/ecosystem/php/php7.0/usr/lib/php/20151012/phpBolt-extension-1.0.4-php70.so b/linux/ecosystem/php/php7.0/usr/lib/php/20151012/phpBolt-extension-1.0.4-php70.so
new file mode 100644
index 000000000..e6d3abfda
Binary files /dev/null and b/linux/ecosystem/php/php7.0/usr/lib/php/20151012/phpBolt-extension-1.0.4-php70.so differ
diff --git a/linux/ecosystem/php/php7.1/Dockerfile b/linux/ecosystem/php/php7.1/Dockerfile
new file mode 100644
index 000000000..cce88197a
--- /dev/null
+++ b/linux/ecosystem/php/php7.1/Dockerfile
@@ -0,0 +1,301 @@
+FROM epicmorg/debian:bullseye-develop AS builder
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+##################################################################
+# ARGuments
+##################################################################
+ENV BuildDocker true
+
+ARG BUILDS_DIR=/builds
+ARG SRC_DIR=${BUILDS_DIR}/src
+ARG EXPORT_DIR=${BUILDS_DIR}/export
+ARG P4API_DIR=${SRC_DIR}/p4api
+ARG P4PHP_DIR=${SRC_DIR}/p4php
+ARG MAKE_DIR=${SRC_DIR}/p4php-7.1
+
+ARG P4API_VER=r20.1
+ARG P4API_URL=http://filehost.perforce.com/perforce/${P4API_VER}/bin.linux26x86_64/p4api.tgz
+
+ARG P4PHP_VER=r20.1
+ARG P4PHP_URL=http://filehost.perforce.com/perforce/${P4PHP_VER}/bin.tools/p4php-php7.tgz
+
+ARG P4MODULE_PATH=/usr/lib/php/20160303
+
+##################################################################
+# Files and folders
+##################################################################
+RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P4PHP_DIR}
+
+##################################################################
+# Installing PHP7
+##################################################################
+#installing php repo
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
+
+#Install base packages
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ php7.1 \
+ php7.1-common \
+ php7.1-dev \
+ php7.1-fpm \
+ php7.1-cli \
+ php7.1-cgi && \
+ update-alternatives --set php /usr/bin/php7.1 && \
+ php -m && \
+ php -v
+
+##################################################################
+# preparing p4src
+##################################################################
+RUN wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${P4API_DIR} && \
+ wget -qO - ${P4API_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \
+ wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${P4PHP_DIR} && \
+ wget -qO - ${P4PHP_URL} | tar -zxv --strip-components=1 -C ${MAKE_DIR} && \
+ cd ${P4API_DIR} && \
+ ls -las && \
+ cd ${P4PHP_DIR} && \
+ ls -las && \
+ cd ${MAKE_DIR} && \
+ ls -las && \
+ cd ${SRC_DIR} && \
+ ls -las
+
+##################################################################
+# compilling p4src
+##################################################################
+RUN cd ${MAKE_DIR} && \
+ ls -las && \
+ phpize && \
+ ./configure --with-perforce=${P4API_DIR} && \
+ make && \
+ make test && \
+ make install && \
+ cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
+
+##################################################################
+##################################################################
+##################################################################
+
+FROM epicmorg/debian:bullseye
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_VER=7.1
+ARG PHP_MODULE_PATH=/usr/lib/php/20160303
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
+
+##################################################################
+# Installing PHP7
+##################################################################
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ libgmp-dev \
+ php7.1 \
+ php7.1-common \
+ php7.1-dev \
+ php7.1-ldap \
+ php7.1-mail \
+ php7.1-mailparse \
+ php7.1-soap \
+ php7.1-mysql \
+ php7.1-curl \
+ php7.1-gd \
+ php7.1-intl \
+ php7.1-zip \
+ php7.1-bcmath \
+ php7.1-fpm \
+ php7.1-imap \
+ php7.1-pspell \
+ php7.1-recode \
+ php7.1-sqlite3 \
+ php7.1-pgsql \
+ php7.1-tidy \
+ php7.1-xmlrpc \
+ php7.1-xml \
+ php7.1-mbstring \
+ php7.1-gettext \
+ php7.1-apcu \
+ php7.1-cli \
+ php7.1-common \
+ php7.1-cgi \
+ php7.1-json \
+ php7.1-readline \
+ php7.1-enchant \
+ php7.1-ssh2 \
+ php7.1-oauth \
+ php7.1-gmagick \
+ php7.1-redis \
+ php7.1-smbclient \
+ php7.1-yaml \
+ php7.1-geoip \
+ smbclient libsmbclient \
+ sendmail && \
+ ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
+ update-alternatives --set php /usr/bin/php7.1 && \
+ pear update-channels && \
+ pear upgrade && \
+ pecl channel-update pecl.php.net && \
+ php -m && \
+ php -v
+
+##################################################################
+# Enabling extensions
+##################################################################
+RUN phpenmod \
+ calendar \
+ ldap \
+ curl \
+ exif \
+ ftp \
+ fileinfo \
+ gd \
+ geoip \
+ iconv \
+ imap \
+ json \
+ mbstring \
+ mysqli \
+ mysqlnd \
+ oauth \
+ pdo_mysql \
+ pdo_sqlite \
+ phar \
+ posix \
+ readline \
+ redis \
+ simplexml \
+ sockets \
+ sqlite3 \
+ ssh2 \
+ tokenizer \
+ xml \
+ xmlreader \
+ xmlrpc \
+ xmlwriter \
+ xsl \
+ yaml && \
+ php -m && \
+ php -v
+
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+RUN pecl install cassandra && \
+ echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing timezonedb addon
+##################################################################
+RUN pecl install timezonedb && \
+# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing imagic addon
+##################################################################
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmagickwand-dev \
+ imagemagick && \
+ pecl install imagick && \
+# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing IOnCube addon
+##################################################################
+ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz
+RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
+ cp /tmp/ioncube/ioncube_loader_lin_7.1.so ${PHP_MODULE_PATH} && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_7.1.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing Bolt addon
+##################################################################
+#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.4.zip /tmp/phpBolt.zip
+COPY usr/lib/php/20160303/phpBolt-extension-1.0.4-php71.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php71.so
+#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php71.so" >> ${PHP_DIR}/apache2/php.ini && \
+RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php71.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php71.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php71.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing P4 addon
+##################################################################
+COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH}
+RUN echo "extension= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \
+# ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
+ ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \
+ ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \
+ ln -sf ${P4_PHP_INI} ${PHP_DIR}/fpm/conf.d/perforce.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing Composer addon
+##################################################################
+RUN cd /tmp && \
+ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
+ php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
+ rm /tmp/composer-setup.php
+
+##################################################################
+# cleaninig up
+##################################################################
+RUN apt clean -y && \
+ apt autoclean -y && \
+ rm -rfv /var/lib/apt/lists/* && \
+ rm -rfv /var/cache/apt/archives/*.deb && \
+ rm -rfv /tmp/*
+
diff --git a/linux/ecosystem/php/php7.1/Makefile b/linux/ecosystem/php/php7.1/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/php/php7.1/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/php/php7.1/README.md b/linux/ecosystem/php/php7.1/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/multiarch-support_2.28-10+deb10u1_amd64.deb b/linux/ecosystem/php/php7.1/addons/multiarch-support_2.28_amd64.deb
similarity index 100%
rename from linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/multiarch-support_2.28-10+deb10u1_amd64.deb
rename to linux/ecosystem/php/php7.1/addons/multiarch-support_2.28_amd64.deb
diff --git a/linux/ecosystem/php/php7.1/docker-compose.yml b/linux/ecosystem/php/php7.1/docker-compose.yml
new file mode 100644
index 000000000..30f797f6f
--- /dev/null
+++ b/linux/ecosystem/php/php7.1/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/php:php7.1"
+ build:
+ context: .
diff --git a/linux/ecosystem/php/php7.1/usr/lib/php/20160303/phpBolt-extension-1.0.4-php71.so b/linux/ecosystem/php/php7.1/usr/lib/php/20160303/phpBolt-extension-1.0.4-php71.so
new file mode 100644
index 000000000..75149ffcf
Binary files /dev/null and b/linux/ecosystem/php/php7.1/usr/lib/php/20160303/phpBolt-extension-1.0.4-php71.so differ
diff --git a/linux/ecosystem/php/php7.2/Dockerfile b/linux/ecosystem/php/php7.2/Dockerfile
index 38d105042..eaf75711f 100644
--- a/linux/ecosystem/php/php7.2/Dockerfile
+++ b/linux/ecosystem/php/php7.2/Dockerfile
@@ -32,17 +32,21 @@ RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P
##################################################################
#installing php repo
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
#Install base packages
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
php7.2 \
+ php7.2-common \
php7.2-dev \
php7.2-fpm \
php7.2-cli \
- php7.2-cgi
+ php7.2-cgi && \
+ update-alternatives --set php /usr/bin/php7.2 && \
+ php -m && \
+ php -v
##################################################################
# preparing p4src
@@ -72,7 +76,6 @@ RUN cd ${MAKE_DIR} && \
make install && \
cp ${P4MODULE_PATH}/perforce.so ${EXPORT_DIR}
-
##################################################################
##################################################################
##################################################################
@@ -85,18 +88,21 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20170718
ARG PHP_VER=7.2
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing PHP7
##################################################################
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
- php7.2-ldap \
- php7.2-dev \
+ libgmp-dev \
php7.2 \
+ php7.2-common \
+ php7.2-dev \
+ php7.2-ldap \
php7.2-mail \
php7.2-mailparse \
php7.2-soap \
@@ -131,9 +137,12 @@ RUN apt-get update && \
php7.2-smbclient \
php7.2-yaml \
php7.2-geoip \
+ smbclient libsmbclient \
sendmail && \
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
update-alternatives --set php /usr/bin/php7.2 && \
+ pear update-channels && \
+ pear upgrade && \
pecl channel-update pecl.php.net && \
php -m && \
php -v
@@ -177,6 +186,40 @@ RUN phpenmod \
php -m && \
php -v
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN pecl install cassandra && \
+COPY usr/lib/php/20170718/cassandra.so ${PHP_MODULE_PATH}/cassandra.so
+RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing timezonedb addon
##################################################################
@@ -232,7 +275,7 @@ RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php72.so" >> ${
# Installing P4 addon
##################################################################
COPY --from=builder /builds/export/perforce.so ${PHP_MODULE_PATH}
-RUN echo "extensio n= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \
+RUN echo "extension= ${PHP_MODULE_PATH}/perforce.so" > ${P4_PHP_INI} && \
# ln -sf ${P4_PHP_INI} ${PHP_DIR}/apache2/conf.d/perforce.ini && \
ln -sf ${P4_PHP_INI} ${PHP_DIR}/cgi/conf.d/perforce.ini && \
ln -sf ${P4_PHP_INI} ${PHP_DIR}/cli/conf.d/perforce.ini && \
@@ -255,8 +298,5 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/multiarch-support_2.28-10+deb10u1_amd64.deb b/linux/ecosystem/php/php7.2/addons/multiarch-support_2.28_amd64.deb
similarity index 100%
rename from linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/multiarch-support_2.28-10+deb10u1_amd64.deb
rename to linux/ecosystem/php/php7.2/addons/multiarch-support_2.28_amd64.deb
diff --git a/linux/ecosystem/php/php7.2/usr/lib/php/20170718/cassandra.so b/linux/ecosystem/php/php7.2/usr/lib/php/20170718/cassandra.so
new file mode 100644
index 000000000..fb54b0cbd
Binary files /dev/null and b/linux/ecosystem/php/php7.2/usr/lib/php/20170718/cassandra.so differ
diff --git a/linux/ecosystem/php/php7.3/Dockerfile b/linux/ecosystem/php/php7.3/Dockerfile
index 85e322967..3a2f65392 100644
--- a/linux/ecosystem/php/php7.3/Dockerfile
+++ b/linux/ecosystem/php/php7.3/Dockerfile
@@ -32,17 +32,21 @@ RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P
##################################################################
#installing php repo
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
#Install base packages
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
php7.3 \
+ php7.3-common \
php7.3-dev \
php7.3-fpm \
php7.3-cli \
- php7.3-cgi
+ php7.3-cgi && \
+ update-alternatives --set php /usr/bin/php7.3 && \
+ php -m && \
+ php -v
##################################################################
# preparing p4src
@@ -84,27 +88,25 @@ ARG PHP_MODULE_PATH=/usr/lib/php/20180731
ARG PHP_VER=7.3
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing PHP7
##################################################################
RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
-RUN sh -c 'echo "deb https://packages.sury.org/php/ buster main" > /etc/apt/sources.list.d/php.list'
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
- php7.3-gmp \
- php7.3-snmp \
- php7.3-ldap \
- php7.3-dev \
+ libgmp-dev \
php7.3 \
- php7.3-mail \
+ php7.3-common \
+ php7.3-dev \
+ php7.3-ldap \
+ php7.3-mail \
php7.3-mailparse \
php7.3-soap \
php7.3-mysql \
- php7.3-memcached \
- php7.3-memcache \
- php7.3-igbinary \
php7.3-curl \
php7.3-gd \
php7.3-intl \
@@ -135,9 +137,13 @@ RUN apt-get update && \
php7.3-smbclient \
php7.3-yaml \
php7.3-geoip \
+ smbclient libsmbclient \
sendmail && \
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
update-alternatives --set php /usr/bin/php7.3 && \
+ pear update-channels && \
+ pear upgrade && \
+ pecl channel-update pecl.php.net && \
php -m && \
php -v
@@ -184,6 +190,40 @@ RUN phpenmod \
php -m && \
php -v
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN pecl install cassandra && \
+COPY usr/lib/php/20180731/cassandra.so ${PHP_MODULE_PATH}/cassandra.so
+RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing timezonedb addon
##################################################################
@@ -261,8 +301,4 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
-
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/php/php7.3/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/php/php7.3/addons/multiarch-support_2.28_amd64.deb
new file mode 100644
index 000000000..7cf23ffa8
Binary files /dev/null and b/linux/ecosystem/php/php7.3/addons/multiarch-support_2.28_amd64.deb differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so b/linux/ecosystem/php/php7.3/usr/lib/php/20180731/cassandra.so
old mode 100755
new mode 100644
similarity index 100%
rename from linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so
rename to linux/ecosystem/php/php7.3/usr/lib/php/20180731/cassandra.so
diff --git a/linux/ecosystem/php/php7.4/Dockerfile b/linux/ecosystem/php/php7.4/Dockerfile
index d5b592aa4..febe31356 100644
--- a/linux/ecosystem/php/php7.4/Dockerfile
+++ b/linux/ecosystem/php/php7.4/Dockerfile
@@ -31,15 +31,21 @@ RUN mkdir -p ${BUILDS_DIR} ${SRC_DIR} ${EXPORT_DIR} ${MAKE_DIR} ${P4API_DIR} ${P
# Installing PHP7
##################################################################
#Install base packages
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
smbclient libsmbclient libsmbclient-dev \
php7.4 \
+ php7.4-common \
php7.4-dev \
php7.4-fpm \
php7.4-cli \
- php7.4-cgi
+ php7.4-cgi && \
+ update-alternatives --set php /usr/bin/php7.4 && \
+ php -m && \
+ php -v
##################################################################
# preparing p4src
@@ -88,58 +94,61 @@ ARG PHP_VER=7.4
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing PHP7
##################################################################
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
+RUN sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
+ libgmp-dev \
php7.4 \
+ php7.4-common \
php7.4-dev \
- php7.4-fpm \
- php7.4-cli \
- php7.4-cgi \
- php-pear \
- php7.4-gmp \
- php7.4-snmp \
php7.4-ldap \
- php7.4-mail \
+ php7.4-mail \
+ php7.4-mailparse \
php7.4-soap \
php7.4-mysql \
- php7.4-memcached \
- php7.4-memcache \
- php7.4-igbinary \
- php7.4-interbase \
php7.4-curl \
php7.4-gd \
php7.4-intl \
php7.4-zip \
php7.4-bcmath \
+ php7.4-fpm \
php7.4-imap \
php7.4-pspell \
+ php7.4-recode \
php7.4-sqlite3 \
php7.4-pgsql \
php7.4-tidy \
php7.4-xmlrpc \
php7.4-xml \
php7.4-mbstring \
+ php7.4-gettext \
php7.4-apcu \
+ php7.4-cli \
php7.4-common \
+ php7.4-cgi \
php7.4-json \
php7.4-readline \
php7.4-enchant \
php7.4-ssh2 \
php7.4-oauth \
php7.4-gmagick \
- php7.4-gnupg \
php7.4-redis \
- smbclient libsmbclient \
+ php7.4-smbclient \
php7.4-yaml \
php7.4-geoip \
+ smbclient libsmbclient \
sendmail && \
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
update-alternatives --set php /usr/bin/php7.4 && \
+ pear update-channels && \
+ pear upgrade && \
pecl channel-update pecl.php.net && \
php -m && \
php -v
@@ -187,6 +196,40 @@ RUN phpenmod \
php -m && \
php -v
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN pecl install cassandra && \
+COPY usr/lib/php/20190902/cassandra.so ${PHP_MODULE_PATH}/cassandra.so
+RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing timezonedb addon
##################################################################
@@ -275,8 +318,5 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/php/php7.4/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/php/php7.4/addons/multiarch-support_2.28_amd64.deb
new file mode 100644
index 000000000..7cf23ffa8
Binary files /dev/null and b/linux/ecosystem/php/php7.4/addons/multiarch-support_2.28_amd64.deb differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so b/linux/ecosystem/php/php7.4/usr/lib/php/20190902/cassandra.so
old mode 100755
new mode 100644
similarity index 100%
rename from linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so
rename to linux/ecosystem/php/php7.4/usr/lib/php/20190902/cassandra.so
diff --git a/linux/ecosystem/php/php8.0/Dockerfile b/linux/ecosystem/php/php8.0/Dockerfile
index a78125f00..24b245cbc 100644
--- a/linux/ecosystem/php/php8.0/Dockerfile
+++ b/linux/ecosystem/php/php8.0/Dockerfile
@@ -8,6 +8,7 @@ ARG PHP_VER=8.0
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing PHP8
@@ -18,52 +19,51 @@ RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
+ libgmp-dev \
php8.0 \
+ php8.0-common \
php8.0-dev \
- php8.0-fpm \
- php8.0-cli \
- php8.0-cgi \
- php-pear \
- php8.0-gmp \
- php8.0-snmp \
php8.0-ldap \
- php8.0-mail \
+ php8.0-mail \
+ php8.0-mailparse \
php8.0-soap \
php8.0-mysql \
- php8.0-memcached \
- php8.0-memcache \
- php8.0-igbinary \
- php8.0-interbase \
php8.0-curl \
php8.0-gd \
php8.0-intl \
php8.0-zip \
php8.0-bcmath \
+ php8.0-fpm \
php8.0-imap \
php8.0-pspell \
+ php8.0-recode \
php8.0-sqlite3 \
php8.0-pgsql \
php8.0-tidy \
php8.0-xmlrpc \
php8.0-xml \
php8.0-mbstring \
+ php8.0-gettext \
php8.0-apcu \
+ php8.0-cli \
php8.0-common \
-# php8.0-json \
+ php8.0-cgi \
+ php8.0-json \
php8.0-readline \
php8.0-enchant \
php8.0-ssh2 \
php8.0-oauth \
php8.0-gmagick \
- php8.0-gnupg \
php8.0-redis \
php8.0-smbclient \
- smbclient libsmbclient \
php8.0-yaml \
-# php8.0-geoip \
+ php8.0-geoip \
+ smbclient libsmbclient \
sendmail && \
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
update-alternatives --set php /usr/bin/php8.0 && \
+ pear update-channels && \
+ pear upgrade && \
pecl channel-update pecl.php.net && \
php -m && \
php -v
@@ -111,6 +111,40 @@ RUN phpenmod \
php -m && \
php -v
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN pecl install cassandra && \
+COPY usr/lib/php/20200930/cassandra.so ${PHP_MODULE_PATH}/cassandra.so
+RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing timezonedb addon
##################################################################
@@ -180,8 +214,4 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
-
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/php/php8.0/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/php/php8.0/addons/multiarch-support_2.28_amd64.deb
new file mode 100644
index 000000000..7cf23ffa8
Binary files /dev/null and b/linux/ecosystem/php/php8.0/addons/multiarch-support_2.28_amd64.deb differ
diff --git a/linux/ecosystem/php/php8.0/usr/lib/php/20200930/cassandra.so b/linux/ecosystem/php/php8.0/usr/lib/php/20200930/cassandra.so
new file mode 100644
index 000000000..c7de65288
Binary files /dev/null and b/linux/ecosystem/php/php8.0/usr/lib/php/20200930/cassandra.so differ
diff --git a/linux/ecosystem/php/php8.1/Dockerfile b/linux/ecosystem/php/php8.1/Dockerfile
index 7fa8ed101..e59f2cb2c 100644
--- a/linux/ecosystem/php/php8.1/Dockerfile
+++ b/linux/ecosystem/php/php8.1/Dockerfile
@@ -8,6 +8,7 @@ ARG PHP_VER=8.1
ARG PHP_DIR=/etc/php/${PHP_VER}
ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
##################################################################
# Installing PHP8
@@ -18,52 +19,51 @@ RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
RUN apt-get update && \
apt-get install -y --allow-unauthenticated \
libmemcached-dev \
+ libgmp-dev \
php8.1 \
+ php8.1-common \
php8.1-dev \
- php8.1-fpm \
- php8.1-cli \
- php8.1-cgi \
- php-pear \
- php8.1-gmp \
- php8.1-snmp \
php8.1-ldap \
- php8.1-mail \
+ php8.1-mail \
+ php8.1-mailparse \
php8.1-soap \
php8.1-mysql \
- php8.1-memcached \
- php8.1-memcache \
- php8.1-igbinary \
- php8.1-interbase \
php8.1-curl \
php8.1-gd \
php8.1-intl \
php8.1-zip \
php8.1-bcmath \
+ php8.1-fpm \
php8.1-imap \
php8.1-pspell \
+ php8.1-recode \
php8.1-sqlite3 \
php8.1-pgsql \
php8.1-tidy \
php8.1-xmlrpc \
php8.1-xml \
php8.1-mbstring \
+ php8.1-gettext \
php8.1-apcu \
+ php8.1-cli \
php8.1-common \
-# php8.1-json \
+ php8.1-cgi \
+ php8.1-json \
php8.1-readline \
php8.1-enchant \
php8.1-ssh2 \
php8.1-oauth \
php8.1-gmagick \
- php8.1-gnupg \
php8.1-redis \
php8.1-smbclient \
- smbclient libsmbclient \
php8.1-yaml \
-# php8.1-geoip \
+ php8.1-geoip \
+ smbclient libsmbclient \
sendmail && \
ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
update-alternatives --set php /usr/bin/php8.1 && \
+ pear update-channels && \
+ pear upgrade && \
pecl channel-update pecl.php.net && \
php -m && \
php -v
@@ -111,6 +111,40 @@ RUN phpenmod \
php -m && \
php -v
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN pecl install cassandra && \
+COPY usr/lib/php/20210902/cassandra.so ${PHP_MODULE_PATH}/cassandra.so
+RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
##################################################################
# Installing timezonedb addon
##################################################################
@@ -177,8 +211,5 @@ RUN apt clean -y && \
apt autoclean -y && \
rm -rfv /var/lib/apt/lists/* && \
rm -rfv /var/cache/apt/archives/*.deb && \
- rm -rfv /tmp/deb/* && \
- rm -rfv /tmp/ioncube/* && \
- rm -rfv /tmp/composer-setup.php && \
- rm -rfv /tmp/ioncube.tar.gz
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/php/php8.1/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/php/php8.1/addons/multiarch-support_2.28_amd64.deb
new file mode 100644
index 000000000..7cf23ffa8
Binary files /dev/null and b/linux/ecosystem/php/php8.1/addons/multiarch-support_2.28_amd64.deb differ
diff --git a/linux/ecosystem/php/php8.1/usr/lib/php/20210902/cassandra.so b/linux/ecosystem/php/php8.1/usr/lib/php/20210902/cassandra.so
new file mode 100644
index 000000000..f2d94833c
Binary files /dev/null and b/linux/ecosystem/php/php8.1/usr/lib/php/20210902/cassandra.so differ
diff --git a/linux/ecosystem/php/php8.2/Dockerfile b/linux/ecosystem/php/php8.2/Dockerfile
new file mode 100644
index 000000000..e13462e11
--- /dev/null
+++ b/linux/ecosystem/php/php8.2/Dockerfile
@@ -0,0 +1,211 @@
+FROM epicmorg/debian:bullseye
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_VER=8.2
+ARG PHP_MODULE_VER=20220829
+ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
+
+##################################################################
+# Installing PHP8
+##################################################################
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
+ sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
+
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ libgmp-dev \
+ php8.2 \
+ php8.2-common \
+ php8.2-dev \
+ php8.2-ldap \
+ php8.2-mail \
+ php8.2-mailparse \
+ php8.2-soap \
+ php8.2-mysql \
+ php8.2-curl \
+ php8.2-gd \
+ php8.2-intl \
+ php8.2-zip \
+ php8.2-bcmath \
+ php8.2-fpm \
+ php8.2-imap \
+ php8.2-pspell \
+ php8.2-sqlite3 \
+ php8.2-pgsql \
+ php8.2-tidy \
+ php8.2-xmlrpc \
+ php8.2-xml \
+ php8.2-mbstring \
+ php8.2-gettext \
+ php8.2-apcu \
+ php8.2-cli \
+ php8.2-common \
+ php8.2-cgi \
+ php8.2-readline \
+ php8.2-enchant \
+ php8.2-ssh2 \
+ php8.2-oauth \
+ php8.2-gmagick \
+ php8.2-redis \
+ php8.2-smbclient \
+ php8.2-yaml \
+ smbclient libsmbclient \
+ sendmail && \
+ ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
+ update-alternatives --set php /usr/bin/php8.2 && \
+ pear update-channels && \
+ pear upgrade && \
+ pecl channel-update pecl.php.net && \
+ php -m && \
+ php -v
+
+##################################################################
+# Enabling extensions
+##################################################################
+RUN phpenmod \
+ snmp \
+ gmp \
+ calendar \
+ ldap \
+ curl \
+ exif \
+ ftp \
+ fileinfo \
+ gd \
+ geoip \
+ gnupg \
+ iconv \
+ imap \
+ json \
+ mbstring \
+ memcached \
+ mysqli \
+ mysqlnd \
+ oauth \
+ pdo_mysql \
+ pdo_sqlite \
+ phar \
+ posix \
+ readline \
+ redis \
+ simplexml \
+ sockets \
+ sqlite3 \
+ ssh2 \
+ tokenizer \
+ xml \
+ xmlreader \
+ xmlrpc \
+ xmlwriter \
+ xsl \
+ yaml && \
+ php -m && \
+ php -v
+
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN pecl install cassandra && \
+COPY usr/lib/php/20220829/cassandra.so ${PHP_MODULE_PATH}/cassandra.so
+RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+ ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing timezonedb addon
+##################################################################
+RUN pecl install timezonedb && \
+# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing imagic addon
+##################################################################
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmagickwand-dev \
+ imagemagick && \
+ pecl install imagick && \
+# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing IOnCube addon
+#################################################################
+#ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz
+#RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
+# cp /tmp/ioncube/ioncube_loader_lin_8.2.so ${PHP_MODULE_PATH} && \
+### echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/apache2/php.ini && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/cgi/php.ini && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/cli/php.ini && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.2.so" >> ${PHP_DIR}/fpm/php.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing Bolt addon
+##################################################################
+#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.4.zip /tmp/phpBolt.zip
+COPY usr/lib/php/20220829/phpBolt-extension-1.0.4-php82.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php82.so
+#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php82.so" >> ${PHP_DIR}/apache2/php.ini && \
+RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php82.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php82.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php82.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing Composer addon
+##################################################################
+RUN cd /tmp && \
+ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
+ php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
+ rm /tmp/composer-setup.php
+
+##################################################################
+# cleaninig up
+##################################################################
+RUN apt clean -y && \
+ apt autoclean -y && \
+ rm -rfv /var/lib/apt/lists/* && \
+ rm -rfv /var/cache/apt/archives/*.deb && \
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/php/php8.2/Makefile b/linux/ecosystem/php/php8.2/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/php/php8.2/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/php/php8.2/README.md b/linux/ecosystem/php/php8.2/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/linux/ecosystem/php/php8.2/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/php/php8.2/addons/multiarch-support_2.28_amd64.deb
new file mode 100644
index 000000000..7cf23ffa8
Binary files /dev/null and b/linux/ecosystem/php/php8.2/addons/multiarch-support_2.28_amd64.deb differ
diff --git a/linux/ecosystem/php/php8.2/docker-compose.yml b/linux/ecosystem/php/php8.2/docker-compose.yml
new file mode 100644
index 000000000..c2f8be4ab
--- /dev/null
+++ b/linux/ecosystem/php/php8.2/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/php:php8.2"
+ build:
+ context: .
diff --git a/linux/ecosystem/php/php8.2/usr/lib/php/20220829/cassandra.so b/linux/ecosystem/php/php8.2/usr/lib/php/20220829/cassandra.so
new file mode 100644
index 000000000..2e94ad443
Binary files /dev/null and b/linux/ecosystem/php/php8.2/usr/lib/php/20220829/cassandra.so differ
diff --git a/linux/ecosystem/php/php8.2/usr/lib/php/20220829/phpBolt-extension-1.0.4-php82.so b/linux/ecosystem/php/php8.2/usr/lib/php/20220829/phpBolt-extension-1.0.4-php82.so
new file mode 100644
index 000000000..ed75ab215
Binary files /dev/null and b/linux/ecosystem/php/php8.2/usr/lib/php/20220829/phpBolt-extension-1.0.4-php82.so differ
diff --git a/linux/ecosystem/php/php8.3/Dockerfile b/linux/ecosystem/php/php8.3/Dockerfile
new file mode 100644
index 000000000..40d55e822
--- /dev/null
+++ b/linux/ecosystem/php/php8.3/Dockerfile
@@ -0,0 +1,201 @@
+FROM epicmorg/debian:bullseye
+LABEL maintainer="EpicMorg DevTeam, developer@epicm.org"
+ARG DEBIAN_FRONTEND=noninteractive
+
+ARG PHP_VER=8.3
+ARG PHP_MODULE_VER=20220830
+ARG PHP_MODULE_PATH=/usr/lib/php/${PHP_MODULE_VER}
+ARG PHP_DIR=/etc/php/${PHP_VER}
+ARG P4_PHP_INI=${PHP_DIR}/mods-available/perfroce.ini
+ARG SMB_PHP_INI=${PHP_DIR}/mods-available/smbclient.ini
+ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
+
+##################################################################
+# Installing PHP8
+##################################################################
+RUN wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg && \
+ sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
+
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmemcached-dev \
+ libgmp-dev \
+ php8.3 \
+ php8.3-common \
+ php8.3-dev \
+ php8.3-ldap \
+ php8.3-soap \
+ php8.3-mysql \
+ php8.3-curl \
+ php8.3-gd \
+ php8.3-intl \
+ php8.3-zip \
+ php8.3-bcmath \
+ php8.3-fpm \
+ php8.3-imap \
+ php8.3-pspell \
+ php8.3-sqlite3 \
+ php8.3-pgsql \
+ php8.3-tidy \
+ php8.3-xml \
+ php8.3-mbstring \
+ php8.3-gettext \
+ php8.3-cli \
+ php8.3-common \
+ php8.3-cgi \
+ php8.3-readline \
+ php8.3-enchant \
+ smbclient libsmbclient \
+ sendmail && \
+ ln -sf /etc/ssl/dhparam.pem /etc/php/dhparam.pem && \
+ update-alternatives --set php /usr/bin/php8.3 && \
+ pear update-channels && \
+ pear upgrade && \
+ pecl channel-update pecl.php.net && \
+ php -m && \
+ php -v
+
+##################################################################
+# Enabling extensions
+##################################################################
+RUN phpenmod \
+ snmp \
+ gmp \
+ calendar \
+ ldap \
+ curl \
+ exif \
+ ftp \
+ fileinfo \
+ gd \
+ geoip \
+ gnupg \
+ iconv \
+ imap \
+ json \
+ mbstring \
+ memcached \
+ mysqli \
+ mysqlnd \
+ oauth \
+ pdo_mysql \
+ pdo_sqlite \
+ phar \
+ posix \
+ readline \
+ redis \
+ simplexml \
+ sockets \
+ sqlite3 \
+ ssh2 \
+ tokenizer \
+ xml \
+ xmlreader \
+ xmlrpc \
+ xmlwriter \
+ xsl \
+ yaml && \
+ php -m && \
+ php -v
+
+##############################################################################
+# Cassandra CPP Support Install
+##############################################################################
+COPY addons/multiarch-support_2.28_amd64.deb /tmp/cassandra-php-driver/multiarch-support_2.28_amd64.deb
+RUN wget -c --random-wait --user-agent="Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36" --directory-prefix=/tmp/cassandra-php-driver \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dev_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/dependencies/libuv/v1.35.0/libuv1-dbg_1.35.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb \
+ https://downloads.datastax.com/cpp-driver/ubuntu/18.04/cassandra/v2.16.0/cassandra-cpp-driver_2.16.0-1_amd64.deb
+
+RUN cd /tmp/cassandra-php-driver && \
+ dpkg -i ./multiarch-support_2.28_amd64.deb && \
+ dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dev_1.35.0-1_amd64.deb && \
+ dpkg -i ./libuv1-dbg_1.35.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dev_2.16.0-1_amd64.deb && \
+ dpkg -i ./cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
+
+##############################################################################
+# Cassandra PHP Drivers Install
+##############################################################################
+#RUN pecl install cassandra && \
+#COPY usr/lib/php/20220829/cassandra.so ${PHP_MODULE_PATH}/cassandra.so
+#RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
+# ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
+## ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing timezonedb addon
+##################################################################
+RUN pecl install timezonedb && \
+# echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/timezonedb.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing imagic addon
+##################################################################
+RUN apt-get update && \
+ apt-get install -y --allow-unauthenticated \
+ libmagickwand-dev \
+ imagemagick && \
+ pecl install imagick && \
+# echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/apache2/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cgi/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/cli/php.ini && \
+ echo "extension = ${PHP_MODULE_PATH}/imagick.so" >> ${PHP_DIR}/fpm/php.ini && \
+ php -m && \
+ php -v
+
+##################################################################
+# Installing IOnCube addon
+#################################################################
+#ADD https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz /tmp/ioncube.tar.gz
+#RUN tar -C /tmp -xvf /tmp/ioncube.tar.gz && \
+# cp /tmp/ioncube/ioncube_loader_lin_8.3.so ${PHP_MODULE_PATH} && \
+### echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.3.so" >> ${PHP_DIR}/apache2/php.ini && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.3.so" >> ${PHP_DIR}/cgi/php.ini && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.3.so" >> ${PHP_DIR}/cli/php.ini && \
+# echo "zend_extension = ${PHP_MODULE_PATH}/ioncube_loader_lin_8.3.so" >> ${PHP_DIR}/fpm/php.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing Bolt addon
+##################################################################
+#ADD https://phpbolt.com/wp-content/uploads/2023/03/phpBolt-extension-1.0.4.zip /tmp/phpBolt.zip
+#COPY usr/lib/php/20210902/phpBolt-extension-1.0.4-php83.so ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php83.so
+##RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php83.so" >> ${PHP_DIR}/apache2/php.ini && \
+#RUN echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php83.so" >> ${PHP_DIR}/cgi/php.ini && \
+# echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php83.so" >> ${PHP_DIR}/cli/php.ini && \
+# echo "extension = ${PHP_MODULE_PATH}/phpBolt-extension-1.0.4-php83.so" >> ${PHP_DIR}/fpm/php.ini && \
+# php -m && \
+# php -v
+
+##################################################################
+# Installing Composer addon
+##################################################################
+RUN cd /tmp && \
+ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" && \
+ php composer-setup.php --install-dir=/usr/local/bin --filename=composer && \
+ rm /tmp/composer-setup.php
+
+##################################################################
+# cleaninig up
+##################################################################
+RUN apt clean -y && \
+ apt autoclean -y && \
+ rm -rfv /var/lib/apt/lists/* && \
+ rm -rfv /var/cache/apt/archives/*.deb && \
+ rm -rfv /tmp/*
diff --git a/linux/ecosystem/php/php8.3/Makefile b/linux/ecosystem/php/php8.3/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/php/php8.3/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/php/php8.3/README.md b/linux/ecosystem/php/php8.3/README.md
new file mode 100644
index 000000000..e69de29bb
diff --git a/linux/ecosystem/php/php8.3/addons/multiarch-support_2.28_amd64.deb b/linux/ecosystem/php/php8.3/addons/multiarch-support_2.28_amd64.deb
new file mode 100644
index 000000000..7cf23ffa8
Binary files /dev/null and b/linux/ecosystem/php/php8.3/addons/multiarch-support_2.28_amd64.deb differ
diff --git a/linux/ecosystem/php/php8.3/docker-compose.yml b/linux/ecosystem/php/php8.3/docker-compose.yml
new file mode 100644
index 000000000..223a3f988
--- /dev/null
+++ b/linux/ecosystem/php/php8.3/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/php:php8.3"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/latest/ad/Dockerfile b/linux/ecosystem/testrail/5.4.1.3669/ad/Dockerfile
similarity index 94%
rename from linux/ecosystem/testrail/latest/ad/Dockerfile
rename to linux/ecosystem/testrail/5.4.1.3669/ad/Dockerfile
index 589c7469d..1291f905a 100644
--- a/linux/ecosystem/testrail/latest/ad/Dockerfile
+++ b/linux/ecosystem/testrail/5.4.1.3669/ad/Dockerfile
@@ -1,4 +1,4 @@
-FROM epicmorg/testrail:latest
+FROM epicmorg/testrail:5.4.1.3669
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ad
diff --git a/linux/ecosystem/testrail/5.4.1.3669/ad/Makefile b/linux/ecosystem/testrail/5.4.1.3669/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.4.1.3669/ad/README.md b/linux/ecosystem/testrail/5.4.1.3669/ad/README.md
new file mode 100644
index 000000000..717a45128
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.4.1.3669
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/latest/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.4.1.3669/ad/docker-compose.yml
similarity index 54%
rename from linux/ecosystem/testrail/latest/ldap/docker-compose.yml
rename to linux/ecosystem/testrail/5.4.1.3669/ad/docker-compose.yml
index f3039e286..304fcba93 100644
--- a/linux/ecosystem/testrail/latest/ldap/docker-compose.yml
+++ b/linux/ecosystem/testrail/5.4.1.3669/ad/docker-compose.yml
@@ -1,6 +1,6 @@
version: '3.9'
services:
app:
- image: "epicmorg/testrail:auth-ldap"
+ image: "epicmorg/testrail:auth-ad-5.4.1.3669"
build:
context: .
diff --git a/linux/ecosystem/testrail/5.4.1.3669/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.4.1.3669/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..b38b7712c
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.4.1.3669 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/latest/ldap/Dockerfile b/linux/ecosystem/testrail/5.4.1.3669/ldap/Dockerfile
similarity index 94%
rename from linux/ecosystem/testrail/latest/ldap/Dockerfile
rename to linux/ecosystem/testrail/5.4.1.3669/ldap/Dockerfile
index 62fb14b9f..d9c161808 100644
--- a/linux/ecosystem/testrail/latest/ldap/Dockerfile
+++ b/linux/ecosystem/testrail/5.4.1.3669/ldap/Dockerfile
@@ -1,4 +1,4 @@
-FROM epicmorg/testrail:latest
+FROM epicmorg/testrail:5.4.1.3669
ENV TESTRAIL_PLUGIN_VERSION=1.4
ENV TESTRAIL_PLUGIN_NAME=ldap
diff --git a/linux/ecosystem/testrail/5.4.1.3669/ldap/Makefile b/linux/ecosystem/testrail/5.4.1.3669/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.4.1.3669/ldap/README.md b/linux/ecosystem/testrail/5.4.1.3669/ldap/README.md
new file mode 100644
index 000000000..d0b664964
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.4.1.3669
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.4.1.3669/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.4.1.3669/ldap/docker-compose.yml
new file mode 100644
index 000000000..da8542a52
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.4.1.3669"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.4.1.3669/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.4.1.3669/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..098d9fc0a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.4.1.3669 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.4.1.3669/main/.env b/linux/ecosystem/testrail/5.4.1.3669/main/.env
new file mode 100644
index 000000000..6c3773abf
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.4.1.3669
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.4.1.3669/main/Dockerfile b/linux/ecosystem/testrail/5.4.1.3669/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.4.1.3669/main/Makefile b/linux/ecosystem/testrail/5.4.1.3669/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.4.1.3669/main/README.md b/linux/ecosystem/testrail/5.4.1.3669/main/README.md
new file mode 100644
index 000000000..e03db99b0
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.4.1.3669
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.4.1.3669/main/apache_testrail.conf b/linux/ecosystem/testrail/5.4.1.3669/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.4.1.3669/main/docker-compose.yml b/linux/ecosystem/testrail/5.4.1.3669/main/docker-compose.yml
new file mode 100644
index 000000000..50904ac88
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.4.1.3669"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.4.1.3669/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.4.1.3669/main/docker-entrypoint.sh
new file mode 100755
index 000000000..7ed7a6c71
--- /dev/null
+++ b/linux/ecosystem/testrail/5.4.1.3669/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.4.1.3669"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ad/Dockerfile b/linux/ecosystem/testrail/5.5.0.3727/ad/Dockerfile
new file mode 100644
index 000000000..fca84165f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.5.0.3727
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ad/Makefile b/linux/ecosystem/testrail/5.5.0.3727/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ad/README.md b/linux/ecosystem/testrail/5.5.0.3727/ad/README.md
new file mode 100644
index 000000000..554f7312a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.5.0.3727
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ad/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3727/ad/docker-compose.yml
new file mode 100644
index 000000000..f09530e64
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.5.0.3727"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3727/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..8e62fdb8e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3727 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ldap/Dockerfile b/linux/ecosystem/testrail/5.5.0.3727/ldap/Dockerfile
new file mode 100644
index 000000000..8ce0b611c
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.5.0.3727
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ldap/Makefile b/linux/ecosystem/testrail/5.5.0.3727/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ldap/README.md b/linux/ecosystem/testrail/5.5.0.3727/ldap/README.md
new file mode 100644
index 000000000..40cd83093
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.5.0.3727
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3727/ldap/docker-compose.yml
new file mode 100644
index 000000000..9eea6c435
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.5.0.3727"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.5.0.3727/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3727/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..e416cd623
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3727 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3727/main/.env b/linux/ecosystem/testrail/5.5.0.3727/main/.env
new file mode 100644
index 000000000..b8378d085
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.5.0.3727
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.5.0.3727/main/Dockerfile b/linux/ecosystem/testrail/5.5.0.3727/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.5.0.3727/main/Makefile b/linux/ecosystem/testrail/5.5.0.3727/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3727/main/README.md b/linux/ecosystem/testrail/5.5.0.3727/main/README.md
new file mode 100644
index 000000000..f1681b365
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.5.0.3727
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3727/main/apache_testrail.conf b/linux/ecosystem/testrail/5.5.0.3727/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.5.0.3727/main/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3727/main/docker-compose.yml
new file mode 100644
index 000000000..cf40b3ec8
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.5.0.3727"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.5.0.3727/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3727/main/docker-entrypoint.sh
new file mode 100755
index 000000000..f197e15f7
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3727/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3727"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ad/Dockerfile b/linux/ecosystem/testrail/5.5.0.3731/ad/Dockerfile
new file mode 100644
index 000000000..64419440f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.5.0.3731
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ad/Makefile b/linux/ecosystem/testrail/5.5.0.3731/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ad/README.md b/linux/ecosystem/testrail/5.5.0.3731/ad/README.md
new file mode 100644
index 000000000..1c7aa98a3
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.5.0.3731
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ad/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3731/ad/docker-compose.yml
new file mode 100644
index 000000000..3178bf0b9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.5.0.3731"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3731/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..41e756a7e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3731 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ldap/Dockerfile b/linux/ecosystem/testrail/5.5.0.3731/ldap/Dockerfile
new file mode 100644
index 000000000..e14212918
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.5.0.3731
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ldap/Makefile b/linux/ecosystem/testrail/5.5.0.3731/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ldap/README.md b/linux/ecosystem/testrail/5.5.0.3731/ldap/README.md
new file mode 100644
index 000000000..48f61316c
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.5.0.3731
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3731/ldap/docker-compose.yml
new file mode 100644
index 000000000..1d393a5f5
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.5.0.3731"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.5.0.3731/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3731/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..faf37511e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3731 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3731/main/.env b/linux/ecosystem/testrail/5.5.0.3731/main/.env
new file mode 100644
index 000000000..1ebf1641b
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.5.0.3731
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.5.0.3731/main/Dockerfile b/linux/ecosystem/testrail/5.5.0.3731/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.5.0.3731/main/Makefile b/linux/ecosystem/testrail/5.5.0.3731/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3731/main/README.md b/linux/ecosystem/testrail/5.5.0.3731/main/README.md
new file mode 100644
index 000000000..08fb8840a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.5.0.3731
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3731/main/apache_testrail.conf b/linux/ecosystem/testrail/5.5.0.3731/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.5.0.3731/main/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3731/main/docker-compose.yml
new file mode 100644
index 000000000..2c266ef24
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.5.0.3731"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.5.0.3731/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3731/main/docker-entrypoint.sh
new file mode 100755
index 000000000..4ff710020
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3731/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3731"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ad/Dockerfile b/linux/ecosystem/testrail/5.5.0.3735/ad/Dockerfile
new file mode 100644
index 000000000..b3abcfb4d
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.5.0.3735
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ad/Makefile b/linux/ecosystem/testrail/5.5.0.3735/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ad/README.md b/linux/ecosystem/testrail/5.5.0.3735/ad/README.md
new file mode 100644
index 000000000..0ec2dbaf5
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.5.0.3735
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ad/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3735/ad/docker-compose.yml
new file mode 100644
index 000000000..44d7a635e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.5.0.3735"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3735/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..d0587d22d
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3735 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ldap/Dockerfile b/linux/ecosystem/testrail/5.5.0.3735/ldap/Dockerfile
new file mode 100644
index 000000000..567a86fc1
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.5.0.3735
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ldap/Makefile b/linux/ecosystem/testrail/5.5.0.3735/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ldap/README.md b/linux/ecosystem/testrail/5.5.0.3735/ldap/README.md
new file mode 100644
index 000000000..369594cd5
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.5.0.3735
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3735/ldap/docker-compose.yml
new file mode 100644
index 000000000..562d91f58
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.5.0.3735"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.5.0.3735/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3735/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..87f21c00d
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3735 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.0.3735/main/.env b/linux/ecosystem/testrail/5.5.0.3735/main/.env
new file mode 100644
index 000000000..3366092ed
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.5.0.3735
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.5.0.3735/main/Dockerfile b/linux/ecosystem/testrail/5.5.0.3735/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.5.0.3735/main/Makefile b/linux/ecosystem/testrail/5.5.0.3735/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.0.3735/main/README.md b/linux/ecosystem/testrail/5.5.0.3735/main/README.md
new file mode 100644
index 000000000..aa89ae2a9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.5.0.3735
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.0.3735/main/apache_testrail.conf b/linux/ecosystem/testrail/5.5.0.3735/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.5.0.3735/main/docker-compose.yml b/linux/ecosystem/testrail/5.5.0.3735/main/docker-compose.yml
new file mode 100644
index 000000000..072f5a0a5
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.5.0.3735"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.5.0.3735/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.0.3735/main/docker-entrypoint.sh
new file mode 100755
index 000000000..dc3f6e176
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.0.3735/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.0.3735"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ad/Dockerfile b/linux/ecosystem/testrail/5.5.1.3746/ad/Dockerfile
new file mode 100644
index 000000000..e25fd5c28
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.5.1.3746
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ad/Makefile b/linux/ecosystem/testrail/5.5.1.3746/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ad/README.md b/linux/ecosystem/testrail/5.5.1.3746/ad/README.md
new file mode 100644
index 000000000..90399fc79
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.5.1.3746
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ad/docker-compose.yml b/linux/ecosystem/testrail/5.5.1.3746/ad/docker-compose.yml
new file mode 100644
index 000000000..3b2f8799a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.5.1.3746"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.1.3746/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..91b503323
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.1.3746 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ldap/Dockerfile b/linux/ecosystem/testrail/5.5.1.3746/ldap/Dockerfile
new file mode 100644
index 000000000..28c3c061a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.5.1.3746
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ldap/Makefile b/linux/ecosystem/testrail/5.5.1.3746/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ldap/README.md b/linux/ecosystem/testrail/5.5.1.3746/ldap/README.md
new file mode 100644
index 000000000..117b23377
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.5.1.3746
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.5.1.3746/ldap/docker-compose.yml
new file mode 100644
index 000000000..2af1f1841
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.5.1.3746"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.5.1.3746/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.1.3746/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..321d1eec7
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.1.3746 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.5.1.3746/main/.env b/linux/ecosystem/testrail/5.5.1.3746/main/.env
new file mode 100644
index 000000000..4192f8dad
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.5.1.3746
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.5.1.3746/main/Dockerfile b/linux/ecosystem/testrail/5.5.1.3746/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.5.1.3746/main/Makefile b/linux/ecosystem/testrail/5.5.1.3746/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.5.1.3746/main/README.md b/linux/ecosystem/testrail/5.5.1.3746/main/README.md
new file mode 100644
index 000000000..93df0f19b
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.5.1.3746
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.5.1.3746/main/apache_testrail.conf b/linux/ecosystem/testrail/5.5.1.3746/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.5.1.3746/main/docker-compose.yml b/linux/ecosystem/testrail/5.5.1.3746/main/docker-compose.yml
new file mode 100644
index 000000000..d4b08f4ef
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.5.1.3746"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.5.1.3746/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.5.1.3746/main/docker-entrypoint.sh
new file mode 100755
index 000000000..bc40dd813
--- /dev/null
+++ b/linux/ecosystem/testrail/5.5.1.3746/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.5.1.3746"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ad/Dockerfile b/linux/ecosystem/testrail/5.6.0.3853/ad/Dockerfile
new file mode 100644
index 000000000..5821ccd00
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3853
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ad/Makefile b/linux/ecosystem/testrail/5.6.0.3853/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ad/README.md b/linux/ecosystem/testrail/5.6.0.3853/ad/README.md
new file mode 100644
index 000000000..059ee3fa7
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.6.0.3853
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ad/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3853/ad/docker-compose.yml
new file mode 100644
index 000000000..04ba64e1f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.6.0.3853"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3853/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..044cc5abd
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3853 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ldap/Dockerfile b/linux/ecosystem/testrail/5.6.0.3853/ldap/Dockerfile
new file mode 100644
index 000000000..67f713bb5
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3853
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ldap/Makefile b/linux/ecosystem/testrail/5.6.0.3853/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ldap/README.md b/linux/ecosystem/testrail/5.6.0.3853/ldap/README.md
new file mode 100644
index 000000000..7b85ee6dd
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.6.0.3853
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3853/ldap/docker-compose.yml
new file mode 100644
index 000000000..a8cfaf98c
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.6.0.3853"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3853/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3853/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..349d93c6f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3853 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3853/main/.env b/linux/ecosystem/testrail/5.6.0.3853/main/.env
new file mode 100644
index 000000000..3e27e5173
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.6.0.3853
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.6.0.3853/main/Dockerfile b/linux/ecosystem/testrail/5.6.0.3853/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.6.0.3853/main/Makefile b/linux/ecosystem/testrail/5.6.0.3853/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3853/main/README.md b/linux/ecosystem/testrail/5.6.0.3853/main/README.md
new file mode 100644
index 000000000..0f76516fd
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.6.0.3853
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3853/main/apache_testrail.conf b/linux/ecosystem/testrail/5.6.0.3853/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3853/main/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3853/main/docker-compose.yml
new file mode 100644
index 000000000..93482829b
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.6.0.3853"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3853/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3853/main/docker-entrypoint.sh
new file mode 100755
index 000000000..3de96faa2
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3853/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3853"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ad/Dockerfile b/linux/ecosystem/testrail/5.6.0.3856/ad/Dockerfile
new file mode 100644
index 000000000..a56551d08
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3856
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ad/Makefile b/linux/ecosystem/testrail/5.6.0.3856/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ad/README.md b/linux/ecosystem/testrail/5.6.0.3856/ad/README.md
new file mode 100644
index 000000000..bdbf08757
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.6.0.3856
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ad/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3856/ad/docker-compose.yml
new file mode 100644
index 000000000..e951b53b5
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.6.0.3856"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3856/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..73ef2d7a8
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3856 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ldap/Dockerfile b/linux/ecosystem/testrail/5.6.0.3856/ldap/Dockerfile
new file mode 100644
index 000000000..9d894f031
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3856
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ldap/Makefile b/linux/ecosystem/testrail/5.6.0.3856/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ldap/README.md b/linux/ecosystem/testrail/5.6.0.3856/ldap/README.md
new file mode 100644
index 000000000..c0239c660
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.6.0.3856
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3856/ldap/docker-compose.yml
new file mode 100644
index 000000000..ff3e54c99
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.6.0.3856"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3856/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3856/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..a78d1ece7
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3856 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3856/main/.env b/linux/ecosystem/testrail/5.6.0.3856/main/.env
new file mode 100644
index 000000000..e50b30edd
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.6.0.3856
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.6.0.3856/main/Dockerfile b/linux/ecosystem/testrail/5.6.0.3856/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.6.0.3856/main/Makefile b/linux/ecosystem/testrail/5.6.0.3856/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3856/main/README.md b/linux/ecosystem/testrail/5.6.0.3856/main/README.md
new file mode 100644
index 000000000..7c1a6a386
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.6.0.3856
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3856/main/apache_testrail.conf b/linux/ecosystem/testrail/5.6.0.3856/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3856/main/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3856/main/docker-compose.yml
new file mode 100644
index 000000000..c1228646c
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.6.0.3856"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3856/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3856/main/docker-entrypoint.sh
new file mode 100755
index 000000000..f526c7e3a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3856/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3856"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ad/Dockerfile b/linux/ecosystem/testrail/5.6.0.3861/ad/Dockerfile
new file mode 100644
index 000000000..fc0673fe3
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3861
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ad/Makefile b/linux/ecosystem/testrail/5.6.0.3861/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ad/README.md b/linux/ecosystem/testrail/5.6.0.3861/ad/README.md
new file mode 100644
index 000000000..9ecf12e9b
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.6.0.3861
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ad/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3861/ad/docker-compose.yml
new file mode 100644
index 000000000..126ae8d73
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.6.0.3861"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3861/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..83e4d4fd4
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3861 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ldap/Dockerfile b/linux/ecosystem/testrail/5.6.0.3861/ldap/Dockerfile
new file mode 100644
index 000000000..70c64a26e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3861
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ldap/Makefile b/linux/ecosystem/testrail/5.6.0.3861/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ldap/README.md b/linux/ecosystem/testrail/5.6.0.3861/ldap/README.md
new file mode 100644
index 000000000..4dbebfeb5
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.6.0.3861
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3861/ldap/docker-compose.yml
new file mode 100644
index 000000000..ee7473fca
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.6.0.3861"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3861/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3861/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..1a879664b
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3861 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3861/main/.env b/linux/ecosystem/testrail/5.6.0.3861/main/.env
new file mode 100644
index 000000000..7718e324d
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.6.0.3861
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.6.0.3861/main/Dockerfile b/linux/ecosystem/testrail/5.6.0.3861/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.6.0.3861/main/Makefile b/linux/ecosystem/testrail/5.6.0.3861/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3861/main/README.md b/linux/ecosystem/testrail/5.6.0.3861/main/README.md
new file mode 100644
index 000000000..a5582c2b6
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.6.0.3861
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3861/main/apache_testrail.conf b/linux/ecosystem/testrail/5.6.0.3861/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3861/main/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3861/main/docker-compose.yml
new file mode 100644
index 000000000..1268df15e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.6.0.3861"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3861/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3861/main/docker-entrypoint.sh
new file mode 100755
index 000000000..84e7b1aaf
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3861/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3861"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ad/Dockerfile b/linux/ecosystem/testrail/5.6.0.3862/ad/Dockerfile
new file mode 100644
index 000000000..db82288e1
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3862
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ad/Makefile b/linux/ecosystem/testrail/5.6.0.3862/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ad/README.md b/linux/ecosystem/testrail/5.6.0.3862/ad/README.md
new file mode 100644
index 000000000..205ec3635
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.6.0.3862
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ad/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3862/ad/docker-compose.yml
new file mode 100644
index 000000000..70b047fcf
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.6.0.3862"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3862/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..f88ca1fc2
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3862 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ldap/Dockerfile b/linux/ecosystem/testrail/5.6.0.3862/ldap/Dockerfile
new file mode 100644
index 000000000..f884f6323
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3862
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ldap/Makefile b/linux/ecosystem/testrail/5.6.0.3862/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ldap/README.md b/linux/ecosystem/testrail/5.6.0.3862/ldap/README.md
new file mode 100644
index 000000000..5217d2f0d
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.6.0.3862
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3862/ldap/docker-compose.yml
new file mode 100644
index 000000000..2cfa64dc8
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.6.0.3862"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3862/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3862/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..003d4caf9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3862 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3862/main/.env b/linux/ecosystem/testrail/5.6.0.3862/main/.env
new file mode 100644
index 000000000..7638fae31
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.6.0.3862
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.6.0.3862/main/Dockerfile b/linux/ecosystem/testrail/5.6.0.3862/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.6.0.3862/main/Makefile b/linux/ecosystem/testrail/5.6.0.3862/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3862/main/README.md b/linux/ecosystem/testrail/5.6.0.3862/main/README.md
new file mode 100644
index 000000000..31cef947a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.6.0.3862
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3862/main/apache_testrail.conf b/linux/ecosystem/testrail/5.6.0.3862/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3862/main/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3862/main/docker-compose.yml
new file mode 100644
index 000000000..62e1bc94c
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.6.0.3862"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3862/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3862/main/docker-entrypoint.sh
new file mode 100755
index 000000000..13b61ba1a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3862/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3862"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ad/Dockerfile b/linux/ecosystem/testrail/5.6.0.3865/ad/Dockerfile
new file mode 100644
index 000000000..c115fbb49
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3865
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ad/Makefile b/linux/ecosystem/testrail/5.6.0.3865/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ad/README.md b/linux/ecosystem/testrail/5.6.0.3865/ad/README.md
new file mode 100644
index 000000000..c6bb1d8c0
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.6.0.3865
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ad/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3865/ad/docker-compose.yml
new file mode 100644
index 000000000..31080538d
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.6.0.3865"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3865/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..a0b592905
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3865 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ldap/Dockerfile b/linux/ecosystem/testrail/5.6.0.3865/ldap/Dockerfile
new file mode 100644
index 000000000..5bd653f50
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.6.0.3865
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ldap/Makefile b/linux/ecosystem/testrail/5.6.0.3865/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ldap/README.md b/linux/ecosystem/testrail/5.6.0.3865/ldap/README.md
new file mode 100644
index 000000000..bf25e5246
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.6.0.3865
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3865/ldap/docker-compose.yml
new file mode 100644
index 000000000..af1d78ed4
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.6.0.3865"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.6.0.3865/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3865/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..c6307dee9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3865 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.6.0.3865/main/.env b/linux/ecosystem/testrail/5.6.0.3865/main/.env
new file mode 100644
index 000000000..f94b92323
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.6.0.3865
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.6.0.3865/main/Dockerfile b/linux/ecosystem/testrail/5.6.0.3865/main/Dockerfile
new file mode 100644
index 000000000..5e258575f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.0
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.6.0.3865/main/Makefile b/linux/ecosystem/testrail/5.6.0.3865/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.6.0.3865/main/README.md b/linux/ecosystem/testrail/5.6.0.3865/main/README.md
new file mode 100644
index 000000000..eb4df9a5c
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.0` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.6.0.3865
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.6.0.3865/main/apache_testrail.conf b/linux/ecosystem/testrail/5.6.0.3865/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3865/main/docker-compose.yml b/linux/ecosystem/testrail/5.6.0.3865/main/docker-compose.yml
new file mode 100644
index 000000000..398e8565e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.6.0.3865"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.6.0.3865/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.6.0.3865/main/docker-entrypoint.sh
new file mode 100755
index 000000000..dec34af66
--- /dev/null
+++ b/linux/ecosystem/testrail/5.6.0.3865/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.6.0.3865"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ad/Dockerfile b/linux/ecosystem/testrail/5.7.0.3938/ad/Dockerfile
new file mode 100644
index 000000000..a62a50d84
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.0.3938
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ad/Makefile b/linux/ecosystem/testrail/5.7.0.3938/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ad/README.md b/linux/ecosystem/testrail/5.7.0.3938/ad/README.md
new file mode 100644
index 000000000..bffe50787
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.7.0.3938
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ad/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3938/ad/docker-compose.yml
new file mode 100644
index 000000000..870c5d79e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.7.0.3938"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3938/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..b251904db
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3938 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ldap/Dockerfile b/linux/ecosystem/testrail/5.7.0.3938/ldap/Dockerfile
new file mode 100644
index 000000000..9f18ec758
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.0.3938
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ldap/Makefile b/linux/ecosystem/testrail/5.7.0.3938/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ldap/README.md b/linux/ecosystem/testrail/5.7.0.3938/ldap/README.md
new file mode 100644
index 000000000..72a7be689
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.7.0.3938
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3938/ldap/docker-compose.yml
new file mode 100644
index 000000000..b4cfb4bc3
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.7.0.3938"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.0.3938/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3938/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..2effff5bb
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3938 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3938/main/.env b/linux/ecosystem/testrail/5.7.0.3938/main/.env
new file mode 100644
index 000000000..9050007cc
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.7.0.3938
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.7.0.3938/main/Dockerfile b/linux/ecosystem/testrail/5.7.0.3938/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.7.0.3938/main/Makefile b/linux/ecosystem/testrail/5.7.0.3938/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3938/main/README.md b/linux/ecosystem/testrail/5.7.0.3938/main/README.md
new file mode 100644
index 000000000..824f71ab8
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.7.0.3938
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3938/main/apache_testrail.conf b/linux/ecosystem/testrail/5.7.0.3938/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.0.3938/main/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3938/main/docker-compose.yml
new file mode 100644
index 000000000..67bfabbfc
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.7.0.3938"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.0.3938/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3938/main/docker-entrypoint.sh
new file mode 100755
index 000000000..b023dc8cb
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3938/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3938"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ad/Dockerfile b/linux/ecosystem/testrail/5.7.0.3942/ad/Dockerfile
new file mode 100644
index 000000000..6f3347283
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.0.3942
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ad/Makefile b/linux/ecosystem/testrail/5.7.0.3942/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ad/README.md b/linux/ecosystem/testrail/5.7.0.3942/ad/README.md
new file mode 100644
index 000000000..16a55d5f3
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.7.0.3942
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ad/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3942/ad/docker-compose.yml
new file mode 100644
index 000000000..a04e9dcc1
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.7.0.3942"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3942/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..14c2272b9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3942 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ldap/Dockerfile b/linux/ecosystem/testrail/5.7.0.3942/ldap/Dockerfile
new file mode 100644
index 000000000..3ba6e254f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.0.3942
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ldap/Makefile b/linux/ecosystem/testrail/5.7.0.3942/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ldap/README.md b/linux/ecosystem/testrail/5.7.0.3942/ldap/README.md
new file mode 100644
index 000000000..d4667fdcb
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.7.0.3942
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3942/ldap/docker-compose.yml
new file mode 100644
index 000000000..e9d888c3d
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.7.0.3942"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.0.3942/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3942/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..11b60fc0b
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3942 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3942/main/.env b/linux/ecosystem/testrail/5.7.0.3942/main/.env
new file mode 100644
index 000000000..bb1a76810
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.7.0.3942
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.7.0.3942/main/Dockerfile b/linux/ecosystem/testrail/5.7.0.3942/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.7.0.3942/main/Makefile b/linux/ecosystem/testrail/5.7.0.3942/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3942/main/README.md b/linux/ecosystem/testrail/5.7.0.3942/main/README.md
new file mode 100644
index 000000000..9d4b8fe08
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.7.0.3942
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3942/main/apache_testrail.conf b/linux/ecosystem/testrail/5.7.0.3942/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.0.3942/main/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3942/main/docker-compose.yml
new file mode 100644
index 000000000..e3ca73138
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.7.0.3942"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.0.3942/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3942/main/docker-entrypoint.sh
new file mode 100755
index 000000000..b3aa045f7
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3942/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3942"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ad/Dockerfile b/linux/ecosystem/testrail/5.7.0.3951/ad/Dockerfile
new file mode 100644
index 000000000..207cf4151
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.0.3951
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ad/Makefile b/linux/ecosystem/testrail/5.7.0.3951/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ad/README.md b/linux/ecosystem/testrail/5.7.0.3951/ad/README.md
new file mode 100644
index 000000000..8e07ec420
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.7.0.3951
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ad/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3951/ad/docker-compose.yml
new file mode 100644
index 000000000..8b3480bd0
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.7.0.3951"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3951/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..e172ca743
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3951 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ldap/Dockerfile b/linux/ecosystem/testrail/5.7.0.3951/ldap/Dockerfile
new file mode 100644
index 000000000..3d8475742
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.0.3951
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ldap/Makefile b/linux/ecosystem/testrail/5.7.0.3951/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ldap/README.md b/linux/ecosystem/testrail/5.7.0.3951/ldap/README.md
new file mode 100644
index 000000000..3af21c568
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.7.0.3951
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3951/ldap/docker-compose.yml
new file mode 100644
index 000000000..4129ae4ee
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.7.0.3951"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.0.3951/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3951/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..1163436e4
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3951 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.0.3951/main/.env b/linux/ecosystem/testrail/5.7.0.3951/main/.env
new file mode 100644
index 000000000..294b15dd9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.7.0.3951
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.7.0.3951/main/Dockerfile b/linux/ecosystem/testrail/5.7.0.3951/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.7.0.3951/main/Makefile b/linux/ecosystem/testrail/5.7.0.3951/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.0.3951/main/README.md b/linux/ecosystem/testrail/5.7.0.3951/main/README.md
new file mode 100644
index 000000000..3fe022c35
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.7.0.3951
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.0.3951/main/apache_testrail.conf b/linux/ecosystem/testrail/5.7.0.3951/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.0.3951/main/docker-compose.yml b/linux/ecosystem/testrail/5.7.0.3951/main/docker-compose.yml
new file mode 100644
index 000000000..b20d3670e
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.7.0.3951"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.0.3951/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.0.3951/main/docker-entrypoint.sh
new file mode 100755
index 000000000..20d5f2060
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.0.3951/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.0.3951"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ad/Dockerfile b/linux/ecosystem/testrail/5.7.1.4026/ad/Dockerfile
new file mode 100644
index 000000000..5b8eced92
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.1.4026
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ad/Makefile b/linux/ecosystem/testrail/5.7.1.4026/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ad/README.md b/linux/ecosystem/testrail/5.7.1.4026/ad/README.md
new file mode 100644
index 000000000..bdbdeb635
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.7.1.4026
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ad/docker-compose.yml b/linux/ecosystem/testrail/5.7.1.4026/ad/docker-compose.yml
new file mode 100644
index 000000000..896ac86fa
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.7.1.4026"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.1.4026/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..9db5982a5
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.1.4026 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ldap/Dockerfile b/linux/ecosystem/testrail/5.7.1.4026/ldap/Dockerfile
new file mode 100644
index 000000000..dd8d5e8b8
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.1.4026
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ldap/Makefile b/linux/ecosystem/testrail/5.7.1.4026/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ldap/README.md b/linux/ecosystem/testrail/5.7.1.4026/ldap/README.md
new file mode 100644
index 000000000..238edd354
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.7.1.4026
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.7.1.4026/ldap/docker-compose.yml
new file mode 100644
index 000000000..a31345aec
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.7.1.4026"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.1.4026/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.1.4026/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..c6ba12579
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.1.4026 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.1.4026/main/.env b/linux/ecosystem/testrail/5.7.1.4026/main/.env
new file mode 100644
index 000000000..63fb5fc63
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.7.1.4026
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.7.1.4026/main/Dockerfile b/linux/ecosystem/testrail/5.7.1.4026/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.7.1.4026/main/Makefile b/linux/ecosystem/testrail/5.7.1.4026/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.1.4026/main/README.md b/linux/ecosystem/testrail/5.7.1.4026/main/README.md
new file mode 100644
index 000000000..0fe4354a3
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.7.1.4026
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.1.4026/main/apache_testrail.conf b/linux/ecosystem/testrail/5.7.1.4026/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.1.4026/main/docker-compose.yml b/linux/ecosystem/testrail/5.7.1.4026/main/docker-compose.yml
new file mode 100644
index 000000000..c39036f0a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.7.1.4026"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.1.4026/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.1.4026/main/docker-entrypoint.sh
new file mode 100755
index 000000000..ad6682f2c
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4026/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.1.4026"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ad/Dockerfile b/linux/ecosystem/testrail/5.7.1.4028/ad/Dockerfile
new file mode 100644
index 000000000..5c5f7f0b4
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.1.4028
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ad/Makefile b/linux/ecosystem/testrail/5.7.1.4028/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ad/README.md b/linux/ecosystem/testrail/5.7.1.4028/ad/README.md
new file mode 100644
index 000000000..0b89955df
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:5.7.1.4028
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ad/docker-compose.yml b/linux/ecosystem/testrail/5.7.1.4028/ad/docker-compose.yml
new file mode 100644
index 000000000..eec8151e4
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-5.7.1.4028"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.1.4028/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..a9f584eca
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.1.4028 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ldap/Dockerfile b/linux/ecosystem/testrail/5.7.1.4028/ldap/Dockerfile
new file mode 100644
index 000000000..e531f264f
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:5.7.1.4028
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ldap/Makefile b/linux/ecosystem/testrail/5.7.1.4028/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ldap/README.md b/linux/ecosystem/testrail/5.7.1.4028/ldap/README.md
new file mode 100644
index 000000000..84ce8d410
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-5.7.1.4028
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ldap/docker-compose.yml b/linux/ecosystem/testrail/5.7.1.4028/ldap/docker-compose.yml
new file mode 100644
index 000000000..b954fa5fa
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-5.7.1.4028"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/5.7.1.4028/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.1.4028/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..8b762a618
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.1.4028 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/5.7.1.4028/main/.env b/linux/ecosystem/testrail/5.7.1.4028/main/.env
new file mode 100644
index 000000000..f2cd13337
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=5.7.1.4028
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/5.7.1.4028/main/Dockerfile b/linux/ecosystem/testrail/5.7.1.4028/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/5.7.1.4028/main/Makefile b/linux/ecosystem/testrail/5.7.1.4028/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/5.7.1.4028/main/README.md b/linux/ecosystem/testrail/5.7.1.4028/main/README.md
new file mode 100644
index 000000000..2f4de26e0
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:5.7.1.4028
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/5.7.1.4028/main/apache_testrail.conf b/linux/ecosystem/testrail/5.7.1.4028/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.1.4028/main/docker-compose.yml b/linux/ecosystem/testrail/5.7.1.4028/main/docker-compose.yml
new file mode 100644
index 000000000..2c82e4fa7
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:5.7.1.4028"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/5.7.1.4028/main/docker-entrypoint.sh b/linux/ecosystem/testrail/5.7.1.4028/main/docker-entrypoint.sh
new file mode 100755
index 000000000..8390243eb
--- /dev/null
+++ b/linux/ecosystem/testrail/5.7.1.4028/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 5.7.1.4028"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ad/Dockerfile b/linux/ecosystem/testrail/6.0.0.4140/ad/Dockerfile
new file mode 100644
index 000000000..169766067
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.0.0.4140
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ad/Makefile b/linux/ecosystem/testrail/6.0.0.4140/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ad/README.md b/linux/ecosystem/testrail/6.0.0.4140/ad/README.md
new file mode 100644
index 000000000..8773d93f6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.0.0.4140
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ad/docker-compose.yml b/linux/ecosystem/testrail/6.0.0.4140/ad/docker-compose.yml
new file mode 100644
index 000000000..7ca797879
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.0.0.4140"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.0.0.4140/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..0dbf9b546
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.0.0.4140 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ldap/Dockerfile b/linux/ecosystem/testrail/6.0.0.4140/ldap/Dockerfile
new file mode 100644
index 000000000..7ec4fd230
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.0.0.4140
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ldap/Makefile b/linux/ecosystem/testrail/6.0.0.4140/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ldap/README.md b/linux/ecosystem/testrail/6.0.0.4140/ldap/README.md
new file mode 100644
index 000000000..ddc49d9b6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.0.0.4140
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.0.0.4140/ldap/docker-compose.yml
new file mode 100644
index 000000000..2dae62bf3
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.0.0.4140"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.0.0.4140/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.0.0.4140/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..647e21f11
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.0.0.4140 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.0.0.4140/main/.env b/linux/ecosystem/testrail/6.0.0.4140/main/.env
new file mode 100644
index 000000000..3af7298fe
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.0.0.4140
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.0.0.4140/main/Dockerfile b/linux/ecosystem/testrail/6.0.0.4140/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.0.0.4140/main/Makefile b/linux/ecosystem/testrail/6.0.0.4140/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.0.0.4140/main/README.md b/linux/ecosystem/testrail/6.0.0.4140/main/README.md
new file mode 100644
index 000000000..f3b84c7fd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.0.0.4140
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.0.0.4140/main/apache_testrail.conf b/linux/ecosystem/testrail/6.0.0.4140/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.0.0.4140/main/docker-compose.yml b/linux/ecosystem/testrail/6.0.0.4140/main/docker-compose.yml
new file mode 100644
index 000000000..49732e017
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.0.0.4140"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.0.0.4140/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.0.0.4140/main/docker-entrypoint.sh
new file mode 100755
index 000000000..b144b0575
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.0.4140/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.0.0.4140"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ad/Dockerfile b/linux/ecosystem/testrail/6.0.1.4163/ad/Dockerfile
new file mode 100644
index 000000000..8b28b1a86
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.0.1.4163
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ad/Makefile b/linux/ecosystem/testrail/6.0.1.4163/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ad/README.md b/linux/ecosystem/testrail/6.0.1.4163/ad/README.md
new file mode 100644
index 000000000..b24281c6d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.0.1.4163
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ad/docker-compose.yml b/linux/ecosystem/testrail/6.0.1.4163/ad/docker-compose.yml
new file mode 100644
index 000000000..54361f7d6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.0.1.4163"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.0.1.4163/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..e4e4a0397
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.0.1.4163 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ldap/Dockerfile b/linux/ecosystem/testrail/6.0.1.4163/ldap/Dockerfile
new file mode 100644
index 000000000..2c975b6d5
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.0.1.4163
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ldap/Makefile b/linux/ecosystem/testrail/6.0.1.4163/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ldap/README.md b/linux/ecosystem/testrail/6.0.1.4163/ldap/README.md
new file mode 100644
index 000000000..4e88871cc
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.0.1.4163
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.0.1.4163/ldap/docker-compose.yml
new file mode 100644
index 000000000..917ffff6c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.0.1.4163"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.0.1.4163/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.0.1.4163/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..9db55195b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.0.1.4163 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.0.1.4163/main/.env b/linux/ecosystem/testrail/6.0.1.4163/main/.env
new file mode 100644
index 000000000..8d3df5803
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.0.1.4163
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.0.1.4163/main/Dockerfile b/linux/ecosystem/testrail/6.0.1.4163/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.0.1.4163/main/Makefile b/linux/ecosystem/testrail/6.0.1.4163/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.0.1.4163/main/README.md b/linux/ecosystem/testrail/6.0.1.4163/main/README.md
new file mode 100644
index 000000000..9187ded82
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.0.1.4163
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.0.1.4163/main/apache_testrail.conf b/linux/ecosystem/testrail/6.0.1.4163/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.0.1.4163/main/docker-compose.yml b/linux/ecosystem/testrail/6.0.1.4163/main/docker-compose.yml
new file mode 100644
index 000000000..f1b3ebe4f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.0.1.4163"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.0.1.4163/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.0.1.4163/main/docker-entrypoint.sh
new file mode 100755
index 000000000..bc33dd9f0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.0.1.4163/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.0.1.4163"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ad/Dockerfile b/linux/ecosystem/testrail/6.1.0.4367/ad/Dockerfile
new file mode 100644
index 000000000..ba7007345
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.1.0.4367
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ad/Makefile b/linux/ecosystem/testrail/6.1.0.4367/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ad/README.md b/linux/ecosystem/testrail/6.1.0.4367/ad/README.md
new file mode 100644
index 000000000..d7cdb34cc
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.1.0.4367
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ad/docker-compose.yml b/linux/ecosystem/testrail/6.1.0.4367/ad/docker-compose.yml
new file mode 100644
index 000000000..c2176d7e2
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.1.0.4367"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.0.4367/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..9852de02b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.0.4367 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ldap/Dockerfile b/linux/ecosystem/testrail/6.1.0.4367/ldap/Dockerfile
new file mode 100644
index 000000000..e35b0a989
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.1.0.4367
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ldap/Makefile b/linux/ecosystem/testrail/6.1.0.4367/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ldap/README.md b/linux/ecosystem/testrail/6.1.0.4367/ldap/README.md
new file mode 100644
index 000000000..00fc14568
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.1.0.4367
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.1.0.4367/ldap/docker-compose.yml
new file mode 100644
index 000000000..ae1361140
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.1.0.4367"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.1.0.4367/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.0.4367/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..a3c223d6a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.0.4367 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.0.4367/main/.env b/linux/ecosystem/testrail/6.1.0.4367/main/.env
new file mode 100644
index 000000000..847cff670
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.1.0.4367
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.1.0.4367/main/Dockerfile b/linux/ecosystem/testrail/6.1.0.4367/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.1.0.4367/main/Makefile b/linux/ecosystem/testrail/6.1.0.4367/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.0.4367/main/README.md b/linux/ecosystem/testrail/6.1.0.4367/main/README.md
new file mode 100644
index 000000000..b561cf052
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.1.0.4367
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.0.4367/main/apache_testrail.conf b/linux/ecosystem/testrail/6.1.0.4367/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.1.0.4367/main/docker-compose.yml b/linux/ecosystem/testrail/6.1.0.4367/main/docker-compose.yml
new file mode 100644
index 000000000..d549bb3ee
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.1.0.4367"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.1.0.4367/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.0.4367/main/docker-entrypoint.sh
new file mode 100755
index 000000000..aad46b65d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4367/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.0.4367"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ad/Dockerfile b/linux/ecosystem/testrail/6.1.0.4369/ad/Dockerfile
new file mode 100644
index 000000000..1c6870b4c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.1.0.4369
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ad/Makefile b/linux/ecosystem/testrail/6.1.0.4369/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ad/README.md b/linux/ecosystem/testrail/6.1.0.4369/ad/README.md
new file mode 100644
index 000000000..c245d0c03
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.1.0.4369
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ad/docker-compose.yml b/linux/ecosystem/testrail/6.1.0.4369/ad/docker-compose.yml
new file mode 100644
index 000000000..cbe7420f8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.1.0.4369"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.0.4369/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..2eb2affd9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.0.4369 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ldap/Dockerfile b/linux/ecosystem/testrail/6.1.0.4369/ldap/Dockerfile
new file mode 100644
index 000000000..a941039bc
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.1.0.4369
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ldap/Makefile b/linux/ecosystem/testrail/6.1.0.4369/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ldap/README.md b/linux/ecosystem/testrail/6.1.0.4369/ldap/README.md
new file mode 100644
index 000000000..c189c77a6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.1.0.4369
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.1.0.4369/ldap/docker-compose.yml
new file mode 100644
index 000000000..315d25efd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.1.0.4369"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.1.0.4369/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.0.4369/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..32a41216a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.0.4369 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.0.4369/main/.env b/linux/ecosystem/testrail/6.1.0.4369/main/.env
new file mode 100644
index 000000000..13af635c2
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.1.0.4369
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.1.0.4369/main/Dockerfile b/linux/ecosystem/testrail/6.1.0.4369/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.1.0.4369/main/Makefile b/linux/ecosystem/testrail/6.1.0.4369/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.0.4369/main/README.md b/linux/ecosystem/testrail/6.1.0.4369/main/README.md
new file mode 100644
index 000000000..625c1ee0e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.1.0.4369
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.0.4369/main/apache_testrail.conf b/linux/ecosystem/testrail/6.1.0.4369/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.1.0.4369/main/docker-compose.yml b/linux/ecosystem/testrail/6.1.0.4369/main/docker-compose.yml
new file mode 100644
index 000000000..e83fb3480
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.1.0.4369"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.1.0.4369/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.0.4369/main/docker-entrypoint.sh
new file mode 100755
index 000000000..9e6bdbf73
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.0.4369/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.0.4369"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ad/Dockerfile b/linux/ecosystem/testrail/6.1.1.1020/ad/Dockerfile
new file mode 100644
index 000000000..698d8312a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.1.1.1020
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ad/Makefile b/linux/ecosystem/testrail/6.1.1.1020/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ad/README.md b/linux/ecosystem/testrail/6.1.1.1020/ad/README.md
new file mode 100644
index 000000000..02544105c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.1.1.1020
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ad/docker-compose.yml b/linux/ecosystem/testrail/6.1.1.1020/ad/docker-compose.yml
new file mode 100644
index 000000000..0153fb454
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.1.1.1020"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.1.1020/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..5d3d60637
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.1.1020 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ldap/Dockerfile b/linux/ecosystem/testrail/6.1.1.1020/ldap/Dockerfile
new file mode 100644
index 000000000..6c875bf78
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.1.1.1020
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ldap/Makefile b/linux/ecosystem/testrail/6.1.1.1020/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ldap/README.md b/linux/ecosystem/testrail/6.1.1.1020/ldap/README.md
new file mode 100644
index 000000000..4b8eb097a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.1.1.1020
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.1.1.1020/ldap/docker-compose.yml
new file mode 100644
index 000000000..94698e067
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.1.1.1020"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.1.1.1020/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.1.1020/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..66240bc05
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.1.1020 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.1.1020/main/.env b/linux/ecosystem/testrail/6.1.1.1020/main/.env
new file mode 100644
index 000000000..c002d9ed3
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.1.1.1020
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.1.1.1020/main/Dockerfile b/linux/ecosystem/testrail/6.1.1.1020/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.1.1.1020/main/Makefile b/linux/ecosystem/testrail/6.1.1.1020/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.1.1020/main/README.md b/linux/ecosystem/testrail/6.1.1.1020/main/README.md
new file mode 100644
index 000000000..8c0c7ae76
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.1.1.1020
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.1.1020/main/apache_testrail.conf b/linux/ecosystem/testrail/6.1.1.1020/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.1.1.1020/main/docker-compose.yml b/linux/ecosystem/testrail/6.1.1.1020/main/docker-compose.yml
new file mode 100644
index 000000000..55408492d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.1.1.1020"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.1.1.1020/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.1.1020/main/docker-entrypoint.sh
new file mode 100755
index 000000000..fc2f13580
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1020/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.1.1020"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ad/Dockerfile b/linux/ecosystem/testrail/6.1.1.1021/ad/Dockerfile
new file mode 100644
index 000000000..4aa1904cd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.1.1.1021
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ad/Makefile b/linux/ecosystem/testrail/6.1.1.1021/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ad/README.md b/linux/ecosystem/testrail/6.1.1.1021/ad/README.md
new file mode 100644
index 000000000..ebf5fc37c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.1.1.1021
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ad/docker-compose.yml b/linux/ecosystem/testrail/6.1.1.1021/ad/docker-compose.yml
new file mode 100644
index 000000000..34847bb58
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.1.1.1021"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.1.1021/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..bd07f2a4e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.1.1021 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ldap/Dockerfile b/linux/ecosystem/testrail/6.1.1.1021/ldap/Dockerfile
new file mode 100644
index 000000000..c0ae2df4f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.1.1.1021
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ldap/Makefile b/linux/ecosystem/testrail/6.1.1.1021/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ldap/README.md b/linux/ecosystem/testrail/6.1.1.1021/ldap/README.md
new file mode 100644
index 000000000..dbb1069c0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.1.1.1021
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.1.1.1021/ldap/docker-compose.yml
new file mode 100644
index 000000000..caf4aa0c4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.1.1.1021"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.1.1.1021/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.1.1021/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..9df056483
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.1.1021 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.1.1.1021/main/.env b/linux/ecosystem/testrail/6.1.1.1021/main/.env
new file mode 100644
index 000000000..13a1e19c9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.1.1.1021
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.1.1.1021/main/Dockerfile b/linux/ecosystem/testrail/6.1.1.1021/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.1.1.1021/main/Makefile b/linux/ecosystem/testrail/6.1.1.1021/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.1.1.1021/main/README.md b/linux/ecosystem/testrail/6.1.1.1021/main/README.md
new file mode 100644
index 000000000..9194369a8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.1.1.1021
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.1.1.1021/main/apache_testrail.conf b/linux/ecosystem/testrail/6.1.1.1021/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.1.1.1021/main/docker-compose.yml b/linux/ecosystem/testrail/6.1.1.1021/main/docker-compose.yml
new file mode 100644
index 000000000..9dcb2b924
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.1.1.1021"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.1.1.1021/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.1.1.1021/main/docker-entrypoint.sh
new file mode 100755
index 000000000..f585697cd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.1.1.1021/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.1.1.1021"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ad/Dockerfile b/linux/ecosystem/testrail/6.2.0.1085/ad/Dockerfile
new file mode 100644
index 000000000..0eea60e1d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.0.1085
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ad/Makefile b/linux/ecosystem/testrail/6.2.0.1085/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ad/README.md b/linux/ecosystem/testrail/6.2.0.1085/ad/README.md
new file mode 100644
index 000000000..476e54617
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.2.0.1085
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ad/docker-compose.yml b/linux/ecosystem/testrail/6.2.0.1085/ad/docker-compose.yml
new file mode 100644
index 000000000..2957c1893
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.2.0.1085"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.0.1085/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..90118cf4e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.0.1085 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ldap/Dockerfile b/linux/ecosystem/testrail/6.2.0.1085/ldap/Dockerfile
new file mode 100644
index 000000000..d487b95f1
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.0.1085
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ldap/Makefile b/linux/ecosystem/testrail/6.2.0.1085/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ldap/README.md b/linux/ecosystem/testrail/6.2.0.1085/ldap/README.md
new file mode 100644
index 000000000..77f4c31a0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.2.0.1085
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.2.0.1085/ldap/docker-compose.yml
new file mode 100644
index 000000000..c83e86a9e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.2.0.1085"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.0.1085/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.0.1085/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..d7871029e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.0.1085 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.0.1085/main/.env b/linux/ecosystem/testrail/6.2.0.1085/main/.env
new file mode 100644
index 000000000..b6790e8dd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.2.0.1085
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.2.0.1085/main/Dockerfile b/linux/ecosystem/testrail/6.2.0.1085/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.2.0.1085/main/Makefile b/linux/ecosystem/testrail/6.2.0.1085/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.0.1085/main/README.md b/linux/ecosystem/testrail/6.2.0.1085/main/README.md
new file mode 100644
index 000000000..d5c3e86f9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.2.0.1085
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.0.1085/main/apache_testrail.conf b/linux/ecosystem/testrail/6.2.0.1085/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.0.1085/main/docker-compose.yml b/linux/ecosystem/testrail/6.2.0.1085/main/docker-compose.yml
new file mode 100644
index 000000000..40333e172
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.2.0.1085"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.0.1085/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.0.1085/main/docker-entrypoint.sh
new file mode 100755
index 000000000..708441c0f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.0.1085/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.0.1085"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ad/Dockerfile b/linux/ecosystem/testrail/6.2.1.1003/ad/Dockerfile
new file mode 100644
index 000000000..0bb6f4da8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.1.1003
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ad/Makefile b/linux/ecosystem/testrail/6.2.1.1003/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ad/README.md b/linux/ecosystem/testrail/6.2.1.1003/ad/README.md
new file mode 100644
index 000000000..dda810595
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.2.1.1003
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ad/docker-compose.yml b/linux/ecosystem/testrail/6.2.1.1003/ad/docker-compose.yml
new file mode 100644
index 000000000..c8e272a2f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.2.1.1003"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.1.1003/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..836e114da
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.1.1003 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ldap/Dockerfile b/linux/ecosystem/testrail/6.2.1.1003/ldap/Dockerfile
new file mode 100644
index 000000000..42f835d9b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.1.1003
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ldap/Makefile b/linux/ecosystem/testrail/6.2.1.1003/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ldap/README.md b/linux/ecosystem/testrail/6.2.1.1003/ldap/README.md
new file mode 100644
index 000000000..0a8c9ad9d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.2.1.1003
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.2.1.1003/ldap/docker-compose.yml
new file mode 100644
index 000000000..155b9f0a8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.2.1.1003"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.1.1003/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.1.1003/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..e9e6ac169
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.1.1003 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.1.1003/main/.env b/linux/ecosystem/testrail/6.2.1.1003/main/.env
new file mode 100644
index 000000000..76f10ec03
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.2.1.1003
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.2.1.1003/main/Dockerfile b/linux/ecosystem/testrail/6.2.1.1003/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.2.1.1003/main/Makefile b/linux/ecosystem/testrail/6.2.1.1003/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.1.1003/main/README.md b/linux/ecosystem/testrail/6.2.1.1003/main/README.md
new file mode 100644
index 000000000..fb42e1128
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.2.1.1003
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.1.1003/main/apache_testrail.conf b/linux/ecosystem/testrail/6.2.1.1003/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.1.1003/main/docker-compose.yml b/linux/ecosystem/testrail/6.2.1.1003/main/docker-compose.yml
new file mode 100644
index 000000000..90b0653e0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.2.1.1003"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.1.1003/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.1.1003/main/docker-entrypoint.sh
new file mode 100755
index 000000000..0065ad2ad
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1003/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.1.1003"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ad/Dockerfile b/linux/ecosystem/testrail/6.2.1.1005/ad/Dockerfile
new file mode 100644
index 000000000..743c45981
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.1.1005
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ad/Makefile b/linux/ecosystem/testrail/6.2.1.1005/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ad/README.md b/linux/ecosystem/testrail/6.2.1.1005/ad/README.md
new file mode 100644
index 000000000..fa7ce01dd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.2.1.1005
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ad/docker-compose.yml b/linux/ecosystem/testrail/6.2.1.1005/ad/docker-compose.yml
new file mode 100644
index 000000000..d4a701b64
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.2.1.1005"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.1.1005/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..e465f12a3
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.1.1005 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ldap/Dockerfile b/linux/ecosystem/testrail/6.2.1.1005/ldap/Dockerfile
new file mode 100644
index 000000000..95d7af610
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.1.1005
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ldap/Makefile b/linux/ecosystem/testrail/6.2.1.1005/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ldap/README.md b/linux/ecosystem/testrail/6.2.1.1005/ldap/README.md
new file mode 100644
index 000000000..d49d2eda0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.2.1.1005
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.2.1.1005/ldap/docker-compose.yml
new file mode 100644
index 000000000..4c4bc2b79
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.2.1.1005"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.1.1005/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.1.1005/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..6c7ccd7b6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.1.1005 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.1.1005/main/.env b/linux/ecosystem/testrail/6.2.1.1005/main/.env
new file mode 100644
index 000000000..e04b48b90
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.2.1.1005
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.2.1.1005/main/Dockerfile b/linux/ecosystem/testrail/6.2.1.1005/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.2.1.1005/main/Makefile b/linux/ecosystem/testrail/6.2.1.1005/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.1.1005/main/README.md b/linux/ecosystem/testrail/6.2.1.1005/main/README.md
new file mode 100644
index 000000000..e0d45b7ac
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.2.1.1005
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.1.1005/main/apache_testrail.conf b/linux/ecosystem/testrail/6.2.1.1005/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.1.1005/main/docker-compose.yml b/linux/ecosystem/testrail/6.2.1.1005/main/docker-compose.yml
new file mode 100644
index 000000000..f72e1502f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.2.1.1005"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.1.1005/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.1.1005/main/docker-entrypoint.sh
new file mode 100755
index 000000000..2875fd10e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.1.1005/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.1.1005"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ad/Dockerfile b/linux/ecosystem/testrail/6.2.2.1107/ad/Dockerfile
new file mode 100644
index 000000000..bdeb2b58e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.2.1107
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ad/Makefile b/linux/ecosystem/testrail/6.2.2.1107/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ad/README.md b/linux/ecosystem/testrail/6.2.2.1107/ad/README.md
new file mode 100644
index 000000000..f8a862741
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.2.2.1107
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ad/docker-compose.yml b/linux/ecosystem/testrail/6.2.2.1107/ad/docker-compose.yml
new file mode 100644
index 000000000..cdbba4d8d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.2.2.1107"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.2.1107/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..a6ee9cae8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.2.1107 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ldap/Dockerfile b/linux/ecosystem/testrail/6.2.2.1107/ldap/Dockerfile
new file mode 100644
index 000000000..730e9059b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.2.1107
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ldap/Makefile b/linux/ecosystem/testrail/6.2.2.1107/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ldap/README.md b/linux/ecosystem/testrail/6.2.2.1107/ldap/README.md
new file mode 100644
index 000000000..5b597b4b9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.2.2.1107
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.2.2.1107/ldap/docker-compose.yml
new file mode 100644
index 000000000..cb128f111
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.2.2.1107"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.2.1107/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.2.1107/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..9961a6b5b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.2.1107 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.2.1107/main/.env b/linux/ecosystem/testrail/6.2.2.1107/main/.env
new file mode 100644
index 000000000..5bcbdeb27
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.2.2.1107
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.2.2.1107/main/Dockerfile b/linux/ecosystem/testrail/6.2.2.1107/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.2.2.1107/main/Makefile b/linux/ecosystem/testrail/6.2.2.1107/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.2.1107/main/README.md b/linux/ecosystem/testrail/6.2.2.1107/main/README.md
new file mode 100644
index 000000000..10c7d2388
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.2.2.1107
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.2.1107/main/apache_testrail.conf b/linux/ecosystem/testrail/6.2.2.1107/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.2.1107/main/docker-compose.yml b/linux/ecosystem/testrail/6.2.2.1107/main/docker-compose.yml
new file mode 100644
index 000000000..f0e8c513b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.2.2.1107"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.2.1107/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.2.1107/main/docker-entrypoint.sh
new file mode 100755
index 000000000..fc74c2dc0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.2.1107/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.2.1107"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ad/Dockerfile b/linux/ecosystem/testrail/6.2.3.1114/ad/Dockerfile
new file mode 100644
index 000000000..10564d3e1
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.3.1114
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ad/Makefile b/linux/ecosystem/testrail/6.2.3.1114/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ad/README.md b/linux/ecosystem/testrail/6.2.3.1114/ad/README.md
new file mode 100644
index 000000000..a6c6b1200
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.2.3.1114
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ad/docker-compose.yml b/linux/ecosystem/testrail/6.2.3.1114/ad/docker-compose.yml
new file mode 100644
index 000000000..7bcbdfa84
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.2.3.1114"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.3.1114/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..564439ca5
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.3.1114 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ldap/Dockerfile b/linux/ecosystem/testrail/6.2.3.1114/ldap/Dockerfile
new file mode 100644
index 000000000..335745c3f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.2.3.1114
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ldap/Makefile b/linux/ecosystem/testrail/6.2.3.1114/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ldap/README.md b/linux/ecosystem/testrail/6.2.3.1114/ldap/README.md
new file mode 100644
index 000000000..156eae581
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.2.3.1114
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.2.3.1114/ldap/docker-compose.yml
new file mode 100644
index 000000000..8454c9a29
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.2.3.1114"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.2.3.1114/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.3.1114/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..061cf3f01
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.3.1114 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.2.3.1114/main/.env b/linux/ecosystem/testrail/6.2.3.1114/main/.env
new file mode 100644
index 000000000..80a84f7c4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.2.3.1114
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.2.3.1114/main/Dockerfile b/linux/ecosystem/testrail/6.2.3.1114/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.2.3.1114/main/Makefile b/linux/ecosystem/testrail/6.2.3.1114/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.2.3.1114/main/README.md b/linux/ecosystem/testrail/6.2.3.1114/main/README.md
new file mode 100644
index 000000000..f47f73a42
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.2.3.1114
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.2.3.1114/main/apache_testrail.conf b/linux/ecosystem/testrail/6.2.3.1114/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.3.1114/main/docker-compose.yml b/linux/ecosystem/testrail/6.2.3.1114/main/docker-compose.yml
new file mode 100644
index 000000000..a8070f80d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.2.3.1114"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.2.3.1114/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.2.3.1114/main/docker-entrypoint.sh
new file mode 100755
index 000000000..fca9a1a67
--- /dev/null
+++ b/linux/ecosystem/testrail/6.2.3.1114/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.2.3.1114"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ad/Dockerfile b/linux/ecosystem/testrail/6.3.0.1120/ad/Dockerfile
new file mode 100644
index 000000000..29886f456
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.3.0.1120
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ad/Makefile b/linux/ecosystem/testrail/6.3.0.1120/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ad/README.md b/linux/ecosystem/testrail/6.3.0.1120/ad/README.md
new file mode 100644
index 000000000..b2394c3a0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.3.0.1120
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ad/docker-compose.yml b/linux/ecosystem/testrail/6.3.0.1120/ad/docker-compose.yml
new file mode 100644
index 000000000..35f3fa8d3
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.3.0.1120"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.0.1120/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..4efa355b2
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.0.1120 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ldap/Dockerfile b/linux/ecosystem/testrail/6.3.0.1120/ldap/Dockerfile
new file mode 100644
index 000000000..68bb5ea2d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.3.0.1120
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ldap/Makefile b/linux/ecosystem/testrail/6.3.0.1120/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ldap/README.md b/linux/ecosystem/testrail/6.3.0.1120/ldap/README.md
new file mode 100644
index 000000000..5a43017c8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.3.0.1120
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.3.0.1120/ldap/docker-compose.yml
new file mode 100644
index 000000000..7c4f18019
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.3.0.1120"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.3.0.1120/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.0.1120/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..7db22a65f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.0.1120 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.0.1120/main/.env b/linux/ecosystem/testrail/6.3.0.1120/main/.env
new file mode 100644
index 000000000..1cd72ceec
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.3.0.1120
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.3.0.1120/main/Dockerfile b/linux/ecosystem/testrail/6.3.0.1120/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.3.0.1120/main/Makefile b/linux/ecosystem/testrail/6.3.0.1120/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.0.1120/main/README.md b/linux/ecosystem/testrail/6.3.0.1120/main/README.md
new file mode 100644
index 000000000..65477fd0d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.3.0.1120
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.0.1120/main/apache_testrail.conf b/linux/ecosystem/testrail/6.3.0.1120/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.3.0.1120/main/docker-compose.yml b/linux/ecosystem/testrail/6.3.0.1120/main/docker-compose.yml
new file mode 100644
index 000000000..ebe893c75
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.3.0.1120"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.3.0.1120/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.0.1120/main/docker-entrypoint.sh
new file mode 100755
index 000000000..ef208fc42
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.0.1120/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.0.1120"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ad/Dockerfile b/linux/ecosystem/testrail/6.3.1.1004/ad/Dockerfile
new file mode 100644
index 000000000..3a1602753
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.3.1.1004
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ad/Makefile b/linux/ecosystem/testrail/6.3.1.1004/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ad/README.md b/linux/ecosystem/testrail/6.3.1.1004/ad/README.md
new file mode 100644
index 000000000..3c5f27bee
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.3.1.1004
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ad/docker-compose.yml b/linux/ecosystem/testrail/6.3.1.1004/ad/docker-compose.yml
new file mode 100644
index 000000000..556f3ea0c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.3.1.1004"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.1.1004/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..bf2b2fe37
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.1.1004 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ldap/Dockerfile b/linux/ecosystem/testrail/6.3.1.1004/ldap/Dockerfile
new file mode 100644
index 000000000..c63492b99
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.3.1.1004
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ldap/Makefile b/linux/ecosystem/testrail/6.3.1.1004/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ldap/README.md b/linux/ecosystem/testrail/6.3.1.1004/ldap/README.md
new file mode 100644
index 000000000..f2bcc4219
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.3.1.1004
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.3.1.1004/ldap/docker-compose.yml
new file mode 100644
index 000000000..72fbfe988
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.3.1.1004"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.3.1.1004/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.1.1004/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..d584f4a2f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.1.1004 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.1.1004/main/.env b/linux/ecosystem/testrail/6.3.1.1004/main/.env
new file mode 100644
index 000000000..1d829252a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.3.1.1004
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.3.1.1004/main/Dockerfile b/linux/ecosystem/testrail/6.3.1.1004/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.3.1.1004/main/Makefile b/linux/ecosystem/testrail/6.3.1.1004/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.1.1004/main/README.md b/linux/ecosystem/testrail/6.3.1.1004/main/README.md
new file mode 100644
index 000000000..601e04da6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.3.1.1004
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.1.1004/main/apache_testrail.conf b/linux/ecosystem/testrail/6.3.1.1004/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.3.1.1004/main/docker-compose.yml b/linux/ecosystem/testrail/6.3.1.1004/main/docker-compose.yml
new file mode 100644
index 000000000..f4731e5de
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.3.1.1004"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.3.1.1004/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.1.1004/main/docker-entrypoint.sh
new file mode 100755
index 000000000..2f241e1d8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1004/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.1.1004"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ad/Dockerfile b/linux/ecosystem/testrail/6.3.1.1006/ad/Dockerfile
new file mode 100644
index 000000000..aabf9af2a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.3.1.1006
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ad/Makefile b/linux/ecosystem/testrail/6.3.1.1006/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ad/README.md b/linux/ecosystem/testrail/6.3.1.1006/ad/README.md
new file mode 100644
index 000000000..cd279599f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.3.1.1006
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ad/docker-compose.yml b/linux/ecosystem/testrail/6.3.1.1006/ad/docker-compose.yml
new file mode 100644
index 000000000..cdc92601a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.3.1.1006"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.1.1006/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..d81abb8a3
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.1.1006 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ldap/Dockerfile b/linux/ecosystem/testrail/6.3.1.1006/ldap/Dockerfile
new file mode 100644
index 000000000..9c9a4c53b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.3.1.1006
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ldap/Makefile b/linux/ecosystem/testrail/6.3.1.1006/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ldap/README.md b/linux/ecosystem/testrail/6.3.1.1006/ldap/README.md
new file mode 100644
index 000000000..9439a83be
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.3.1.1006
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.3.1.1006/ldap/docker-compose.yml
new file mode 100644
index 000000000..4c52c46c4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.3.1.1006"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.3.1.1006/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.1.1006/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..0e5d8d3dd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.1.1006 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.3.1.1006/main/.env b/linux/ecosystem/testrail/6.3.1.1006/main/.env
new file mode 100644
index 000000000..dc488af35
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.3.1.1006
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.3.1.1006/main/Dockerfile b/linux/ecosystem/testrail/6.3.1.1006/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.3.1.1006/main/Makefile b/linux/ecosystem/testrail/6.3.1.1006/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.3.1.1006/main/README.md b/linux/ecosystem/testrail/6.3.1.1006/main/README.md
new file mode 100644
index 000000000..524db23d7
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.3.1.1006
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.3.1.1006/main/apache_testrail.conf b/linux/ecosystem/testrail/6.3.1.1006/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.3.1.1006/main/docker-compose.yml b/linux/ecosystem/testrail/6.3.1.1006/main/docker-compose.yml
new file mode 100644
index 000000000..99814ea55
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.3.1.1006"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.3.1.1006/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.3.1.1006/main/docker-entrypoint.sh
new file mode 100755
index 000000000..ef8a1693f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.3.1.1006/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.3.1.1006"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ad/Dockerfile b/linux/ecosystem/testrail/6.4.0.1284/ad/Dockerfile
new file mode 100644
index 000000000..3fe581951
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.4.0.1284
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ad/Makefile b/linux/ecosystem/testrail/6.4.0.1284/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ad/README.md b/linux/ecosystem/testrail/6.4.0.1284/ad/README.md
new file mode 100644
index 000000000..339ecc1ef
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.4.0.1284
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ad/docker-compose.yml b/linux/ecosystem/testrail/6.4.0.1284/ad/docker-compose.yml
new file mode 100644
index 000000000..4c2bcbac7
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.4.0.1284"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.4.0.1284/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..da01aefcf
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.4.0.1284 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ldap/Dockerfile b/linux/ecosystem/testrail/6.4.0.1284/ldap/Dockerfile
new file mode 100644
index 000000000..88086216f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.4.0.1284
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ldap/Makefile b/linux/ecosystem/testrail/6.4.0.1284/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ldap/README.md b/linux/ecosystem/testrail/6.4.0.1284/ldap/README.md
new file mode 100644
index 000000000..d9a934cad
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.4.0.1284
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.4.0.1284/ldap/docker-compose.yml
new file mode 100644
index 000000000..201589bbf
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.4.0.1284"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.4.0.1284/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.4.0.1284/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..a8ac11b44
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.4.0.1284 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.4.0.1284/main/.env b/linux/ecosystem/testrail/6.4.0.1284/main/.env
new file mode 100644
index 000000000..064fe9e56
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.4.0.1284
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.4.0.1284/main/Dockerfile b/linux/ecosystem/testrail/6.4.0.1284/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.4.0.1284/main/Makefile b/linux/ecosystem/testrail/6.4.0.1284/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.4.0.1284/main/README.md b/linux/ecosystem/testrail/6.4.0.1284/main/README.md
new file mode 100644
index 000000000..e7b984c30
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.4.0.1284
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.4.0.1284/main/apache_testrail.conf b/linux/ecosystem/testrail/6.4.0.1284/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.4.0.1284/main/docker-compose.yml b/linux/ecosystem/testrail/6.4.0.1284/main/docker-compose.yml
new file mode 100644
index 000000000..b75e840c0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.4.0.1284"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.4.0.1284/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.4.0.1284/main/docker-entrypoint.sh
new file mode 100755
index 000000000..d3992227a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1284/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.4.0.1284"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ad/Dockerfile b/linux/ecosystem/testrail/6.4.0.1293/ad/Dockerfile
new file mode 100644
index 000000000..fc9ea0148
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.4.0.1293
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ad/Makefile b/linux/ecosystem/testrail/6.4.0.1293/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ad/README.md b/linux/ecosystem/testrail/6.4.0.1293/ad/README.md
new file mode 100644
index 000000000..0308c7ed6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.4.0.1293
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ad/docker-compose.yml b/linux/ecosystem/testrail/6.4.0.1293/ad/docker-compose.yml
new file mode 100644
index 000000000..d15006b19
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.4.0.1293"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.4.0.1293/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..6fa097cb9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.4.0.1293 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ldap/Dockerfile b/linux/ecosystem/testrail/6.4.0.1293/ldap/Dockerfile
new file mode 100644
index 000000000..dfbbac821
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.4.0.1293
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ldap/Makefile b/linux/ecosystem/testrail/6.4.0.1293/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ldap/README.md b/linux/ecosystem/testrail/6.4.0.1293/ldap/README.md
new file mode 100644
index 000000000..65a314bf1
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.4.0.1293
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.4.0.1293/ldap/docker-compose.yml
new file mode 100644
index 000000000..f0aa7b40d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.4.0.1293"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.4.0.1293/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.4.0.1293/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..3b7e46670
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.4.0.1293 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.4.0.1293/main/.env b/linux/ecosystem/testrail/6.4.0.1293/main/.env
new file mode 100644
index 000000000..a77fa9697
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.4.0.1293
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion71.zip
diff --git a/linux/ecosystem/testrail/6.4.0.1293/main/Dockerfile b/linux/ecosystem/testrail/6.4.0.1293/main/Dockerfile
new file mode 100644
index 000000000..9e64aa53a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.4.0.1293/main/Makefile b/linux/ecosystem/testrail/6.4.0.1293/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.4.0.1293/main/README.md b/linux/ecosystem/testrail/6.4.0.1293/main/README.md
new file mode 100644
index 000000000..b5c91e421
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.4.0.1293
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.4.0.1293/main/apache_testrail.conf b/linux/ecosystem/testrail/6.4.0.1293/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.4.0.1293/main/docker-compose.yml b/linux/ecosystem/testrail/6.4.0.1293/main/docker-compose.yml
new file mode 100644
index 000000000..922c04aa4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.4.0.1293"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.4.0.1293/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.4.0.1293/main/docker-entrypoint.sh
new file mode 100755
index 000000000..70b606990
--- /dev/null
+++ b/linux/ecosystem/testrail/6.4.0.1293/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.4.0.1293"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ad/Dockerfile b/linux/ecosystem/testrail/6.5.0.1298/ad/Dockerfile
new file mode 100644
index 000000000..f55bdadce
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.0.1298
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ad/Makefile b/linux/ecosystem/testrail/6.5.0.1298/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ad/README.md b/linux/ecosystem/testrail/6.5.0.1298/ad/README.md
new file mode 100644
index 000000000..35d53f4c5
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.5.0.1298
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ad/docker-compose.yml b/linux/ecosystem/testrail/6.5.0.1298/ad/docker-compose.yml
new file mode 100644
index 000000000..f2290f7cf
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.5.0.1298"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.0.1298/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..ee98786f0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.0.1298 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ldap/Dockerfile b/linux/ecosystem/testrail/6.5.0.1298/ldap/Dockerfile
new file mode 100644
index 000000000..79dd07b62
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.0.1298
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ldap/Makefile b/linux/ecosystem/testrail/6.5.0.1298/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ldap/README.md b/linux/ecosystem/testrail/6.5.0.1298/ldap/README.md
new file mode 100644
index 000000000..2d37e59e9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.5.0.1298
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.5.0.1298/ldap/docker-compose.yml
new file mode 100644
index 000000000..46c5fc410
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.5.0.1298"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.0.1298/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.0.1298/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..10a80b751
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.0.1298 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.0.1298/main/.env b/linux/ecosystem/testrail/6.5.0.1298/main/.env
new file mode 100644
index 000000000..087de10f2
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.5.0.1298
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.5.0.1298/main/Dockerfile b/linux/ecosystem/testrail/6.5.0.1298/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.5.0.1298/main/Makefile b/linux/ecosystem/testrail/6.5.0.1298/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/latest/ad/README.md b/linux/ecosystem/testrail/6.5.0.1298/main/README.md
similarity index 94%
rename from linux/ecosystem/testrail/latest/ad/README.md
rename to linux/ecosystem/testrail/6.5.0.1298/main/README.md
index 1aae0e92d..aaf876a98 100644
--- a/linux/ecosystem/testrail/latest/ad/README.md
+++ b/linux/ecosystem/testrail/6.5.0.1298/main/README.md
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:6.5.0.1298
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/6.5.0.1298/main/apache_testrail.conf b/linux/ecosystem/testrail/6.5.0.1298/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.0.1298/main/docker-compose.yml b/linux/ecosystem/testrail/6.5.0.1298/main/docker-compose.yml
new file mode 100644
index 000000000..0ac06a951
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.5.0.1298"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.0.1298/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.0.1298/main/docker-entrypoint.sh
new file mode 100755
index 000000000..79a026696
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.0.1298/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.0.1298"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ad/Dockerfile b/linux/ecosystem/testrail/6.5.1.1002/ad/Dockerfile
new file mode 100644
index 000000000..a6a7ff4d9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.1.1002
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ad/Makefile b/linux/ecosystem/testrail/6.5.1.1002/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ad/README.md b/linux/ecosystem/testrail/6.5.1.1002/ad/README.md
new file mode 100644
index 000000000..bd5c81d10
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.5.1.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ad/docker-compose.yml b/linux/ecosystem/testrail/6.5.1.1002/ad/docker-compose.yml
new file mode 100644
index 000000000..ca12bdcc4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.5.1.1002"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.1.1002/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..ba95027f4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.1.1002 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ldap/Dockerfile b/linux/ecosystem/testrail/6.5.1.1002/ldap/Dockerfile
new file mode 100644
index 000000000..195202cb0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.1.1002
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ldap/Makefile b/linux/ecosystem/testrail/6.5.1.1002/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ldap/README.md b/linux/ecosystem/testrail/6.5.1.1002/ldap/README.md
new file mode 100644
index 000000000..a467d5783
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.5.1.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.5.1.1002/ldap/docker-compose.yml
new file mode 100644
index 000000000..143b315e4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.5.1.1002"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.1.1002/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.1.1002/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..08b0ebdcd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.1.1002 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.1.1002/main/.env b/linux/ecosystem/testrail/6.5.1.1002/main/.env
new file mode 100644
index 000000000..86829ad0a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.5.1.1002
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.5.1.1002/main/Dockerfile b/linux/ecosystem/testrail/6.5.1.1002/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.5.1.1002/main/Makefile b/linux/ecosystem/testrail/6.5.1.1002/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/latest/main/README.md b/linux/ecosystem/testrail/6.5.1.1002/main/README.md
similarity index 94%
rename from linux/ecosystem/testrail/latest/main/README.md
rename to linux/ecosystem/testrail/6.5.1.1002/main/README.md
index 1aae0e92d..a2840eb68 100644
--- a/linux/ecosystem/testrail/latest/main/README.md
+++ b/linux/ecosystem/testrail/6.5.1.1002/main/README.md
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:6.5.1.1002
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/6.5.1.1002/main/apache_testrail.conf b/linux/ecosystem/testrail/6.5.1.1002/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.1.1002/main/docker-compose.yml b/linux/ecosystem/testrail/6.5.1.1002/main/docker-compose.yml
new file mode 100644
index 000000000..816f6a82a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.5.1.1002"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.1.1002/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.1.1002/main/docker-entrypoint.sh
new file mode 100755
index 000000000..a9da8173b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.1.1002/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.1.1002"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ad/Dockerfile b/linux/ecosystem/testrail/6.5.3.1001/ad/Dockerfile
new file mode 100644
index 000000000..50b36c1e4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.3.1001
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ad/Makefile b/linux/ecosystem/testrail/6.5.3.1001/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ad/README.md b/linux/ecosystem/testrail/6.5.3.1001/ad/README.md
new file mode 100644
index 000000000..2ad6d4e44
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.5.3.1001
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ad/docker-compose.yml b/linux/ecosystem/testrail/6.5.3.1001/ad/docker-compose.yml
new file mode 100644
index 000000000..5352516ec
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.5.3.1001"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.3.1001/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..48894e5d5
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.3.1001 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ldap/Dockerfile b/linux/ecosystem/testrail/6.5.3.1001/ldap/Dockerfile
new file mode 100644
index 000000000..3b6bafc92
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.3.1001
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ldap/Makefile b/linux/ecosystem/testrail/6.5.3.1001/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ldap/README.md b/linux/ecosystem/testrail/6.5.3.1001/ldap/README.md
new file mode 100644
index 000000000..4a1af278e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.5.3.1001
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.5.3.1001/ldap/docker-compose.yml
new file mode 100644
index 000000000..af6eb7ccd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.5.3.1001"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.3.1001/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.3.1001/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..ff8609bf2
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.3.1001 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.3.1001/main/.env b/linux/ecosystem/testrail/6.5.3.1001/main/.env
new file mode 100644
index 000000000..6465414ce
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.5.3.1001
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.5.3.1001/main/Dockerfile b/linux/ecosystem/testrail/6.5.3.1001/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.5.3.1001/main/Makefile b/linux/ecosystem/testrail/6.5.3.1001/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/latest/ldap/README.md b/linux/ecosystem/testrail/6.5.3.1001/main/README.md
similarity index 94%
rename from linux/ecosystem/testrail/latest/ldap/README.md
rename to linux/ecosystem/testrail/6.5.3.1001/main/README.md
index 1aae0e92d..3ef1a7ee8 100644
--- a/linux/ecosystem/testrail/latest/ldap/README.md
+++ b/linux/ecosystem/testrail/6.5.3.1001/main/README.md
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:6.5.3.1001
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/6.5.3.1001/main/apache_testrail.conf b/linux/ecosystem/testrail/6.5.3.1001/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.3.1001/main/docker-compose.yml b/linux/ecosystem/testrail/6.5.3.1001/main/docker-compose.yml
new file mode 100644
index 000000000..87fa34928
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.5.3.1001"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.3.1001/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.3.1001/main/docker-entrypoint.sh
new file mode 100755
index 000000000..1f7d3c9ed
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.3.1001/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.3.1001"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ad/Dockerfile b/linux/ecosystem/testrail/6.5.4.1002/ad/Dockerfile
new file mode 100644
index 000000000..7097935a7
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.4.1002
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ad/Makefile b/linux/ecosystem/testrail/6.5.4.1002/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ad/README.md b/linux/ecosystem/testrail/6.5.4.1002/ad/README.md
new file mode 100644
index 000000000..755b91b6c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.5.4.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ad/docker-compose.yml b/linux/ecosystem/testrail/6.5.4.1002/ad/docker-compose.yml
new file mode 100644
index 000000000..e64a3349b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.5.4.1002"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.4.1002/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..bd159c612
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.4.1002 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ldap/Dockerfile b/linux/ecosystem/testrail/6.5.4.1002/ldap/Dockerfile
new file mode 100644
index 000000000..86d328ea6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.4.1002
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ldap/Makefile b/linux/ecosystem/testrail/6.5.4.1002/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ldap/README.md b/linux/ecosystem/testrail/6.5.4.1002/ldap/README.md
new file mode 100644
index 000000000..3a8337d46
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.5.4.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.5.4.1002/ldap/docker-compose.yml
new file mode 100644
index 000000000..8d3aa189a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.5.4.1002"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.4.1002/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.4.1002/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..c2edf2017
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.4.1002 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.4.1002/main/.env b/linux/ecosystem/testrail/6.5.4.1002/main/.env
new file mode 100644
index 000000000..04eedd46f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.5.4.1002
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.5.4.1002/main/Dockerfile b/linux/ecosystem/testrail/6.5.4.1002/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.5.4.1002/main/Makefile b/linux/ecosystem/testrail/6.5.4.1002/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.4.1002/main/README.md b/linux/ecosystem/testrail/6.5.4.1002/main/README.md
new file mode 100644
index 000000000..cc7f6305d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.5.4.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.4.1002/main/apache_testrail.conf b/linux/ecosystem/testrail/6.5.4.1002/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.4.1002/main/docker-compose.yml b/linux/ecosystem/testrail/6.5.4.1002/main/docker-compose.yml
new file mode 100644
index 000000000..201d70664
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.5.4.1002"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.4.1002/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.4.1002/main/docker-entrypoint.sh
new file mode 100755
index 000000000..b8e970b18
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1002/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.4.1002"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ad/Dockerfile b/linux/ecosystem/testrail/6.5.4.1007/ad/Dockerfile
new file mode 100644
index 000000000..f378337c1
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.4.1007
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ad/Makefile b/linux/ecosystem/testrail/6.5.4.1007/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ad/README.md b/linux/ecosystem/testrail/6.5.4.1007/ad/README.md
new file mode 100644
index 000000000..6175e3519
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.5.4.1007
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ad/docker-compose.yml b/linux/ecosystem/testrail/6.5.4.1007/ad/docker-compose.yml
new file mode 100644
index 000000000..f68a80c35
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.5.4.1007"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.4.1007/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..208bc877d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.4.1007 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ldap/Dockerfile b/linux/ecosystem/testrail/6.5.4.1007/ldap/Dockerfile
new file mode 100644
index 000000000..40e5f2ffa
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.4.1007
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ldap/Makefile b/linux/ecosystem/testrail/6.5.4.1007/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ldap/README.md b/linux/ecosystem/testrail/6.5.4.1007/ldap/README.md
new file mode 100644
index 000000000..6f90363d8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.5.4.1007
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.5.4.1007/ldap/docker-compose.yml
new file mode 100644
index 000000000..6819cb402
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.5.4.1007"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.4.1007/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.4.1007/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..af408eecf
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.4.1007 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.4.1007/main/.env b/linux/ecosystem/testrail/6.5.4.1007/main/.env
new file mode 100644
index 000000000..935ceef6c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.5.4.1007
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.5.4.1007/main/Dockerfile b/linux/ecosystem/testrail/6.5.4.1007/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.5.4.1007/main/Makefile b/linux/ecosystem/testrail/6.5.4.1007/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.4.1007/main/README.md b/linux/ecosystem/testrail/6.5.4.1007/main/README.md
new file mode 100644
index 000000000..6f143049d
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.5.4.1007
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.4.1007/main/apache_testrail.conf b/linux/ecosystem/testrail/6.5.4.1007/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.4.1007/main/docker-compose.yml b/linux/ecosystem/testrail/6.5.4.1007/main/docker-compose.yml
new file mode 100644
index 000000000..6a7ead3bb
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.5.4.1007"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.4.1007/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.4.1007/main/docker-entrypoint.sh
new file mode 100755
index 000000000..c3bb43bcd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.4.1007/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.4.1007"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ad/Dockerfile b/linux/ecosystem/testrail/6.5.5.1009/ad/Dockerfile
new file mode 100644
index 000000000..39a255688
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.5.1009
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ad/Makefile b/linux/ecosystem/testrail/6.5.5.1009/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ad/README.md b/linux/ecosystem/testrail/6.5.5.1009/ad/README.md
new file mode 100644
index 000000000..6f9123636
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.5.5.1009
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ad/docker-compose.yml b/linux/ecosystem/testrail/6.5.5.1009/ad/docker-compose.yml
new file mode 100644
index 000000000..dcc194a9b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.5.5.1009"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.5.1009/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..671fabcce
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.5.1009 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ldap/Dockerfile b/linux/ecosystem/testrail/6.5.5.1009/ldap/Dockerfile
new file mode 100644
index 000000000..422a7129e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.5.1009
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ldap/Makefile b/linux/ecosystem/testrail/6.5.5.1009/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ldap/README.md b/linux/ecosystem/testrail/6.5.5.1009/ldap/README.md
new file mode 100644
index 000000000..12babd2fb
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.5.5.1009
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.5.5.1009/ldap/docker-compose.yml
new file mode 100644
index 000000000..db422e17f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.5.5.1009"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.5.1009/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.5.1009/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..12c7ff3f6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.5.1009 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.5.1009/main/.env b/linux/ecosystem/testrail/6.5.5.1009/main/.env
new file mode 100644
index 000000000..146b97a50
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.5.5.1009
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.5.5.1009/main/Dockerfile b/linux/ecosystem/testrail/6.5.5.1009/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.5.5.1009/main/Makefile b/linux/ecosystem/testrail/6.5.5.1009/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.5.1009/main/README.md b/linux/ecosystem/testrail/6.5.5.1009/main/README.md
new file mode 100644
index 000000000..1e65b480e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.5.5.1009
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.5.1009/main/apache_testrail.conf b/linux/ecosystem/testrail/6.5.5.1009/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.5.1009/main/docker-compose.yml b/linux/ecosystem/testrail/6.5.5.1009/main/docker-compose.yml
new file mode 100644
index 000000000..0794ade77
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.5.5.1009"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.5.1009/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.5.1009/main/docker-entrypoint.sh
new file mode 100755
index 000000000..f6f0e4789
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.5.1009/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.5.1009"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ad/Dockerfile b/linux/ecosystem/testrail/6.5.6.1014/ad/Dockerfile
new file mode 100644
index 000000000..7c09d1cb6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.6.1014
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ad/Makefile b/linux/ecosystem/testrail/6.5.6.1014/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ad/README.md b/linux/ecosystem/testrail/6.5.6.1014/ad/README.md
new file mode 100644
index 000000000..777757ca2
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.5.6.1014
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ad/docker-compose.yml b/linux/ecosystem/testrail/6.5.6.1014/ad/docker-compose.yml
new file mode 100644
index 000000000..81e693019
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.5.6.1014"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.6.1014/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..a33155ce0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.6.1014 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ldap/Dockerfile b/linux/ecosystem/testrail/6.5.6.1014/ldap/Dockerfile
new file mode 100644
index 000000000..189ef667f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.6.1014
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ldap/Makefile b/linux/ecosystem/testrail/6.5.6.1014/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ldap/README.md b/linux/ecosystem/testrail/6.5.6.1014/ldap/README.md
new file mode 100644
index 000000000..cca95902c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.5.6.1014
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.5.6.1014/ldap/docker-compose.yml
new file mode 100644
index 000000000..2f6ea0a0a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.5.6.1014"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.6.1014/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.6.1014/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..c270ee01a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.6.1014 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.6.1014/main/.env b/linux/ecosystem/testrail/6.5.6.1014/main/.env
new file mode 100644
index 000000000..559c35ce0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.5.6.1014
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.5.6.1014/main/Dockerfile b/linux/ecosystem/testrail/6.5.6.1014/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.5.6.1014/main/Makefile b/linux/ecosystem/testrail/6.5.6.1014/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.6.1014/main/README.md b/linux/ecosystem/testrail/6.5.6.1014/main/README.md
new file mode 100644
index 000000000..d20394a42
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.5.6.1014
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.6.1014/main/apache_testrail.conf b/linux/ecosystem/testrail/6.5.6.1014/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.6.1014/main/docker-compose.yml b/linux/ecosystem/testrail/6.5.6.1014/main/docker-compose.yml
new file mode 100644
index 000000000..857f806e2
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.5.6.1014"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.6.1014/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.6.1014/main/docker-entrypoint.sh
new file mode 100755
index 000000000..6e622ecfc
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.6.1014/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.6.1014"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ad/Dockerfile b/linux/ecosystem/testrail/6.5.7.1000/ad/Dockerfile
new file mode 100644
index 000000000..c80869aef
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.7.1000
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ad/Makefile b/linux/ecosystem/testrail/6.5.7.1000/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ad/README.md b/linux/ecosystem/testrail/6.5.7.1000/ad/README.md
new file mode 100644
index 000000000..bb45159b0
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.5.7.1000
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ad/docker-compose.yml b/linux/ecosystem/testrail/6.5.7.1000/ad/docker-compose.yml
new file mode 100644
index 000000000..38b6125b8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.5.7.1000"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.7.1000/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..c3ff1d48e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.7.1000 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ldap/Dockerfile b/linux/ecosystem/testrail/6.5.7.1000/ldap/Dockerfile
new file mode 100644
index 000000000..8c3fc2324
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.5.7.1000
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ldap/Makefile b/linux/ecosystem/testrail/6.5.7.1000/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ldap/README.md b/linux/ecosystem/testrail/6.5.7.1000/ldap/README.md
new file mode 100644
index 000000000..cf08e191a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.5.7.1000
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.5.7.1000/ldap/docker-compose.yml
new file mode 100644
index 000000000..5a865202c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.5.7.1000"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.5.7.1000/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.7.1000/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..e8170d7a8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.7.1000 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.5.7.1000/main/.env b/linux/ecosystem/testrail/6.5.7.1000/main/.env
new file mode 100644
index 000000000..10836334b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.5.7.1000
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.5.7.1000/main/Dockerfile b/linux/ecosystem/testrail/6.5.7.1000/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.5.7.1000/main/Makefile b/linux/ecosystem/testrail/6.5.7.1000/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.5.7.1000/main/README.md b/linux/ecosystem/testrail/6.5.7.1000/main/README.md
new file mode 100644
index 000000000..6966b997b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.5.7.1000
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.5.7.1000/main/apache_testrail.conf b/linux/ecosystem/testrail/6.5.7.1000/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.7.1000/main/docker-compose.yml b/linux/ecosystem/testrail/6.5.7.1000/main/docker-compose.yml
new file mode 100644
index 000000000..09acb9348
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.5.7.1000"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.5.7.1000/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.5.7.1000/main/docker-entrypoint.sh
new file mode 100755
index 000000000..790ac6fa4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.5.7.1000/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.5.7.1000"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ad/Dockerfile b/linux/ecosystem/testrail/6.6.0.1156/ad/Dockerfile
new file mode 100644
index 000000000..68fd4a3bd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.6.0.1156
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ad/Makefile b/linux/ecosystem/testrail/6.6.0.1156/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ad/README.md b/linux/ecosystem/testrail/6.6.0.1156/ad/README.md
new file mode 100644
index 000000000..69daf28b3
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.6.0.1156
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ad/docker-compose.yml b/linux/ecosystem/testrail/6.6.0.1156/ad/docker-compose.yml
new file mode 100644
index 000000000..80124486f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.6.0.1156"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.6.0.1156/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..da4d6b156
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.6.0.1156 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ldap/Dockerfile b/linux/ecosystem/testrail/6.6.0.1156/ldap/Dockerfile
new file mode 100644
index 000000000..2ebaba34c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.6.0.1156
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ldap/Makefile b/linux/ecosystem/testrail/6.6.0.1156/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ldap/README.md b/linux/ecosystem/testrail/6.6.0.1156/ldap/README.md
new file mode 100644
index 000000000..429413bc6
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.6.0.1156
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.6.0.1156/ldap/docker-compose.yml
new file mode 100644
index 000000000..118d70ccd
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.6.0.1156"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.6.0.1156/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.6.0.1156/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..d62f5d22e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.6.0.1156 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.6.0.1156/main/.env b/linux/ecosystem/testrail/6.6.0.1156/main/.env
new file mode 100644
index 000000000..10e8b0711
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.6.0.1156
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.6.0.1156/main/Dockerfile b/linux/ecosystem/testrail/6.6.0.1156/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.6.0.1156/main/Makefile b/linux/ecosystem/testrail/6.6.0.1156/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.6.0.1156/main/README.md b/linux/ecosystem/testrail/6.6.0.1156/main/README.md
new file mode 100644
index 000000000..714bde140
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.6.0.1156
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.6.0.1156/main/apache_testrail.conf b/linux/ecosystem/testrail/6.6.0.1156/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.6.0.1156/main/docker-compose.yml b/linux/ecosystem/testrail/6.6.0.1156/main/docker-compose.yml
new file mode 100644
index 000000000..f18469077
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.6.0.1156"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.6.0.1156/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.6.0.1156/main/docker-entrypoint.sh
new file mode 100755
index 000000000..b53f5e0ed
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.0.1156/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.6.0.1156"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ad/Dockerfile b/linux/ecosystem/testrail/6.6.1.1166/ad/Dockerfile
new file mode 100644
index 000000000..5be518a0a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.6.1.1166
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ad/Makefile b/linux/ecosystem/testrail/6.6.1.1166/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ad/README.md b/linux/ecosystem/testrail/6.6.1.1166/ad/README.md
new file mode 100644
index 000000000..0f37da047
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.6.1.1166
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ad/docker-compose.yml b/linux/ecosystem/testrail/6.6.1.1166/ad/docker-compose.yml
new file mode 100644
index 000000000..5529489d5
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.6.1.1166"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.6.1.1166/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..36860ec3c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.6.1.1166 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ldap/Dockerfile b/linux/ecosystem/testrail/6.6.1.1166/ldap/Dockerfile
new file mode 100644
index 000000000..03a5b5e9f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.6.1.1166
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ldap/Makefile b/linux/ecosystem/testrail/6.6.1.1166/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ldap/README.md b/linux/ecosystem/testrail/6.6.1.1166/ldap/README.md
new file mode 100644
index 000000000..9aaf4910c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.6.1.1166
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.6.1.1166/ldap/docker-compose.yml
new file mode 100644
index 000000000..3112ad418
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.6.1.1166"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.6.1.1166/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.6.1.1166/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..991acdb38
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.6.1.1166 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.6.1.1166/main/.env b/linux/ecosystem/testrail/6.6.1.1166/main/.env
new file mode 100644
index 000000000..582820b1a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.6.1.1166
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.6.1.1166/main/Dockerfile b/linux/ecosystem/testrail/6.6.1.1166/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.6.1.1166/main/Makefile b/linux/ecosystem/testrail/6.6.1.1166/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.6.1.1166/main/README.md b/linux/ecosystem/testrail/6.6.1.1166/main/README.md
new file mode 100644
index 000000000..1edfa7c3a
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.6.1.1166
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.6.1.1166/main/apache_testrail.conf b/linux/ecosystem/testrail/6.6.1.1166/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.6.1.1166/main/docker-compose.yml b/linux/ecosystem/testrail/6.6.1.1166/main/docker-compose.yml
new file mode 100644
index 000000000..8544c9779
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.6.1.1166"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.6.1.1166/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.6.1.1166/main/docker-entrypoint.sh
new file mode 100755
index 000000000..b6fa1fd5e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.6.1.1166/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.6.1.1166"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ad/Dockerfile b/linux/ecosystem/testrail/6.7.1.1020/ad/Dockerfile
new file mode 100644
index 000000000..4d903d337
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.7.1.1020
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ad/Makefile b/linux/ecosystem/testrail/6.7.1.1020/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ad/README.md b/linux/ecosystem/testrail/6.7.1.1020/ad/README.md
new file mode 100644
index 000000000..e6c1e618c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.7.1.1020
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ad/docker-compose.yml b/linux/ecosystem/testrail/6.7.1.1020/ad/docker-compose.yml
new file mode 100644
index 000000000..782835b36
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.7.1.1020"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.1.1020/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..a9ace7a41
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.1.1020 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ldap/Dockerfile b/linux/ecosystem/testrail/6.7.1.1020/ldap/Dockerfile
new file mode 100644
index 000000000..4e89cec8c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.7.1.1020
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ldap/Makefile b/linux/ecosystem/testrail/6.7.1.1020/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ldap/README.md b/linux/ecosystem/testrail/6.7.1.1020/ldap/README.md
new file mode 100644
index 000000000..d5b930a64
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.7.1.1020
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.7.1.1020/ldap/docker-compose.yml
new file mode 100644
index 000000000..136e81d56
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.7.1.1020"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.7.1.1020/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.1.1020/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..5a7172a56
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.1.1020 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.1.1020/main/.env b/linux/ecosystem/testrail/6.7.1.1020/main/.env
new file mode 100644
index 000000000..226e005f8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.7.1.1020
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.7.1.1020/main/Dockerfile b/linux/ecosystem/testrail/6.7.1.1020/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.7.1.1020/main/Makefile b/linux/ecosystem/testrail/6.7.1.1020/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.1.1020/main/README.md b/linux/ecosystem/testrail/6.7.1.1020/main/README.md
new file mode 100644
index 000000000..c8ffabb11
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.7.1.1020
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.1.1020/main/apache_testrail.conf b/linux/ecosystem/testrail/6.7.1.1020/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.7.1.1020/main/docker-compose.yml b/linux/ecosystem/testrail/6.7.1.1020/main/docker-compose.yml
new file mode 100644
index 000000000..3d00d4448
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.7.1.1020"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.7.1.1020/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.1.1020/main/docker-entrypoint.sh
new file mode 100755
index 000000000..5a0689b31
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.1.1020/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.1.1020"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ad/Dockerfile b/linux/ecosystem/testrail/6.7.2.1037/ad/Dockerfile
new file mode 100644
index 000000000..51f2351ea
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.7.2.1037
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ad/Makefile b/linux/ecosystem/testrail/6.7.2.1037/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ad/README.md b/linux/ecosystem/testrail/6.7.2.1037/ad/README.md
new file mode 100644
index 000000000..0f1bc7a5f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.7.2.1037
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ad/docker-compose.yml b/linux/ecosystem/testrail/6.7.2.1037/ad/docker-compose.yml
new file mode 100644
index 000000000..8ea5233f3
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.7.2.1037"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.2.1037/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..705b865da
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.2.1037 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ldap/Dockerfile b/linux/ecosystem/testrail/6.7.2.1037/ldap/Dockerfile
new file mode 100644
index 000000000..92fc369d3
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.7.2.1037
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ldap/Makefile b/linux/ecosystem/testrail/6.7.2.1037/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ldap/README.md b/linux/ecosystem/testrail/6.7.2.1037/ldap/README.md
new file mode 100644
index 000000000..4a7100e53
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.7.2.1037
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.7.2.1037/ldap/docker-compose.yml
new file mode 100644
index 000000000..e30831a47
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.7.2.1037"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.7.2.1037/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.2.1037/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..280484c16
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.2.1037 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.2.1037/main/.env b/linux/ecosystem/testrail/6.7.2.1037/main/.env
new file mode 100644
index 000000000..cbcaea13b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.7.2.1037
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.7.2.1037/main/Dockerfile b/linux/ecosystem/testrail/6.7.2.1037/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.7.2.1037/main/Makefile b/linux/ecosystem/testrail/6.7.2.1037/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.2.1037/main/README.md b/linux/ecosystem/testrail/6.7.2.1037/main/README.md
new file mode 100644
index 000000000..2685896e4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.7.2.1037
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.2.1037/main/apache_testrail.conf b/linux/ecosystem/testrail/6.7.2.1037/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.7.2.1037/main/docker-compose.yml b/linux/ecosystem/testrail/6.7.2.1037/main/docker-compose.yml
new file mode 100644
index 000000000..535449047
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.7.2.1037"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.7.2.1037/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.2.1037/main/docker-entrypoint.sh
new file mode 100755
index 000000000..9c0316faf
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1037/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.2.1037"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ad/Dockerfile b/linux/ecosystem/testrail/6.7.2.1043/ad/Dockerfile
new file mode 100644
index 000000000..75401b10c
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.7.2.1043
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ad/Makefile b/linux/ecosystem/testrail/6.7.2.1043/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ad/README.md b/linux/ecosystem/testrail/6.7.2.1043/ad/README.md
new file mode 100644
index 000000000..f0926a7e5
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:6.7.2.1043
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ad/docker-compose.yml b/linux/ecosystem/testrail/6.7.2.1043/ad/docker-compose.yml
new file mode 100644
index 000000000..f38acee3b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-6.7.2.1043"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.2.1043/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..c6267fc1e
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.2.1043 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ldap/Dockerfile b/linux/ecosystem/testrail/6.7.2.1043/ldap/Dockerfile
new file mode 100644
index 000000000..80b7734a5
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:6.7.2.1043
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ldap/Makefile b/linux/ecosystem/testrail/6.7.2.1043/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ldap/README.md b/linux/ecosystem/testrail/6.7.2.1043/ldap/README.md
new file mode 100644
index 000000000..e35cfb960
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-6.7.2.1043
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ldap/docker-compose.yml b/linux/ecosystem/testrail/6.7.2.1043/ldap/docker-compose.yml
new file mode 100644
index 000000000..01edb07e7
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-6.7.2.1043"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/6.7.2.1043/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.2.1043/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..8c43b62a8
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.2.1043 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/6.7.2.1043/main/.env b/linux/ecosystem/testrail/6.7.2.1043/main/.env
new file mode 100644
index 000000000..66777e8a1
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=6.7.2.1043
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/6.7.2.1043/main/Dockerfile b/linux/ecosystem/testrail/6.7.2.1043/main/Dockerfile
new file mode 100644
index 000000000..19bad950b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.2
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/6.7.2.1043/main/Makefile b/linux/ecosystem/testrail/6.7.2.1043/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/6.7.2.1043/main/README.md b/linux/ecosystem/testrail/6.7.2.1043/main/README.md
new file mode 100644
index 000000000..d36a0302b
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.2` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:6.7.2.1043
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/6.7.2.1043/main/apache_testrail.conf b/linux/ecosystem/testrail/6.7.2.1043/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.7.2.1043/main/docker-compose.yml b/linux/ecosystem/testrail/6.7.2.1043/main/docker-compose.yml
new file mode 100644
index 000000000..0227928d4
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:6.7.2.1043"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/6.7.2.1043/main/docker-entrypoint.sh b/linux/ecosystem/testrail/6.7.2.1043/main/docker-entrypoint.sh
new file mode 100755
index 000000000..a4927574f
--- /dev/null
+++ b/linux/ecosystem/testrail/6.7.2.1043/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 6.7.2.1043"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ad/Dockerfile b/linux/ecosystem/testrail/7.0.0.1057/ad/Dockerfile
new file mode 100644
index 000000000..15b8d4ee8
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.0.1057
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ad/Makefile b/linux/ecosystem/testrail/7.0.0.1057/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ad/README.md b/linux/ecosystem/testrail/7.0.0.1057/ad/README.md
new file mode 100644
index 000000000..aeb7d8c58
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.0.0.1057
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ad/docker-compose.yml b/linux/ecosystem/testrail/7.0.0.1057/ad/docker-compose.yml
new file mode 100644
index 000000000..fdf56b6c7
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.0.0.1057"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.0.1057/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..803100872
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.0.1057 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ldap/Dockerfile b/linux/ecosystem/testrail/7.0.0.1057/ldap/Dockerfile
new file mode 100644
index 000000000..b3e11174e
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.0.1057
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ldap/Makefile b/linux/ecosystem/testrail/7.0.0.1057/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ldap/README.md b/linux/ecosystem/testrail/7.0.0.1057/ldap/README.md
new file mode 100644
index 000000000..98130a370
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.0.0.1057
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.0.0.1057/ldap/docker-compose.yml
new file mode 100644
index 000000000..9ea88de62
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.0.0.1057"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.0.1057/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.0.1057/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..a33080ce1
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.0.1057 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.0.1057/main/.env b/linux/ecosystem/testrail/7.0.0.1057/main/.env
new file mode 100644
index 000000000..8ba046ecb
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.0.0.1057
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.0.0.1057/main/Dockerfile b/linux/ecosystem/testrail/7.0.0.1057/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.0.0.1057/main/Makefile b/linux/ecosystem/testrail/7.0.0.1057/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.0.1057/main/README.md b/linux/ecosystem/testrail/7.0.0.1057/main/README.md
new file mode 100644
index 000000000..12cdb3870
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.0.0.1057
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.0.1057/main/apache_testrail.conf b/linux/ecosystem/testrail/7.0.0.1057/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.0.1057/main/docker-compose.yml b/linux/ecosystem/testrail/7.0.0.1057/main/docker-compose.yml
new file mode 100644
index 000000000..3a4728a29
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.0.0.1057"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.0.1057/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.0.1057/main/docker-entrypoint.sh
new file mode 100755
index 000000000..06ec1d0a0
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.0.1057/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.0.1057"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ad/Dockerfile b/linux/ecosystem/testrail/7.0.1.1002/ad/Dockerfile
new file mode 100644
index 000000000..789d53b2f
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.1.1002
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ad/Makefile b/linux/ecosystem/testrail/7.0.1.1002/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ad/README.md b/linux/ecosystem/testrail/7.0.1.1002/ad/README.md
new file mode 100644
index 000000000..3d796cc45
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.0.1.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ad/docker-compose.yml b/linux/ecosystem/testrail/7.0.1.1002/ad/docker-compose.yml
new file mode 100644
index 000000000..2df562821
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.0.1.1002"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.1.1002/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..4ae36a0a8
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.1.1002 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ldap/Dockerfile b/linux/ecosystem/testrail/7.0.1.1002/ldap/Dockerfile
new file mode 100644
index 000000000..5034ffedb
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.1.1002
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ldap/Makefile b/linux/ecosystem/testrail/7.0.1.1002/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ldap/README.md b/linux/ecosystem/testrail/7.0.1.1002/ldap/README.md
new file mode 100644
index 000000000..abc54d869
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.0.1.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.0.1.1002/ldap/docker-compose.yml
new file mode 100644
index 000000000..b1c9e1093
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.0.1.1002"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.1.1002/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.1.1002/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..5903d5fe9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.1.1002 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.1.1002/main/.env b/linux/ecosystem/testrail/7.0.1.1002/main/.env
new file mode 100644
index 000000000..f615e749d
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.0.1.1002
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.0.1.1002/main/Dockerfile b/linux/ecosystem/testrail/7.0.1.1002/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.0.1.1002/main/Makefile b/linux/ecosystem/testrail/7.0.1.1002/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.1.1002/main/README.md b/linux/ecosystem/testrail/7.0.1.1002/main/README.md
new file mode 100644
index 000000000..801c0a18c
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.0.1.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.1.1002/main/apache_testrail.conf b/linux/ecosystem/testrail/7.0.1.1002/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.1.1002/main/docker-compose.yml b/linux/ecosystem/testrail/7.0.1.1002/main/docker-compose.yml
new file mode 100644
index 000000000..7060fc75d
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.0.1.1002"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.1.1002/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.1.1002/main/docker-entrypoint.sh
new file mode 100755
index 000000000..ed8e7153f
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1002/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.1.1002"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ad/Dockerfile b/linux/ecosystem/testrail/7.0.1.1013/ad/Dockerfile
new file mode 100644
index 000000000..dbf68ca10
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.1.1013
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ad/Makefile b/linux/ecosystem/testrail/7.0.1.1013/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ad/README.md b/linux/ecosystem/testrail/7.0.1.1013/ad/README.md
new file mode 100644
index 000000000..f6146b377
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.0.1.1013
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ad/docker-compose.yml b/linux/ecosystem/testrail/7.0.1.1013/ad/docker-compose.yml
new file mode 100644
index 000000000..a6a41a06d
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.0.1.1013"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.1.1013/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..812e05f6a
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.1.1013 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ldap/Dockerfile b/linux/ecosystem/testrail/7.0.1.1013/ldap/Dockerfile
new file mode 100644
index 000000000..de6244ae5
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.1.1013
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ldap/Makefile b/linux/ecosystem/testrail/7.0.1.1013/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ldap/README.md b/linux/ecosystem/testrail/7.0.1.1013/ldap/README.md
new file mode 100644
index 000000000..1ec9865b5
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.0.1.1013
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.0.1.1013/ldap/docker-compose.yml
new file mode 100644
index 000000000..67d282952
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.0.1.1013"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.1.1013/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.1.1013/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..1230e891a
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.1.1013 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.1.1013/main/.env b/linux/ecosystem/testrail/7.0.1.1013/main/.env
new file mode 100644
index 000000000..45798e1a7
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.0.1.1013
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.0.1.1013/main/Dockerfile b/linux/ecosystem/testrail/7.0.1.1013/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.0.1.1013/main/Makefile b/linux/ecosystem/testrail/7.0.1.1013/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.1.1013/main/README.md b/linux/ecosystem/testrail/7.0.1.1013/main/README.md
new file mode 100644
index 000000000..0e18763e9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.0.1.1013
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.1.1013/main/apache_testrail.conf b/linux/ecosystem/testrail/7.0.1.1013/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.1.1013/main/docker-compose.yml b/linux/ecosystem/testrail/7.0.1.1013/main/docker-compose.yml
new file mode 100644
index 000000000..e92580dc2
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.0.1.1013"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.1.1013/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.1.1013/main/docker-entrypoint.sh
new file mode 100755
index 000000000..cdab9e3d5
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.1.1013/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.1.1013"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ad/Dockerfile b/linux/ecosystem/testrail/7.0.2.1014/ad/Dockerfile
new file mode 100644
index 000000000..9530edb4e
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.2.1014
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ad/Makefile b/linux/ecosystem/testrail/7.0.2.1014/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ad/README.md b/linux/ecosystem/testrail/7.0.2.1014/ad/README.md
new file mode 100644
index 000000000..2a2336882
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.0.2.1014
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ad/docker-compose.yml b/linux/ecosystem/testrail/7.0.2.1014/ad/docker-compose.yml
new file mode 100644
index 000000000..d1fc8c7da
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.0.2.1014"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1014/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..0b1497d94
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.2.1014 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ldap/Dockerfile b/linux/ecosystem/testrail/7.0.2.1014/ldap/Dockerfile
new file mode 100644
index 000000000..f18b10070
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.2.1014
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ldap/Makefile b/linux/ecosystem/testrail/7.0.2.1014/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ldap/README.md b/linux/ecosystem/testrail/7.0.2.1014/ldap/README.md
new file mode 100644
index 000000000..b4090ec3d
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.0.2.1014
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.0.2.1014/ldap/docker-compose.yml
new file mode 100644
index 000000000..6e8089fe9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.0.2.1014"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.2.1014/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1014/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..e6659b208
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.2.1014 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.2.1014/main/.env b/linux/ecosystem/testrail/7.0.2.1014/main/.env
new file mode 100644
index 000000000..f8d5c0400
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.0.2.1014
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.0.2.1014/main/Dockerfile b/linux/ecosystem/testrail/7.0.2.1014/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.0.2.1014/main/Makefile b/linux/ecosystem/testrail/7.0.2.1014/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.2.1014/main/README.md b/linux/ecosystem/testrail/7.0.2.1014/main/README.md
new file mode 100644
index 000000000..bf018e1f1
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.0.2.1014
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.2.1014/main/apache_testrail.conf b/linux/ecosystem/testrail/7.0.2.1014/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.2.1014/main/docker-compose.yml b/linux/ecosystem/testrail/7.0.2.1014/main/docker-compose.yml
new file mode 100644
index 000000000..a2bca0853
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.0.2.1014"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.2.1014/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1014/main/docker-entrypoint.sh
new file mode 100755
index 000000000..3c1b997ca
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1014/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.2.1014"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ad/Dockerfile b/linux/ecosystem/testrail/7.0.2.1015/ad/Dockerfile
new file mode 100644
index 000000000..8cfff21f5
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.2.1015
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ad/Makefile b/linux/ecosystem/testrail/7.0.2.1015/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ad/README.md b/linux/ecosystem/testrail/7.0.2.1015/ad/README.md
new file mode 100644
index 000000000..ae5101a1b
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.0.2.1015
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ad/docker-compose.yml b/linux/ecosystem/testrail/7.0.2.1015/ad/docker-compose.yml
new file mode 100644
index 000000000..1a7a46321
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.0.2.1015"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1015/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..dd95921b0
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.2.1015 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ldap/Dockerfile b/linux/ecosystem/testrail/7.0.2.1015/ldap/Dockerfile
new file mode 100644
index 000000000..f8785d98c
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.0.2.1015
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ldap/Makefile b/linux/ecosystem/testrail/7.0.2.1015/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ldap/README.md b/linux/ecosystem/testrail/7.0.2.1015/ldap/README.md
new file mode 100644
index 000000000..46444f638
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.0.2.1015
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.0.2.1015/ldap/docker-compose.yml
new file mode 100644
index 000000000..20274e470
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.0.2.1015"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.0.2.1015/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1015/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..1b961f4c3
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.2.1015 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.2.1015/main/.env b/linux/ecosystem/testrail/7.0.2.1015/main/.env
new file mode 100644
index 000000000..2f8c5efdd
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.0.2.1015
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.0.2.1015/main/Dockerfile b/linux/ecosystem/testrail/7.0.2.1015/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.0.2.1015/main/Makefile b/linux/ecosystem/testrail/7.0.2.1015/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.0.2.1015/main/README.md b/linux/ecosystem/testrail/7.0.2.1015/main/README.md
new file mode 100644
index 000000000..f56a2a0b5
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.0.2.1015
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.0.2.1015/main/apache_testrail.conf b/linux/ecosystem/testrail/7.0.2.1015/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.2.1015/main/docker-compose.yml b/linux/ecosystem/testrail/7.0.2.1015/main/docker-compose.yml
new file mode 100644
index 000000000..75c569122
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.0.2.1015"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.2.1015/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1015/main/docker-entrypoint.sh
new file mode 100755
index 000000000..4d40d1678
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1015/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.0.2.1015"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.0.2.1016/ad/README.md b/linux/ecosystem/testrail/7.0.2.1016/ad/README.md
index 1aae0e92d..0d78f707e 100644
--- a/linux/ecosystem/testrail/7.0.2.1016/ad/README.md
+++ b/linux/ecosystem/testrail/7.0.2.1016/ad/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail-ad-:7.0.2.1016
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.0.2.1016/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1016/ad/docker-entrypoint.sh
index 2a7954f51..8f52583a3 100755
--- a/linux/ecosystem/testrail/7.0.2.1016/ad/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.0.2.1016/ad/docker-entrypoint.sh
@@ -1,6 +1,8 @@
#!/bin/bash
-echo "[testrail] Starting testrail service"
+echo "[testrail] Welcome to Testrail 7.0.2.1016 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
##################################################################################
diff --git a/linux/ecosystem/testrail/7.0.2.1016/ldap/README.md b/linux/ecosystem/testrail/7.0.2.1016/ldap/README.md
index 1aae0e92d..b0ba95b73 100644
--- a/linux/ecosystem/testrail/7.0.2.1016/ldap/README.md
+++ b/linux/ecosystem/testrail/7.0.2.1016/ldap/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:auth-ldap-7.0.2.1016
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.0.2.1016/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1016/ldap/docker-entrypoint.sh
index f25d4d764..3b126f218 100755
--- a/linux/ecosystem/testrail/7.0.2.1016/ldap/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.0.2.1016/ldap/docker-entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+echo "[testrail] Welcome to Testrail 7.0.2.1016 with LDAP plugin"
+
echo "[testrail] Starting testrail service"
#################################################################################
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/.env b/linux/ecosystem/testrail/7.0.2.1016/main/.env
new file mode 100644
index 000000000..ab8c9d5be
--- /dev/null
+++ b/linux/ecosystem/testrail/7.0.2.1016/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.0.2.1016
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/Dockerfile b/linux/ecosystem/testrail/7.0.2.1016/main/Dockerfile
index 20093ded2..75d0e4504 100644
--- a/linux/ecosystem/testrail/7.0.2.1016/main/Dockerfile
+++ b/linux/ecosystem/testrail/7.0.2.1016/main/Dockerfile
@@ -1,39 +1,13 @@
FROM epicmorg/apache2:php7.4
-ARG PHP_MODULE_PATH=/usr/lib/php/20190902
-ARG PHP_VER=7.4
-ARG PHP_DIR=/etc/php/${PHP_VER}
-ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
-
-##############################################################################
-# Cassandra CPP Support Install
-##############################################################################
-
-##############################################################################
-# Cassandra PHP Drivers Install
-##############################################################################
-
-COPY addons/cassandra-php-driver /tmp/cassandra-php-driver
-RUN cd /tmp/cassandra-php-driver && \
- dpkg -i ./multiarch-support_2.28-10+deb10u1_amd64.deb && \
- dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
- dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb
-
-COPY addons/Drivers.Cassandra/Linux/7.4/cassandra.so ${PHP_MODULE_PATH}
-RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
- php -m && \
- php -v
-
##############################################################################
# Testrail Install
##############################################################################
-ENV TESTRAIL_VERSION=7.0.2.1016
-ENV DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
ENV TR_DEFAULT_TASK_EXECUTION=60
ENV TESTRAIL_RELEASE_DIR=/testrail-release
@@ -55,8 +29,7 @@ ENV TR_CONFIGPATH="/var/www/testrail/config/"
ENV OPENSSL_CONF=/etc/ssl/
-RUN \
- apt-get update && \
+RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
apt-get clean && \
echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
@@ -64,20 +37,20 @@ RUN \
rm -rf /run.sh && \
rm -rf /tmp/*
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
-RUN \
- echo "[testrail] Preparing folders" && \
- mkdir -p ${TESTRAIL_RELEASE_DIR} && \
- mkdir -p ${TR_WWW_PATH} && \
- mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
- echo "[testrail] Downloading and installing" && \
- wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
- chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
- unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
- chown -R www-data:www-data ${TR_WWW_PATH} && \
- ls -las ${TR_WWW_PATH} && \
- chown -R www-data:www-data ${TR_OPT_PATH} && \
- ls -las ${TR_OPT_PATH}
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/README.md b/linux/ecosystem/testrail/7.0.2.1016/main/README.md
index 1aae0e92d..1daa5c339 100644
--- a/linux/ecosystem/testrail/7.0.2.1016/main/README.md
+++ b/linux/ecosystem/testrail/7.0.2.1016/main/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:7.0.2.1016
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/README.MD b/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/README.MD
deleted file mode 100644
index 8616d54de..000000000
--- a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/README.MD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Cassandra PHP drivers for 7.3 and 7.4
-
-`git clone https://git.assembla.com/gurock/Drivers.Cassandra.git`
-
-Drivers are built from sources of the awesome DataStax PHP driver available [here](https://github.com/datastax/php-driver)
-
-### Important: PHP driver requires C++ driver installed. It can be found [here](https://github.com/datastax/cpp-driver)
-
-
-
-# Copyright
-
-© DataStax, Inc.
-
-Licensed under the Apache License, Version 2.0 (the “License”); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll b/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll
deleted file mode 100644
index d42d75acf..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll b/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll
deleted file mode 100644
index 4d5e0694a..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll b/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll
deleted file mode 100644
index 587141b9b..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll b/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll
deleted file mode 100644
index 3b3237e27..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
deleted file mode 100644
index f0918d7d6..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb
deleted file mode 100644
index edf602ecf..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb
deleted file mode 100644
index 951f84d41..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/download.sh b/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/download.sh
deleted file mode 100755
index fec710926..000000000
--- a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/download.sh
+++ /dev/null
@@ -1 +0,0 @@
-wget -r -k -l 7 -p -E -nc --reject="index.html*" --user-agent=Mozilla/5.0 https://downloads.datastax.com/cpp-driver/
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb
deleted file mode 100644
index 1fb9f44dd..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb
deleted file mode 100644
index 3ac90a83d..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb
deleted file mode 100644
index 0e9e1301d..000000000
Binary files a/linux/ecosystem/testrail/7.0.2.1016/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/docker-compose.yml b/linux/ecosystem/testrail/7.0.2.1016/main/docker-compose.yml
index 55b8db48f..2dc2ba44c 100644
--- a/linux/ecosystem/testrail/7.0.2.1016/main/docker-compose.yml
+++ b/linux/ecosystem/testrail/7.0.2.1016/main/docker-compose.yml
@@ -4,3 +4,6 @@ services:
image: "epicmorg/testrail:7.0.2.1016"
build:
context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.0.2.1016/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.0.2.1016/main/docker-entrypoint.sh
index 17af00304..9ce3b9630 100755
--- a/linux/ecosystem/testrail/7.0.2.1016/main/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.0.2.1016/main/docker-entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+echo "[testrail] Welcome to Testrail 7.0.2.1016"
+
echo "[testrail] Starting testrail service"
#################################################################################
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ad/Dockerfile b/linux/ecosystem/testrail/7.4.1.8079/ad/Dockerfile
new file mode 100644
index 000000000..24728d658
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.4.1.8079
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ad/Makefile b/linux/ecosystem/testrail/7.4.1.8079/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ad/README.md b/linux/ecosystem/testrail/7.4.1.8079/ad/README.md
new file mode 100644
index 000000000..32b1569bb
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.4.1.8079
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ad/docker-compose.yml b/linux/ecosystem/testrail/7.4.1.8079/ad/docker-compose.yml
new file mode 100644
index 000000000..3f944970c
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.4.1.8079"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8079/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..6a01a3156
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.4.1.8079 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ldap/Dockerfile b/linux/ecosystem/testrail/7.4.1.8079/ldap/Dockerfile
new file mode 100644
index 000000000..230ebd910
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.4.1.8079
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ldap/Makefile b/linux/ecosystem/testrail/7.4.1.8079/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ldap/README.md b/linux/ecosystem/testrail/7.4.1.8079/ldap/README.md
new file mode 100644
index 000000000..4f32488fd
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.4.1.8079
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.4.1.8079/ldap/docker-compose.yml
new file mode 100644
index 000000000..8ef58213c
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.4.1.8079"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.4.1.8079/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8079/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..2f842165a
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.4.1.8079 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.4.1.8079/main/.env b/linux/ecosystem/testrail/7.4.1.8079/main/.env
new file mode 100644
index 000000000..e1f882d81
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.4.1.8079
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.4.1.8079/main/Dockerfile b/linux/ecosystem/testrail/7.4.1.8079/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.4.1.8079/main/Makefile b/linux/ecosystem/testrail/7.4.1.8079/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.4.1.8079/main/README.md b/linux/ecosystem/testrail/7.4.1.8079/main/README.md
new file mode 100644
index 000000000..572305ea1
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.4.1.8079
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.4.1.8079/main/apache_testrail.conf b/linux/ecosystem/testrail/7.4.1.8079/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.4.1.8079/main/docker-compose.yml b/linux/ecosystem/testrail/7.4.1.8079/main/docker-compose.yml
new file mode 100644
index 000000000..2d8d533fc
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.4.1.8079"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.4.1.8079/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8079/main/docker-entrypoint.sh
new file mode 100755
index 000000000..47c667d2b
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8079/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.4.1.8079"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ad/Dockerfile b/linux/ecosystem/testrail/7.4.1.8091/ad/Dockerfile
new file mode 100644
index 000000000..5be5f2229
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.4.1.8091
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ad/Makefile b/linux/ecosystem/testrail/7.4.1.8091/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ad/README.md b/linux/ecosystem/testrail/7.4.1.8091/ad/README.md
new file mode 100644
index 000000000..97a49028f
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.4.1.8091
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ad/docker-compose.yml b/linux/ecosystem/testrail/7.4.1.8091/ad/docker-compose.yml
new file mode 100644
index 000000000..ff0594e08
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.4.1.8091"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8091/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..f42050f16
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.4.1.8091 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ldap/Dockerfile b/linux/ecosystem/testrail/7.4.1.8091/ldap/Dockerfile
new file mode 100644
index 000000000..5f5b6d1c4
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.4.1.8091
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ldap/Makefile b/linux/ecosystem/testrail/7.4.1.8091/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ldap/README.md b/linux/ecosystem/testrail/7.4.1.8091/ldap/README.md
new file mode 100644
index 000000000..8b5bd464e
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.4.1.8091
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.4.1.8091/ldap/docker-compose.yml
new file mode 100644
index 000000000..deb0e7476
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.4.1.8091"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.4.1.8091/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8091/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..9a1989435
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.4.1.8091 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.4.1.8091/main/.env b/linux/ecosystem/testrail/7.4.1.8091/main/.env
new file mode 100644
index 000000000..0d20a9de2
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.4.1.8091
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.4.1.8091/main/Dockerfile b/linux/ecosystem/testrail/7.4.1.8091/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.4.1.8091/main/Makefile b/linux/ecosystem/testrail/7.4.1.8091/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.4.1.8091/main/README.md b/linux/ecosystem/testrail/7.4.1.8091/main/README.md
new file mode 100644
index 000000000..1e7c2a9a1
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.4.1.8091
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.4.1.8091/main/apache_testrail.conf b/linux/ecosystem/testrail/7.4.1.8091/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.4.1.8091/main/docker-compose.yml b/linux/ecosystem/testrail/7.4.1.8091/main/docker-compose.yml
new file mode 100644
index 000000000..0e8d265ff
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.4.1.8091"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.4.1.8091/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8091/main/docker-entrypoint.sh
new file mode 100755
index 000000000..e657b00c3
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8091/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.4.1.8091"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.4.1.8092/ad/README.md b/linux/ecosystem/testrail/7.4.1.8092/ad/README.md
index 1aae0e92d..fe3c3db35 100644
--- a/linux/ecosystem/testrail/7.4.1.8092/ad/README.md
+++ b/linux/ecosystem/testrail/7.4.1.8092/ad/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail-ad-:7.4.1.8092
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.4.1.8092/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8092/ad/docker-entrypoint.sh
index 2a7954f51..83f2d3f40 100755
--- a/linux/ecosystem/testrail/7.4.1.8092/ad/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.4.1.8092/ad/docker-entrypoint.sh
@@ -1,6 +1,8 @@
#!/bin/bash
-echo "[testrail] Starting testrail service"
+echo "[testrail] Welcome to Testrail 7.4.1.8092 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
##################################################################################
diff --git a/linux/ecosystem/testrail/7.4.1.8092/ldap/README.md b/linux/ecosystem/testrail/7.4.1.8092/ldap/README.md
index 1aae0e92d..67f13454a 100644
--- a/linux/ecosystem/testrail/7.4.1.8092/ldap/README.md
+++ b/linux/ecosystem/testrail/7.4.1.8092/ldap/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:auth-ldap-7.4.1.8092
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.4.1.8092/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8092/ldap/docker-entrypoint.sh
index f25d4d764..72555a6bb 100755
--- a/linux/ecosystem/testrail/7.4.1.8092/ldap/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.4.1.8092/ldap/docker-entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+echo "[testrail] Welcome to Testrail 7.4.1.8092 with LDAP plugin"
+
echo "[testrail] Starting testrail service"
#################################################################################
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/.env b/linux/ecosystem/testrail/7.4.1.8092/main/.env
new file mode 100644
index 000000000..908dee0a2
--- /dev/null
+++ b/linux/ecosystem/testrail/7.4.1.8092/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.4.1.8092
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/Dockerfile b/linux/ecosystem/testrail/7.4.1.8092/main/Dockerfile
index 63e8c1c98..75d0e4504 100644
--- a/linux/ecosystem/testrail/7.4.1.8092/main/Dockerfile
+++ b/linux/ecosystem/testrail/7.4.1.8092/main/Dockerfile
@@ -1,39 +1,13 @@
FROM epicmorg/apache2:php7.4
-ARG PHP_MODULE_PATH=/usr/lib/php/20190902
-ARG PHP_VER=7.4
-ARG PHP_DIR=/etc/php/${PHP_VER}
-ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
-
-##############################################################################
-# Cassandra CPP Support Install
-##############################################################################
-
-##############################################################################
-# Cassandra PHP Drivers Install
-##############################################################################
-
-COPY addons/cassandra-php-driver /tmp/cassandra-php-driver
-RUN cd /tmp/cassandra-php-driver && \
- dpkg -i ./multiarch-support_2.28-10+deb10u1_amd64.deb && \
- dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
- dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb
-
-COPY addons/Drivers.Cassandra/Linux/7.4/cassandra.so ${PHP_MODULE_PATH}
-RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
- php -m && \
- php -v
-
##############################################################################
# Testrail Install
##############################################################################
-ENV TESTRAIL_VERSION=7.4.1.8092
-ENV DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
ENV TR_DEFAULT_TASK_EXECUTION=60
ENV TESTRAIL_RELEASE_DIR=/testrail-release
@@ -55,8 +29,7 @@ ENV TR_CONFIGPATH="/var/www/testrail/config/"
ENV OPENSSL_CONF=/etc/ssl/
-RUN \
- apt-get update && \
+RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
apt-get clean && \
echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
@@ -64,20 +37,20 @@ RUN \
rm -rf /run.sh && \
rm -rf /tmp/*
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
-RUN \
- echo "[testrail] Preparing folders" && \
- mkdir -p ${TESTRAIL_RELEASE_DIR} && \
- mkdir -p ${TR_WWW_PATH} && \
- mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
- echo "[testrail] Downloading and installing" && \
- wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
- chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
- unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
- chown -R www-data:www-data ${TR_WWW_PATH} && \
- ls -las ${TR_WWW_PATH} && \
- chown -R www-data:www-data ${TR_OPT_PATH} && \
- ls -las ${TR_OPT_PATH}
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/README.md b/linux/ecosystem/testrail/7.4.1.8092/main/README.md
index 1aae0e92d..e5a918610 100644
--- a/linux/ecosystem/testrail/7.4.1.8092/main/README.md
+++ b/linux/ecosystem/testrail/7.4.1.8092/main/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:7.4.1.8092
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so b/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so
deleted file mode 100755
index 48ec4a0af..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so b/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so
deleted file mode 100755
index 9f6332a44..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/README.MD b/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/README.MD
deleted file mode 100644
index 8616d54de..000000000
--- a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/README.MD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Cassandra PHP drivers for 7.3 and 7.4
-
-`git clone https://git.assembla.com/gurock/Drivers.Cassandra.git`
-
-Drivers are built from sources of the awesome DataStax PHP driver available [here](https://github.com/datastax/php-driver)
-
-### Important: PHP driver requires C++ driver installed. It can be found [here](https://github.com/datastax/cpp-driver)
-
-
-
-# Copyright
-
-© DataStax, Inc.
-
-Licensed under the Apache License, Version 2.0 (the “License”); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll b/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll
deleted file mode 100644
index d42d75acf..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll b/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll
deleted file mode 100644
index 4d5e0694a..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll b/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll
deleted file mode 100644
index 587141b9b..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll b/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll
deleted file mode 100644
index 3b3237e27..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
deleted file mode 100644
index f0918d7d6..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb
deleted file mode 100644
index edf602ecf..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb
deleted file mode 100644
index 951f84d41..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/download.sh b/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/download.sh
deleted file mode 100755
index fec710926..000000000
--- a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/download.sh
+++ /dev/null
@@ -1 +0,0 @@
-wget -r -k -l 7 -p -E -nc --reject="index.html*" --user-agent=Mozilla/5.0 https://downloads.datastax.com/cpp-driver/
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb
deleted file mode 100644
index 1fb9f44dd..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb
deleted file mode 100644
index 3ac90a83d..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb
deleted file mode 100644
index 0e9e1301d..000000000
Binary files a/linux/ecosystem/testrail/7.4.1.8092/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/docker-compose.yml b/linux/ecosystem/testrail/7.4.1.8092/main/docker-compose.yml
index 0a77d3fcc..f6fbe22d0 100644
--- a/linux/ecosystem/testrail/7.4.1.8092/main/docker-compose.yml
+++ b/linux/ecosystem/testrail/7.4.1.8092/main/docker-compose.yml
@@ -4,3 +4,6 @@ services:
image: "epicmorg/testrail:7.4.1.8092"
build:
context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.4.1.8092/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.4.1.8092/main/docker-entrypoint.sh
index 17af00304..dc1c41ac4 100755
--- a/linux/ecosystem/testrail/7.4.1.8092/main/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.4.1.8092/main/docker-entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+echo "[testrail] Welcome to Testrail 7.4.1.8092"
+
echo "[testrail] Starting testrail service"
#################################################################################
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ad/Dockerfile b/linux/ecosystem/testrail/7.5.1.7010/ad/Dockerfile
new file mode 100644
index 000000000..f7da517ca
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.5.1.7010
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ad/Makefile b/linux/ecosystem/testrail/7.5.1.7010/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ad/README.md b/linux/ecosystem/testrail/7.5.1.7010/ad/README.md
new file mode 100644
index 000000000..8f850f5e4
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.5.1.7010
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ad/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7010/ad/docker-compose.yml
new file mode 100644
index 000000000..6333015b5
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.5.1.7010"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7010/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..448618e1c
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7010 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ldap/Dockerfile b/linux/ecosystem/testrail/7.5.1.7010/ldap/Dockerfile
new file mode 100644
index 000000000..a26b3d7a9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.5.1.7010
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ldap/Makefile b/linux/ecosystem/testrail/7.5.1.7010/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ldap/README.md b/linux/ecosystem/testrail/7.5.1.7010/ldap/README.md
new file mode 100644
index 000000000..13f88b690
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.5.1.7010
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7010/ldap/docker-compose.yml
new file mode 100644
index 000000000..55f7d2b58
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.5.1.7010"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.5.1.7010/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7010/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..d1b2de3fe
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7010 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.1.7010/main/.env b/linux/ecosystem/testrail/7.5.1.7010/main/.env
new file mode 100644
index 000000000..a93ff18df
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.5.1.7010
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.5.1.7010/main/Dockerfile b/linux/ecosystem/testrail/7.5.1.7010/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.5.1.7010/main/Makefile b/linux/ecosystem/testrail/7.5.1.7010/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7010/main/README.md b/linux/ecosystem/testrail/7.5.1.7010/main/README.md
new file mode 100644
index 000000000..4bb6c124a
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.5.1.7010
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7010/main/apache_testrail.conf b/linux/ecosystem/testrail/7.5.1.7010/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.1.7010/main/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7010/main/docker-compose.yml
new file mode 100644
index 000000000..2a2aaccdb
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.5.1.7010"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.1.7010/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7010/main/docker-entrypoint.sh
new file mode 100755
index 000000000..b97ab9b98
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7010/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7010"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ad/Dockerfile b/linux/ecosystem/testrail/7.5.1.7012/ad/Dockerfile
new file mode 100644
index 000000000..b099ac164
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.5.1.7012
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ad/Makefile b/linux/ecosystem/testrail/7.5.1.7012/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ad/README.md b/linux/ecosystem/testrail/7.5.1.7012/ad/README.md
new file mode 100644
index 000000000..1b56b79b0
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.5.1.7012
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ad/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7012/ad/docker-compose.yml
new file mode 100644
index 000000000..f28b820c7
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.5.1.7012"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7012/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..cd3b060ac
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7012 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ldap/Dockerfile b/linux/ecosystem/testrail/7.5.1.7012/ldap/Dockerfile
new file mode 100644
index 000000000..c1fe7d090
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.5.1.7012
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ldap/Makefile b/linux/ecosystem/testrail/7.5.1.7012/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ldap/README.md b/linux/ecosystem/testrail/7.5.1.7012/ldap/README.md
new file mode 100644
index 000000000..664d23240
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.5.1.7012
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7012/ldap/docker-compose.yml
new file mode 100644
index 000000000..b70a2bf3e
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.5.1.7012"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.5.1.7012/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7012/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..f2ee54fb8
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7012 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.1.7012/main/.env b/linux/ecosystem/testrail/7.5.1.7012/main/.env
new file mode 100644
index 000000000..c1df01a2a
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.5.1.7012
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.5.1.7012/main/Dockerfile b/linux/ecosystem/testrail/7.5.1.7012/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.5.1.7012/main/Makefile b/linux/ecosystem/testrail/7.5.1.7012/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7012/main/README.md b/linux/ecosystem/testrail/7.5.1.7012/main/README.md
new file mode 100644
index 000000000..00d04e6bb
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.5.1.7012
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7012/main/apache_testrail.conf b/linux/ecosystem/testrail/7.5.1.7012/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.1.7012/main/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7012/main/docker-compose.yml
new file mode 100644
index 000000000..5762a3b10
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.5.1.7012"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.1.7012/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7012/main/docker-entrypoint.sh
new file mode 100755
index 000000000..49cb9e51f
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7012/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7012"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ad/Dockerfile b/linux/ecosystem/testrail/7.5.1.7013/ad/Dockerfile
new file mode 100644
index 000000000..4f1b8de77
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.5.1.7013
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ad/Makefile b/linux/ecosystem/testrail/7.5.1.7013/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ad/README.md b/linux/ecosystem/testrail/7.5.1.7013/ad/README.md
new file mode 100644
index 000000000..b5a1d8981
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.5.1.7013
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ad/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7013/ad/docker-compose.yml
new file mode 100644
index 000000000..cf2fe35c8
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.5.1.7013"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7013/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..533f1ebdb
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7013 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ldap/Dockerfile b/linux/ecosystem/testrail/7.5.1.7013/ldap/Dockerfile
new file mode 100644
index 000000000..8a03a647b
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.5.1.7013
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ldap/Makefile b/linux/ecosystem/testrail/7.5.1.7013/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ldap/README.md b/linux/ecosystem/testrail/7.5.1.7013/ldap/README.md
new file mode 100644
index 000000000..e681c1ce2
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.5.1.7013
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7013/ldap/docker-compose.yml
new file mode 100644
index 000000000..044b6ea44
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.5.1.7013"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.5.1.7013/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7013/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..f1e429f02
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7013 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.1.7013/main/.env b/linux/ecosystem/testrail/7.5.1.7013/main/.env
new file mode 100644
index 000000000..9e1f0cb6a
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.5.1.7013
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.5.1.7013/main/Dockerfile b/linux/ecosystem/testrail/7.5.1.7013/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.5.1.7013/main/Makefile b/linux/ecosystem/testrail/7.5.1.7013/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.1.7013/main/README.md b/linux/ecosystem/testrail/7.5.1.7013/main/README.md
new file mode 100644
index 000000000..db3d6b517
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.5.1.7013
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.1.7013/main/apache_testrail.conf b/linux/ecosystem/testrail/7.5.1.7013/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.1.7013/main/docker-compose.yml b/linux/ecosystem/testrail/7.5.1.7013/main/docker-compose.yml
new file mode 100644
index 000000000..98dc93af7
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.5.1.7013"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.1.7013/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.1.7013/main/docker-entrypoint.sh
new file mode 100755
index 000000000..0ca8c8e4e
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.1.7013/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.1.7013"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ad/Dockerfile b/linux/ecosystem/testrail/7.5.2.1002/ad/Dockerfile
new file mode 100644
index 000000000..4a6d31ca4
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.5.2.1002
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ad/Makefile b/linux/ecosystem/testrail/7.5.2.1002/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ad/README.md b/linux/ecosystem/testrail/7.5.2.1002/ad/README.md
new file mode 100644
index 000000000..6d645d768
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:7.5.2.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ad/docker-compose.yml b/linux/ecosystem/testrail/7.5.2.1002/ad/docker-compose.yml
new file mode 100644
index 000000000..81f0ae6b4
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-7.5.2.1002"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.2.1002/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..6435ac8bc
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.2.1002 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ldap/Dockerfile b/linux/ecosystem/testrail/7.5.2.1002/ldap/Dockerfile
new file mode 100644
index 000000000..d6b6299ce
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:7.5.2.1002
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ldap/Makefile b/linux/ecosystem/testrail/7.5.2.1002/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ldap/README.md b/linux/ecosystem/testrail/7.5.2.1002/ldap/README.md
new file mode 100644
index 000000000..06244bf08
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-7.5.2.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ldap/docker-compose.yml b/linux/ecosystem/testrail/7.5.2.1002/ldap/docker-compose.yml
new file mode 100644
index 000000000..66297488b
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-7.5.2.1002"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/7.5.2.1002/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.2.1002/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..8936ed12b
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.2.1002 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.2.1002/main/.env b/linux/ecosystem/testrail/7.5.2.1002/main/.env
new file mode 100644
index 000000000..a66258b8b
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.5.2.1002
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.5.2.1002/main/Dockerfile b/linux/ecosystem/testrail/7.5.2.1002/main/Dockerfile
new file mode 100644
index 000000000..75d0e4504
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php7.4
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/7.5.2.1002/main/Makefile b/linux/ecosystem/testrail/7.5.2.1002/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/7.5.2.1002/main/README.md b/linux/ecosystem/testrail/7.5.2.1002/main/README.md
new file mode 100644
index 000000000..e38392305
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php7.4` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:7.5.2.1002
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/7.5.2.1002/main/apache_testrail.conf b/linux/ecosystem/testrail/7.5.2.1002/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.2.1002/main/docker-compose.yml b/linux/ecosystem/testrail/7.5.2.1002/main/docker-compose.yml
new file mode 100644
index 000000000..2524ec4be
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:7.5.2.1002"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.2.1002/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.2.1002/main/docker-entrypoint.sh
new file mode 100755
index 000000000..db2f2d5ff
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.2.1002/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 7.5.2.1002"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/7.5.3.1000/ad/README.md b/linux/ecosystem/testrail/7.5.3.1000/ad/README.md
index 1aae0e92d..895ebe094 100644
--- a/linux/ecosystem/testrail/7.5.3.1000/ad/README.md
+++ b/linux/ecosystem/testrail/7.5.3.1000/ad/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail-ad-:7.5.3.1000
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.5.3.1000/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.3.1000/ad/docker-entrypoint.sh
index 2a7954f51..3517671e1 100755
--- a/linux/ecosystem/testrail/7.5.3.1000/ad/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.5.3.1000/ad/docker-entrypoint.sh
@@ -1,6 +1,8 @@
#!/bin/bash
-echo "[testrail] Starting testrail service"
+echo "[testrail] Welcome to Testrail 7.5.3.1000 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
##################################################################################
diff --git a/linux/ecosystem/testrail/7.5.3.1000/ldap/README.md b/linux/ecosystem/testrail/7.5.3.1000/ldap/README.md
index 1aae0e92d..5161c16e3 100644
--- a/linux/ecosystem/testrail/7.5.3.1000/ldap/README.md
+++ b/linux/ecosystem/testrail/7.5.3.1000/ldap/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:auth-ldap-7.5.3.1000
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.5.3.1000/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.3.1000/ldap/docker-entrypoint.sh
index f25d4d764..a03a1378c 100755
--- a/linux/ecosystem/testrail/7.5.3.1000/ldap/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.5.3.1000/ldap/docker-entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+echo "[testrail] Welcome to Testrail 7.5.3.1000 with LDAP plugin"
+
echo "[testrail] Starting testrail service"
#################################################################################
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/.env b/linux/ecosystem/testrail/7.5.3.1000/main/.env
new file mode 100644
index 000000000..cc764de27
--- /dev/null
+++ b/linux/ecosystem/testrail/7.5.3.1000/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=7.5.3.1000
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/Dockerfile b/linux/ecosystem/testrail/7.5.3.1000/main/Dockerfile
index 73a433ba0..75d0e4504 100644
--- a/linux/ecosystem/testrail/7.5.3.1000/main/Dockerfile
+++ b/linux/ecosystem/testrail/7.5.3.1000/main/Dockerfile
@@ -1,39 +1,13 @@
FROM epicmorg/apache2:php7.4
-ARG PHP_MODULE_PATH=/usr/lib/php/20190902
-ARG PHP_VER=7.4
-ARG PHP_DIR=/etc/php/${PHP_VER}
-ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
-
-##############################################################################
-# Cassandra CPP Support Install
-##############################################################################
-
-##############################################################################
-# Cassandra PHP Drivers Install
-##############################################################################
-
-COPY addons/cassandra-php-driver /tmp/cassandra-php-driver
-RUN cd /tmp/cassandra-php-driver && \
- dpkg -i ./multiarch-support_2.28-10+deb10u1_amd64.deb && \
- dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
- dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb
-
-COPY addons/Drivers.Cassandra/Linux/7.4/cassandra.so ${PHP_MODULE_PATH}
-RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
- php -m && \
- php -v
-
##############################################################################
# Testrail Install
##############################################################################
-ENV TESTRAIL_VERSION=7.5.3.1000
-ENV DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
ENV TR_DEFAULT_TASK_EXECUTION=60
ENV TESTRAIL_RELEASE_DIR=/testrail-release
@@ -55,8 +29,7 @@ ENV TR_CONFIGPATH="/var/www/testrail/config/"
ENV OPENSSL_CONF=/etc/ssl/
-RUN \
- apt-get update && \
+RUN apt-get update && \
apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
apt-get clean && \
echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
@@ -64,20 +37,20 @@ RUN \
rm -rf /run.sh && \
rm -rf /tmp/*
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
-RUN \
- echo "[testrail] Preparing folders" && \
- mkdir -p ${TESTRAIL_RELEASE_DIR} && \
- mkdir -p ${TR_WWW_PATH} && \
- mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
- echo "[testrail] Downloading and installing" && \
- wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
- chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
- unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
- chown -R www-data:www-data ${TR_WWW_PATH} && \
- ls -las ${TR_WWW_PATH} && \
- chown -R www-data:www-data ${TR_OPT_PATH} && \
- ls -las ${TR_OPT_PATH}
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/README.md b/linux/ecosystem/testrail/7.5.3.1000/main/README.md
index 1aae0e92d..2adee37b5 100644
--- a/linux/ecosystem/testrail/7.5.3.1000/main/README.md
+++ b/linux/ecosystem/testrail/7.5.3.1000/main/README.md
@@ -1,6 +1,6 @@
## Testrail
-* Based on `websites:php7.2` of our ecosystem.
+* Based on `websites:php7.4` of our ecosystem.
# Compose example
@@ -8,7 +8,7 @@
version: '3.7'
services:
testrail:
- image: epicmorg/testrail
+ image: epicmorg/testrail:7.5.3.1000
# depends_on:
# - mysql
# - memcached
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so b/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so
deleted file mode 100755
index 48ec4a0af..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so b/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so
deleted file mode 100755
index 9f6332a44..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/README.MD b/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/README.MD
deleted file mode 100644
index 8616d54de..000000000
--- a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/README.MD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Cassandra PHP drivers for 7.3 and 7.4
-
-`git clone https://git.assembla.com/gurock/Drivers.Cassandra.git`
-
-Drivers are built from sources of the awesome DataStax PHP driver available [here](https://github.com/datastax/php-driver)
-
-### Important: PHP driver requires C++ driver installed. It can be found [here](https://github.com/datastax/cpp-driver)
-
-
-
-# Copyright
-
-© DataStax, Inc.
-
-Licensed under the Apache License, Version 2.0 (the “License”); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll b/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll
deleted file mode 100644
index d42d75acf..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll b/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll
deleted file mode 100644
index 4d5e0694a..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll b/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll
deleted file mode 100644
index 587141b9b..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll b/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll
deleted file mode 100644
index 3b3237e27..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
deleted file mode 100644
index f0918d7d6..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb
deleted file mode 100644
index edf602ecf..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb
deleted file mode 100644
index 951f84d41..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/download.sh b/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/download.sh
deleted file mode 100755
index fec710926..000000000
--- a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/download.sh
+++ /dev/null
@@ -1 +0,0 @@
-wget -r -k -l 7 -p -E -nc --reject="index.html*" --user-agent=Mozilla/5.0 https://downloads.datastax.com/cpp-driver/
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb
deleted file mode 100644
index 1fb9f44dd..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb
deleted file mode 100644
index 3ac90a83d..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb
deleted file mode 100644
index 0e9e1301d..000000000
Binary files a/linux/ecosystem/testrail/7.5.3.1000/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/docker-compose.yml b/linux/ecosystem/testrail/7.5.3.1000/main/docker-compose.yml
index c4de29d76..337959202 100644
--- a/linux/ecosystem/testrail/7.5.3.1000/main/docker-compose.yml
+++ b/linux/ecosystem/testrail/7.5.3.1000/main/docker-compose.yml
@@ -4,3 +4,6 @@ services:
image: "epicmorg/testrail:7.5.3.1000"
build:
context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/7.5.3.1000/main/docker-entrypoint.sh b/linux/ecosystem/testrail/7.5.3.1000/main/docker-entrypoint.sh
index 17af00304..5d63991ec 100755
--- a/linux/ecosystem/testrail/7.5.3.1000/main/docker-entrypoint.sh
+++ b/linux/ecosystem/testrail/7.5.3.1000/main/docker-entrypoint.sh
@@ -1,5 +1,7 @@
#!/bin/bash
+echo "[testrail] Welcome to Testrail 7.5.3.1000"
+
echo "[testrail] Starting testrail service"
#################################################################################
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ad/Dockerfile b/linux/ecosystem/testrail/8.0.0.1089/ad/Dockerfile
new file mode 100644
index 000000000..6f1ec0336
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:8.0.0.1089
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ad/Makefile b/linux/ecosystem/testrail/8.0.0.1089/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ad/README.md b/linux/ecosystem/testrail/8.0.0.1089/ad/README.md
new file mode 100644
index 000000000..d5e8d1c77
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:8.0.0.1089
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ad/docker-compose.yml b/linux/ecosystem/testrail/8.0.0.1089/ad/docker-compose.yml
new file mode 100644
index 000000000..799de971e
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-8.0.0.1089"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/8.0.0.1089/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..ff2445a92
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 8.0.0.1089 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ldap/Dockerfile b/linux/ecosystem/testrail/8.0.0.1089/ldap/Dockerfile
new file mode 100644
index 000000000..6046a0cfc
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:8.0.0.1089
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ldap/Makefile b/linux/ecosystem/testrail/8.0.0.1089/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ldap/README.md b/linux/ecosystem/testrail/8.0.0.1089/ldap/README.md
new file mode 100644
index 000000000..a4a87b97f
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-8.0.0.1089
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ldap/docker-compose.yml b/linux/ecosystem/testrail/8.0.0.1089/ldap/docker-compose.yml
new file mode 100644
index 000000000..5cfa8313c
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-8.0.0.1089"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/8.0.0.1089/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/8.0.0.1089/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..d2724006b
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 8.0.0.1089 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/8.0.0.1089/main/.env b/linux/ecosystem/testrail/8.0.0.1089/main/.env
new file mode 100644
index 000000000..ba7d9df69
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=8.0.0.1089
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion81.zip
diff --git a/linux/ecosystem/testrail/8.0.0.1089/main/Dockerfile b/linux/ecosystem/testrail/8.0.0.1089/main/Dockerfile
new file mode 100644
index 000000000..e67b1ce15
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php8.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/8.0.0.1089/main/Makefile b/linux/ecosystem/testrail/8.0.0.1089/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/8.0.0.1089/main/README.md b/linux/ecosystem/testrail/8.0.0.1089/main/README.md
new file mode 100644
index 000000000..cd5580271
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:8.0.0.1089
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/8.0.0.1089/main/apache_testrail.conf b/linux/ecosystem/testrail/8.0.0.1089/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/8.0.0.1089/main/docker-compose.yml b/linux/ecosystem/testrail/8.0.0.1089/main/docker-compose.yml
new file mode 100644
index 000000000..5bb2732e4
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:8.0.0.1089"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/8.0.0.1089/main/docker-entrypoint.sh b/linux/ecosystem/testrail/8.0.0.1089/main/docker-entrypoint.sh
new file mode 100755
index 000000000..018e12233
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.0.1089/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 8.0.0.1089"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ad/Dockerfile b/linux/ecosystem/testrail/8.0.1.1029/ad/Dockerfile
new file mode 100644
index 000000000..261fbbff0
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ad/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:8.0.1.1029
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ad
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ad/Makefile b/linux/ecosystem/testrail/8.0.1.1029/ad/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ad/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ad/README.md b/linux/ecosystem/testrail/8.0.1.1029/ad/README.md
new file mode 100644
index 000000000..a57aef5c5
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ad/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail-ad-:8.0.1.1029
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ad/docker-compose.yml b/linux/ecosystem/testrail/8.0.1.1029/ad/docker-compose.yml
new file mode 100644
index 000000000..ef1782b4d
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ad/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ad-8.0.1.1029"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ad/docker-entrypoint.sh b/linux/ecosystem/testrail/8.0.1.1029/ad/docker-entrypoint.sh
new file mode 100755
index 000000000..4404e044d
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ad/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 8.0.1.1029 with Active Directory plugin"
+
+echo "[testrail] Starting Testrail service"
+
+##################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail Active Directory auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ldap/Dockerfile b/linux/ecosystem/testrail/8.0.1.1029/ldap/Dockerfile
new file mode 100644
index 000000000..27fd35287
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ldap/Dockerfile
@@ -0,0 +1,13 @@
+FROM epicmorg/testrail:8.0.1.1029
+
+ENV TESTRAIL_PLUGIN_VERSION=1.4
+ENV TESTRAIL_PLUGIN_NAME=ldap
+ENV TESTRAIL_PLUGIN_FULLNAME=testrail-auth-${TESTRAIL_PLUGIN_NAME}-${TESTRAIL_PLUGIN_VERSION}
+ENV TESTRAIL_PLUGIN_FILE=${TESTRAIL_PLUGIN_FULLNAME}.zip
+ENV TESTRAIL_PLUGIN_DONWLOAD_URL=https://media.gurock.com/gk-media/downloads/${TESTRAIL_PLUGIN_FILE}
+ENV TESTRAIL_PLUGIN_TEMP=${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE}
+
+RUN rm -rfv /usr/bin/docker-entrypoint.sh
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+
+RUN wget --no-check-certificate -O ${TESTRAIL_PLUGIN_TEMP} ${TESTRAIL_PLUGIN_DONWLOAD_URL}
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ldap/Makefile b/linux/ecosystem/testrail/8.0.1.1029/ldap/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ldap/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ldap/README.md b/linux/ecosystem/testrail/8.0.1.1029/ldap/README.md
new file mode 100644
index 000000000..a58b9a4ee
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ldap/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:auth-ldap-8.0.1.1029
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ldap/docker-compose.yml b/linux/ecosystem/testrail/8.0.1.1029/ldap/docker-compose.yml
new file mode 100644
index 000000000..8d820a388
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ldap/docker-compose.yml
@@ -0,0 +1,6 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:auth-ldap-8.0.1.1029"
+ build:
+ context: .
diff --git a/linux/ecosystem/testrail/8.0.1.1029/ldap/docker-entrypoint.sh b/linux/ecosystem/testrail/8.0.1.1029/ldap/docker-entrypoint.sh
new file mode 100755
index 000000000..b3d10c88b
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/ldap/docker-entrypoint.sh
@@ -0,0 +1,68 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 8.0.1.1029 with LDAP plugin"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+
+echo "[testrail] Unzipping testrail LDAP auth plugin"
+unzip -q -o -j ${TESTRAIL_RELEASE_DIR}/${TESTRAIL_PLUGIN_FILE} ${TESTRAIL_PLUGIN_FULLNAME}/auth.php -d ${TR_CUSTOM_AUTH_DIR}
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/8.0.1.1029/main/.env b/linux/ecosystem/testrail/8.0.1.1029/main/.env
new file mode 100644
index 000000000..ff031989c
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/main/.env
@@ -0,0 +1,2 @@
+TESTRAIL_VERSION=8.0.1.1029
+DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion81.zip
diff --git a/linux/ecosystem/testrail/8.0.1.1029/main/Dockerfile b/linux/ecosystem/testrail/8.0.1.1029/main/Dockerfile
new file mode 100644
index 000000000..e67b1ce15
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/main/Dockerfile
@@ -0,0 +1,69 @@
+FROM epicmorg/apache2:php8.1
+
+##############################################################################
+# Testrail Install
+##############################################################################
+
+#configured by dockerfile / .ENV
+ARG TESTRAIL_VERSION
+ARG DOWNLOAD_URL
+
+ENV TR_DEFAULT_TASK_EXECUTION=60
+
+ENV TESTRAIL_RELEASE_DIR=/testrail-release
+
+ENV TR_WWW_PATH=/var/www/testrail
+ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
+ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
+ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
+ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
+
+ENV TR_OPT_PATH=/opt/testrail
+ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
+ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
+ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
+ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
+
+ENV TR_OPTPATH="/opt/testrail/"
+ENV TR_CONFIGPATH="/var/www/testrail/config/"
+
+ENV OPENSSL_CONF=/etc/ssl/
+
+RUN apt-get update && \
+ apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
+ apt-get clean && \
+ echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
+ rm -rf /var/lib/apt/lists/* && \
+ rm -rf /run.sh && \
+ rm -rf /tmp/*
+
+RUN echo "[testrail] Preparing folders" && \
+ mkdir -p ${TESTRAIL_RELEASE_DIR} && \
+ mkdir -p ${TR_WWW_PATH} && \
+ mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
+ echo "[testrail] Downloading and installing" && \
+ wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
+ chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
+ unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
+ chown -R www-data:www-data ${TR_WWW_PATH} && \
+ ls -las ${TR_WWW_PATH} && \
+ chown -R www-data:www-data ${TR_OPT_PATH} && \
+ ls -las ${TR_OPT_PATH}
+
+RUN echo "[testrail] Testrail version is: $(cat ${TR_WWW_PATH}/version.txt)"
+
+COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
+
+#healthcheck. good practice
+HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
+
+# Add image configuration and scripts
+COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
+RUN chmod 755 /usr/bin/docker-entrypoint.sh
+
+#Final config
+WORKDIR /var/www/testrail
+EXPOSE 80 443
+
+ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
+CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/8.0.1.1029/main/Makefile b/linux/ecosystem/testrail/8.0.1.1029/main/Makefile
new file mode 100644
index 000000000..9ef622aa9
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/main/Makefile
@@ -0,0 +1,19 @@
+all: app
+
+app:
+ make build
+ make deploy
+ make clean
+
+build:
+ docker-compose build --compress --parallel --progress plain
+
+deploy:
+ docker-compose push
+
+clean:
+ docker container prune -f
+ docker image prune -f
+ docker network prune -f
+ docker volume prune -f
+ docker system prune -af
diff --git a/linux/ecosystem/testrail/8.0.1.1029/main/README.md b/linux/ecosystem/testrail/8.0.1.1029/main/README.md
new file mode 100644
index 000000000..e6c848865
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/main/README.md
@@ -0,0 +1,36 @@
+## Testrail
+
+* Based on `websites:php8.1` of our ecosystem.
+
+# Compose example
+
+```yml
+version: '3.7'
+services:
+ testrail:
+ image: epicmorg/testrail:8.0.1.1029
+# depends_on:
+# - mysql
+# - memcached
+ restart: unless-stopped
+ volumes:
+ - /etc/localtime:/etc/localtime
+ - /etc/timezone:/etc/timezone
+# - /etc/letsencrypt:/etc/letsencrypt
+ - www:/var/www
+ - apache2:/etc/apache2
+ - php:/etc/php
+ restart: unless-stopped
+# extra_hosts:
+# - "example.com:192.168.0.11"
+ tmpfs:
+ - /tmp
+ - /var/lib/php/sessions
+volumes:
+ www:
+ external: true
+ apache2:
+ external: true
+ php:
+ external: true
+```
diff --git a/linux/ecosystem/testrail/8.0.1.1029/main/apache_testrail.conf b/linux/ecosystem/testrail/8.0.1.1029/main/apache_testrail.conf
new file mode 100644
index 000000000..750791db9
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/main/apache_testrail.conf
@@ -0,0 +1,16 @@
+
+ ServerName localhost
+
+ ServerAdmin webmaster@localhost
+ DocumentRoot /var/www/testrail
+
+ ErrorLog ${APACHE_LOG_DIR}/error.log
+ CustomLog ${APACHE_LOG_DIR}/access.log combined
+
+
+ Options Indexes FollowSymLinks
+ AllowOverride All
+ Require all granted
+
+
+
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/8.0.1.1029/main/docker-compose.yml b/linux/ecosystem/testrail/8.0.1.1029/main/docker-compose.yml
new file mode 100644
index 000000000..55baf943b
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/main/docker-compose.yml
@@ -0,0 +1,9 @@
+version: '3.9'
+services:
+ app:
+ image: "epicmorg/testrail:8.0.1.1029"
+ build:
+ context: .
+ args:
+ RELEASE: ${TESTRAIL_VERSION}
+ DOWNLOAD_URL: ${DOWNLOAD_URL}
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/8.0.1.1029/main/docker-entrypoint.sh b/linux/ecosystem/testrail/8.0.1.1029/main/docker-entrypoint.sh
new file mode 100755
index 000000000..50ac0fbf2
--- /dev/null
+++ b/linux/ecosystem/testrail/8.0.1.1029/main/docker-entrypoint.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+
+echo "[testrail] Welcome to Testrail 8.0.1.1029"
+
+echo "[testrail] Starting testrail service"
+
+#################################################################################
+
+function createOptDirectory {
+ if [ ! -d $1 ]
+ then
+ echo "[testrail] Creating " $1
+ mkdir -p $1
+ fi
+
+ chown -R www-data:www-data $1
+}
+
+/bin/cp -rf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf /etc/apache2/sites-enabled/000-default.conf
+
+echo "[testrail] Unzipping testrail service"
+unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/
+echo "[testrail] Testrail extracted"
+
+createOptDirectory ${TR_DEFAULT_LOG_DIR}
+createOptDirectory ${TR_DEFAULT_AUDIT_DIR}
+createOptDirectory ${TR_DEFAULT_REPORT_DIR}
+createOptDirectory ${TR_DEFAULT_ATTACHMENT_DIR}
+
+chown -R www-data:www-data ${TR_CONFIG_DIR}
+chown -R www-data:www-data ${TR_CONFIGPATH}
+
+#################################################################################
+
+echo "[testrail] Waiting for background task file"
+while [ ! -f /var/www/testrail/task.php ]
+do
+ sleep 2
+done
+
+echo "[testrail] Starting background task"
+while /bin/true; do
+ php /var/www/testrail/task.php || true
+ sleep ${TR_DEFAULT_TASK_EXECUTION}
+done &
+echo "[testrail] Background task stoped"
+
+#################################################################################
+
+if [[ -z "${FIX_WWW_DATA}" ]]; then
+ echo "[apache2] env FIX_WWW_DATA is not set. Fixing permissions anyway"
+ chown www-data:www-data /var/www -R
+elif [ "${FIX_WWW_DATA}" == "false" ]; then
+ echo "[apache2] env FIX_WWW_DATA is set to false. Skipping..."
+elif [ "${FIX_WWW_DATA}" == "true" ]; then
+ echo "[apache2] Changing permissions for /var/www path. Dont worry, please wait."
+ chown www-data:www-data /var/www -R
+ echo "[apache2] Done"
+else
+ echo "[apache2] env FIX_WWW_DATA is set to strange value. Skipping..."
+fi
+
+echo "[apache2] Starting up"
+
+source /etc/apache2/envvars
+tail -F /var/log/apache2/* &
+exec apache2 -D FOREGROUND
diff --git a/linux/ecosystem/testrail/latest/main/Dockerfile b/linux/ecosystem/testrail/latest/main/Dockerfile
deleted file mode 100644
index 4a69b4751..000000000
--- a/linux/ecosystem/testrail/latest/main/Dockerfile
+++ /dev/null
@@ -1,96 +0,0 @@
-FROM epicmorg/apache2:php7.4
-
-ARG PHP_MODULE_PATH=/usr/lib/php/20190902
-ARG PHP_VER=7.4
-ARG PHP_DIR=/etc/php/${PHP_VER}
-ARG CAS_PHP_INI=${PHP_DIR}/mods-available/cassandra.ini
-
-##############################################################################
-# Cassandra CPP Support Install
-##############################################################################
-
-##############################################################################
-# Cassandra PHP Drivers Install
-##############################################################################
-
-COPY addons/cassandra-php-driver /tmp/cassandra-php-driver
-RUN cd /tmp/cassandra-php-driver && \
- dpkg -i ./multiarch-support_2.28-10+deb10u1_amd64.deb && \
- dpkg -i ./libuv1_1.35.0-1_amd64.deb && \
- dpkg -i ./cassandra-cpp-driver_2.16.0-1_amd64.deb
-
-COPY addons/Drivers.Cassandra/Linux/7.4/cassandra.so ${PHP_MODULE_PATH}
-RUN echo "extension = ${PHP_MODULE_PATH}/cassandra.so" > ${CAS_PHP_INI} && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cgi/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/cli/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/fpm/conf.d/cassandra.ini && \
- ln -sf ${CAS_PHP_INI} ${PHP_DIR}/apache2/conf.d/cassandra.ini && \
- php -m && \
- php -v
-
-##############################################################################
-# Testrail Install
-##############################################################################
-
-ENV TESTRAIL_VERSION=latest
-ENV DOWNLOAD_URL=https://secure.gurock.com/downloads/testrail/testrail-${TESTRAIL_VERSION}-ion72.zip
-ENV TR_DEFAULT_TASK_EXECUTION=60
-
-ENV TESTRAIL_RELEASE_DIR=/testrail-release
-
-ENV TR_WWW_PATH=/var/www/testrail
-ENV TR_CONFIGPATH=${TR_CONFIG_DIR}
-ENV TR_CONFIG_DIR=${TR_WWW_PATH}/config
-ENV TR_CUSTOM_DIR=${TR_WWW_PATH}/custom
-ENV TR_CUSTOM_AUTH_DIR=${TR_CUSTOM_DIR}/auth
-
-ENV TR_OPT_PATH=/opt/testrail
-ENV TR_DEFAULT_LOG_DIR=${TR_OPT_PATH}/logs
-ENV TR_DEFAULT_AUDIT_DIR=${TR_OPT_PATH}/audit
-ENV TR_DEFAULT_REPORT_DIR=${TR_OPT_PATH}/reports
-ENV TR_DEFAULT_ATTACHMENT_DIR=${TR_OPT_PATH}/attachments
-
-ENV TR_OPTPATH="/opt/testrail/"
-ENV TR_CONFIGPATH="/var/www/testrail/config/"
-
-ENV OPENSSL_CONF=/etc/ssl/
-
-RUN \
- apt-get update && \
- apt-get install -y --no-install-recommends zlib1g-dev libcurl4-gnutls-dev libldap2-dev zlib1g-dev libxml2-dev libfontconfig1 && \
- apt-get clean && \
- echo "ServerName localhost" >> /etc/apache2/apache2.conf && \
- rm -rf /var/lib/apt/lists/* && \
- rm -rf /run.sh && \
- rm -rf /tmp/*
-
-
-RUN \
- echo "[testrail] Preparing folders" && \
- mkdir -p ${TESTRAIL_RELEASE_DIR} && \
- mkdir -p ${TR_WWW_PATH} && \
- mkdir -p ${TR_DEFAULT_ATTACHMENT_DIR} ${TR_DEFAULT_REPORT_DIR} ${TR_DEFAULT_AUDIT_DIR} ${TR_DEFAULT_LOG_DIR} && \
- echo "[testrail] Downloading and installing" && \
- wget --no-check-certificate -O ${TESTRAIL_RELEASE_DIR}/testrail.zip ${DOWNLOAD_URL} && \
- chown -R www-data:www-data ${TESTRAIL_RELEASE_DIR} && \
- unzip -q -o ${TESTRAIL_RELEASE_DIR}/testrail.zip -d /var/www/ && \
- chown -R www-data:www-data ${TR_WWW_PATH} && \
- ls -las ${TR_WWW_PATH} && \
- chown -R www-data:www-data ${TR_OPT_PATH} && \
- ls -las ${TR_OPT_PATH}
-
-COPY apache_testrail.conf ${TESTRAIL_RELEASE_DIR}/apache-conf/000-default.conf
-
-#healthcheck. good practice
-HEALTHCHECK --interval=2m --timeout=3s CMD curl -f http://localhost:80/ || exit 1
-
-# Add image configuration and scripts
-COPY docker-entrypoint.sh /usr/bin/docker-entrypoint.sh
-RUN chmod 755 /usr/bin/docker-entrypoint.sh
-
-#Final config
-WORKDIR /var/www/testrail
-EXPOSE 80 443
-
-ENTRYPOINT ["tini", "-s", "--", "docker-entrypoint.sh"]
-CMD ["docker-entrypoint.sh"]
diff --git a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so b/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so
deleted file mode 100755
index 48ec4a0af..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Linux/7.3/cassandra.so and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so b/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so
deleted file mode 100755
index 9f6332a44..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Linux/7.4/cassandra.so and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/README.MD b/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/README.MD
deleted file mode 100644
index 8616d54de..000000000
--- a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/README.MD
+++ /dev/null
@@ -1,24 +0,0 @@
-# Cassandra PHP drivers for 7.3 and 7.4
-
-`git clone https://git.assembla.com/gurock/Drivers.Cassandra.git`
-
-Drivers are built from sources of the awesome DataStax PHP driver available [here](https://github.com/datastax/php-driver)
-
-### Important: PHP driver requires C++ driver installed. It can be found [here](https://github.com/datastax/cpp-driver)
-
-
-
-# Copyright
-
-© DataStax, Inc.
-
-Licensed under the Apache License, Version 2.0 (the “License”); you may not use
-this file except in compliance with the License. You may obtain a copy of the
-License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software distributed
-under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR
-CONDITIONS OF ANY KIND, either express or implied. See the License for the
-specific language governing permissions and limitations under the License.
\ No newline at end of file
diff --git a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll b/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll
deleted file mode 100644
index d42d75acf..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.3_nts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll b/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll
deleted file mode 100644
index 4d5e0694a..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.3_ts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll b/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll
deleted file mode 100644
index 587141b9b..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.4_nts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll b/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll
deleted file mode 100644
index 3b3237e27..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/Drivers.Cassandra/Windows/7.4_ts/php_cassandra.dll and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb
deleted file mode 100644
index f0918d7d6..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver-dbg_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb
deleted file mode 100644
index edf602ecf..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver-dev_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb b/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb
deleted file mode 100644
index 951f84d41..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/cassandra-cpp-driver_2.16.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/download.sh b/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/download.sh
deleted file mode 100755
index fec710926..000000000
--- a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/download.sh
+++ /dev/null
@@ -1 +0,0 @@
-wget -r -k -l 7 -p -E -nc --reject="index.html*" --user-agent=Mozilla/5.0 https://downloads.datastax.com/cpp-driver/
diff --git a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb
deleted file mode 100644
index 1fb9f44dd..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1-dbg_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb
deleted file mode 100644
index 3ac90a83d..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1-dev_1.35.0-1_amd64.deb and /dev/null differ
diff --git a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb b/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb
deleted file mode 100644
index 0e9e1301d..000000000
Binary files a/linux/ecosystem/testrail/latest/main/addons/cassandra-php-driver/libuv1_1.35.0-1_amd64.deb and /dev/null differ