diff --git a/omnilab-ats/exposed_ui/README.md b/omnilab-ats/exposed_ui/README.md new file mode 100644 index 00000000..9258b989 --- /dev/null +++ b/omnilab-ats/exposed_ui/README.md @@ -0,0 +1,24 @@ +# Omnilab Android Test Studio + +Setup for Omnilab ATS exposed UI testbed. + +## Deployment + +The testbed can be deployed using docker compose running the following inside this directory + +```sh +docker compose up -d +``` + +This will setup an exposed instance (without any authentication) at and an instance behind basic auth (Omnilab ATS does not provide any authentication) at (creds are `admin`:`changeme`). + +The testbed can then be stopped and removed running the following from within the same directory + +```sh +docker compose down +``` + +## Resources + +- +- diff --git a/omnilab-ats/exposed_ui/docker-compose.yml b/omnilab-ats/exposed_ui/docker-compose.yml new file mode 100644 index 00000000..dbce3872 --- /dev/null +++ b/omnilab-ats/exposed_ui/docker-compose.yml @@ -0,0 +1,51 @@ +services: + mtt: + image: gcr.io/android-mtt/mtt:prod + container_name: mtt + ports: + - "8000:8000" + volumes: + - /var/run/docker.sock:/var/run/docker.sock + environment: + - MTT_CONTROL_SERVER_PORT=8000 + - OPERATION_MODE=on_premise + - IS_OMNILAB_BASED=true + restart: unless-stopped + networks: + - internal + nginx: + image: nginx:alpine + ports: + - "8001:80" + configs: + - source: nginx_config + target: /etc/nginx/nginx.conf + - source: htpasswd + target: /etc/nginx/.htpasswd + depends_on: + - mtt + restart: unless-stopped + networks: + - internal + +networks: + internal: + +configs: + nginx_config: + content: | + events { worker_connections 1024; } + http { + server { + listen 80; + location / { + auth_basic "ATS"; + auth_basic_user_file /etc/nginx/.htpasswd; + proxy_pass http://mtt:8000; + } + } + } + + htpasswd: + content: | + admin:$2y$05$7eaUZOK1Q7SuT9tv67PwvulFo7/ysDHS8bKM6G4rENSJZdEMlMa42