TestRail 5.4-9.1 on Apache2 + PHP-FPM (ionCube), with AD / LDAP auth variants
50K+
epicmorg/testrailSelf-hosted TestRail images, generated by bin/ansible
(role gurock.testrail) - one directory per TestRail release.
based on epicmorg/apache2:php<ver>:
Apache2 + PHP-FPM over a unix socket, run by supervisor; ionCube loader from epicmorg/php;
the PHP line follows what each TestRail release supports:
| TestRail | PHP | Cassandra PHP extension |
|---|---|---|
5.4.1 ... 5.6.0 | 7.0 | - |
5.7.0 ... 6.3.1 | 7.1 | - |
6.4.0 ... 6.7.2 | 7.2 | - |
7.0.0 ... 7.5.3 | 7.4 | Gurock's prebuilt DataStax driver |
8.0.0 ... 9.1.0 | 8.1 | PHP 8 fork of the DataStax driver, built from source |
supervisor programs: php-fpm, apache2, testrail-task (background task every
TR_DEFAULT_TASK_EXECUTION seconds, default 60);
on every start the TestRail code is re-extracted into /var/www/testrail;
ports 80 / 443.
Tags per release:
<version> - TestRail;auth-ad-<version> / auth-ldap-<version> - plus the Active Directory / LDAP authentication
script and the PHP ldap extension (own OpenLDAP client built against PHP's OpenSSL). Configure
the script and mount it as /var/www/testrail/custom/auth/auth.php.TestRail 7.0+ needs a Cassandra server - e.g. epicmorg/cassandra:3.11.
Each version directory has its own README with the exact contents.
| Directory | Tags |
|---|---|
5.4.1.3669 | 5.4.1.3669, auth-ad-5.4.1.3669, auth-ldap-5.4.1.3669 |
5.5.0.3727 | 5.5.0.3727, auth-ad-5.5.0.3727, auth-ldap-5.5.0.3727 |
5.5.0.3731 | 5.5.0.3731, auth-ad-5.5.0.3731, auth-ldap-5.5.0.3731 |
5.5.0.3735 | 5.5.0.3735, auth-ad-5.5.0.3735, auth-ldap-5.5.0.3735 |
5.5.1.3746 | 5.5.1.3746, auth-ad-5.5.1.3746, auth-ldap-5.5.1.3746 |
5.6.0.3853 | 5.6.0.3853, auth-ad-5.6.0.3853, auth-ldap-5.6.0.3853 |
5.6.0.3856 | 5.6.0.3856, auth-ad-5.6.0.3856, auth-ldap-5.6.0.3856 |
5.6.0.3861 | 5.6.0.3861, auth-ad-5.6.0.3861, auth-ldap-5.6.0.3861 |
5.6.0.3862 | 5.6.0.3862, auth-ad-5.6.0.3862, auth-ldap-5.6.0.3862 |
5.6.0.3865 | 5.6.0.3865, auth-ad-5.6.0.3865, auth-ldap-5.6.0.3865 |
5.7.0.3938 | 5.7.0.3938, auth-ad-5.7.0.3938, auth-ldap-5.7.0.3938 |
5.7.0.3942 | 5.7.0.3942, auth-ad-5.7.0.3942, auth-ldap-5.7.0.3942 |
5.7.0.3951 | 5.7.0.3951, auth-ad-5.7.0.3951, auth-ldap-5.7.0.3951 |
5.7.1.4026 | 5.7.1.4026, auth-ad-5.7.1.4026, auth-ldap-5.7.1.4026 |
5.7.1.4028 | 5.7.1.4028, auth-ad-5.7.1.4028, auth-ldap-5.7.1.4028 |
6.0.0.4140 | 6.0.0.4140, auth-ad-6.0.0.4140, auth-ldap-6.0.0.4140 |
6.0.1.4163 | 6.0.1.4163, auth-ad-6.0.1.4163, auth-ldap-6.0.1.4163 |
6.1.0.4367 | 6.1.0.4367, auth-ad-6.1.0.4367, auth-ldap-6.1.0.4367 |
6.1.0.4369 | 6.1.0.4369, auth-ad-6.1.0.4369, auth-ldap-6.1.0.4369 |
6.1.1.1020 | 6.1.1.1020, auth-ad-6.1.1.1020, auth-ldap-6.1.1.1020 |
6.1.1.1021 | 6.1.1.1021, auth-ad-6.1.1.1021, auth-ldap-6.1.1.1021 |
6.2.0.1085 | 6.2.0.1085, auth-ad-6.2.0.1085, auth-ldap-6.2.0.1085 |
6.2.1.1003 | 6.2.1.1003, auth-ad-6.2.1.1003, auth-ldap-6.2.1.1003 |
6.2.1.1005 | 6.2.1.1005, auth-ad-6.2.1.1005, auth-ldap-6.2.1.1005 |
6.2.2.1107 | 6.2.2.1107, auth-ad-6.2.2.1107, auth-ldap-6.2.2.1107 |
6.2.3.1114 | 6.2.3.1114, auth-ad-6.2.3.1114, auth-ldap-6.2.3.1114 |
6.3.0.1120 | 6.3.0.1120, auth-ad-6.3.0.1120, auth-ldap-6.3.0.1120 |
6.3.1.1004 | 6.3.1.1004, auth-ad-6.3.1.1004, auth-ldap-6.3.1.1004 |
6.3.1.1006 | 6.3.1.1006, auth-ad-6.3.1.1006, auth-ldap-6.3.1.1006 |
6.4.0.1284 | 6.4.0.1284, auth-ad-6.4.0.1284, auth-ldap-6.4.0.1284 |
6.4.0.1293 | 6.4.0.1293, auth-ad-6.4.0.1293, auth-ldap-6.4.0.1293 |
6.5.0.1298 | 6.5.0.1298, auth-ad-6.5.0.1298, auth-ldap-6.5.0.1298 |
6.5.1.1002 | 6.5.1.1002, auth-ad-6.5.1.1002, auth-ldap-6.5.1.1002 |
6.5.3.1001 | 6.5.3.1001, auth-ad-6.5.3.1001, auth-ldap-6.5.3.1001 |
6.5.4.1002 | 6.5.4.1002, auth-ad-6.5.4.1002, auth-ldap-6.5.4.1002 |
6.5.4.1007 | 6.5.4.1007, auth-ad-6.5.4.1007, auth-ldap-6.5.4.1007 |
6.5.5.1009 | 6.5.5.1009, auth-ad-6.5.5.1009, auth-ldap-6.5.5.1009 |
6.5.6.1014 | 6.5.6.1014, auth-ad-6.5.6.1014, auth-ldap-6.5.6.1014 |
6.5.7.1000 | 6.5.7.1000, auth-ad-6.5.7.1000, auth-ldap-6.5.7.1000 |
6.6.0.1156 | 6.6.0.1156, auth-ad-6.6.0.1156, auth-ldap-6.6.0.1156 |
6.6.1.1166 | 6.6.1.1166, auth-ad-6.6.1.1166, auth-ldap-6.6.1.1166 |
6.7.1.1020 | 6.7.1.1020, auth-ad-6.7.1.1020, auth-ldap-6.7.1.1020 |
6.7.2.1037 | 6.7.2.1037, auth-ad-6.7.2.1037, auth-ldap-6.7.2.1037 |
6.7.2.1043 | 6.7.2.1043, auth-ad-6.7.2.1043, auth-ldap-6.7.2.1043 |
7.0.0.1057 | 7.0.0.1057, auth-ad-7.0.0.1057, auth-ldap-7.0.0.1057 |
7.0.1.1002 | 7.0.1.1002, auth-ad-7.0.1.1002, auth-ldap-7.0.1.1002 |
7.0.1.1013 | 7.0.1.1013, auth-ad-7.0.1.1013, auth-ldap-7.0.1.1013 |
7.0.2.1014 | 7.0.2.1014, auth-ad-7.0.2.1014, auth-ldap-7.0.2.1014 |
7.0.2.1015 | 7.0.2.1015, auth-ad-7.0.2.1015, auth-ldap-7.0.2.1015 |
7.0.2.1016 | 7.0.2.1016, auth-ad-7.0.2.1016, auth-ldap-7.0.2.1016 |
7.4.1.8079 | 7.4.1.8079, auth-ad-7.4.1.8079, auth-ldap-7.4.1.8079 |
7.4.1.8091 | 7.4.1.8091, auth-ad-7.4.1.8091, auth-ldap-7.4.1.8091 |
7.4.1.8092 | 7.4.1.8092, auth-ad-7.4.1.8092, auth-ldap-7.4.1.8092 |
7.5.1.7010 | 7.5.1.7010, auth-ad-7.5.1.7010, auth-ldap-7.5.1.7010 |
7.5.1.7012 | 7.5.1.7012, auth-ad-7.5.1.7012, auth-ldap-7.5.1.7012 |
7.5.1.7013 | 7.5.1.7013, auth-ad-7.5.1.7013, auth-ldap-7.5.1.7013 |
7.5.2.1002 | 7.5.2.1002, auth-ad-7.5.2.1002, auth-ldap-7.5.2.1002 |
7.5.3.1000 | 7.5.3.1000, auth-ad-7.5.3.1000, auth-ldap-7.5.3.1000 |
8.0.0.1089 | 8.0.0.1089, auth-ad-8.0.0.1089, auth-ldap-8.0.0.1089 |
8.0.1.1029 | 8.0.1.1029, auth-ad-8.0.1.1029, auth-ldap-8.0.1.1029 |
8.0.4.7036 | 8.0.4.7036, auth-ad-8.0.4.7036, auth-ldap-8.0.4.7036 |
8.0.6.1019 | 8.0.6.1019, auth-ad-8.0.6.1019, auth-ldap-8.0.6.1019 |
8.1.0.6165 | 8.1.0.6165, auth-ad-8.1.0.6165, auth-ldap-8.1.0.6165 |
8.1.0.6186 | 8.1.0.6186, auth-ad-8.1.0.6186, auth-ldap-8.1.0.6186 |
9.0.0.1057 | 9.0.0.1057, auth-ad-9.0.0.1057, auth-ldap-9.0.0.1057 |
9.0.0.1091 | 9.0.0.1091, auth-ad-9.0.0.1091, auth-ldap-9.0.0.1091 |
9.1.0.1025 | 9.1.0.1025, auth-ad-9.1.0.1025, auth-ldap-9.1.0.1025 |
Every tag is pushed to docker.io, quay.io and ghcr.io (epicmorg/testrail:<tag> on each) - same digest everywhere.
services:
testrail:
image: epicmorg/testrail:9.1.0.1025
restart: always
ports:
- "80:80"
volumes:
- ./custom/auth/auth.php:/var/www/testrail/custom/auth/auth.php:ro # auth-* tags only
- ./attachments:/opt/testrail/attachments
- ./audit:/opt/testrail/audit
- ./logs:/opt/testrail/logs
- ./reports:/opt/testrail/reports
- ./config:/var/www/testrail/config
depends_on:
- mysql
- rabbitmq
- cassandra
environment:
- TR_DEFAULT_TASK_EXECUTION=60
mysql:
image: mysql:8
restart: always
volumes:
- ./mysql/my.cnf:/etc/mysql/my.cnf
- ./mysql/data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password
cassandra:
image: epicmorg/cassandra:3.11
restart: always
ulimits:
memlock: -1
nproc: 1048575
nofile: 100000
volumes:
- /etc/localtime:/etc/localtime:ro
- /etc/timezone:/etc/timezone:ro
- ./cassandra:/var/lib/cassandra
rabbitmq:
image: rabbitmq:3-management
restart: always
environment:
- RABBITMQ_DEFAULT_USER=testrail
- RABBITMQ_DEFAULT_PASS=testrail
volumes:
- ./rabbitmq:/var/lib/rabbitmq
Installation and database setup: see the TestRail documentation for the server edition.
Content type
Image
Digest
sha256:60824a013…
Size
1 GB
Last updated
about 2 hours ago
docker pull epicmorg/testrail:auth-ldap-5.4.1.3668