Sign inSign up

epicmorg/testrail

By epicmorg

•Updated 2 days ago

TestRail 3.1-9.1 on Apache2 + PHP-FPM (ionCube), with AD / LDAP auth variants

Image
1

100K+

epicmorg/testrail repository overview

⁠epicmorg/testrail

Self-hosted TestRail⁠ images, generated by bin/ansible (role gurock.testrail) - one directory per TestRail release.

⁠What's inside

  • 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:

    TestRailPHPCassandra PHP extension
    3.1.0 ... 4.2.05.5-
    4.2.1 ... 5.3.05.6-
    5.4.0 ... 5.6.07.0-
    5.7.0 ... 6.3.17.1-
    6.4.0 ... 6.7.27.2-
    7.0.0 ... 7.5.37.4Gurock's prebuilt DataStax driver
    8.0.0 ... 9.1.08.1PHP 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 - 2.6, or 2.4 on the PHP 5.x lines whose OpenSSL 1.0.2 OpenLDAP 2.5+ no longer supports). 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.

⁠Tags

DirectoryTags
3.1.0.3127⁠3.1.0.3127, auth-ad-3.1.0.3127, auth-ldap-3.1.0.3127
3.1.1.3130⁠3.1.1.3130, auth-ad-3.1.1.3130, auth-ldap-3.1.1.3130
3.1.2.3142⁠3.1.2.3142, auth-ad-3.1.2.3142, auth-ldap-3.1.2.3142
3.1.3.3146⁠3.1.3.3146, auth-ad-3.1.3.3146, auth-ldap-3.1.3.3146
4.0.0.3264⁠4.0.0.3264, auth-ad-4.0.0.3264, auth-ldap-4.0.0.3264
4.0.1.3267⁠4.0.1.3267, auth-ad-4.0.1.3267, auth-ldap-4.0.1.3267
4.0.2.3269⁠4.0.2.3269, auth-ad-4.0.2.3269, auth-ldap-4.0.2.3269
4.0.3.3270⁠4.0.3.3270, auth-ad-4.0.3.3270, auth-ldap-4.0.3.3270
4.0.4.3277⁠4.0.4.3277, auth-ad-4.0.4.3277, auth-ldap-4.0.4.3277
4.1.0.3291⁠4.1.0.3291, auth-ad-4.1.0.3291, auth-ldap-4.1.0.3291
4.1.0.3294⁠4.1.0.3294, auth-ad-4.1.0.3294, auth-ldap-4.1.0.3294
4.2.0.3312⁠4.2.0.3312, auth-ad-4.2.0.3312, auth-ldap-4.2.0.3312
4.2.0.3315⁠4.2.0.3315, auth-ad-4.2.0.3315, auth-ldap-4.2.0.3315
4.2.1.3321⁠4.2.1.3321, auth-ad-4.2.1.3321, auth-ldap-4.2.1.3321
5.0.0.3357⁠5.0.0.3357, auth-ad-5.0.0.3357, auth-ldap-5.0.0.3357
5.0.0.3363⁠5.0.0.3363, auth-ad-5.0.0.3363, auth-ldap-5.0.0.3363
5.0.0.3364⁠5.0.0.3364, auth-ad-5.0.0.3364, auth-ldap-5.0.0.3364
5.0.0.3365⁠5.0.0.3365, auth-ad-5.0.0.3365, auth-ldap-5.0.0.3365
5.0.0.3367⁠5.0.0.3367, auth-ad-5.0.0.3367, auth-ldap-5.0.0.3367
5.0.1.3370⁠5.0.1.3370, auth-ad-5.0.1.3370, auth-ldap-5.0.1.3370
5.0.1.3371⁠5.0.1.3371, auth-ad-5.0.1.3371, auth-ldap-5.0.1.3371
5.0.2.3372⁠5.0.2.3372, auth-ad-5.0.2.3372, auth-ldap-5.0.2.3372
5.1.0.3412⁠5.1.0.3412, auth-ad-5.1.0.3412, auth-ldap-5.1.0.3412
5.1.0.3413⁠5.1.0.3413, auth-ad-5.1.0.3413, auth-ldap-5.1.0.3413
5.2.0.3451⁠5.2.0.3451, auth-ad-5.2.0.3451, auth-ldap-5.2.0.3451
5.2.0.3452⁠5.2.0.3452, auth-ad-5.2.0.3452, auth-ldap-5.2.0.3452
5.2.1.3472⁠5.2.1.3472, auth-ad-5.2.1.3472, auth-ldap-5.2.1.3472
5.3.0.3603⁠5.3.0.3603, auth-ad-5.3.0.3603, auth-ldap-5.3.0.3603
5.4.0.3659⁠5.4.0.3659, auth-ad-5.4.0.3659, auth-ldap-5.4.0.3659
5.4.1.3668⁠5.4.1.3668, auth-ad-5.4.1.3668, auth-ldap-5.4.1.3668
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.

⁠Usage

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.

Tag summary

Content type

Image

Digest

sha256:4893b27a9…

Size

1.3 GB

Last updated

2 days ago

docker pull epicmorg/testrail:auth-ldap-6.5.7.1000