docker-compose.yml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. ## this is a docker compose file used to test all scenarios
  2. ## do not use it in production
  3. x-shared:
  4. speedtest-service: &speedtest-service
  5. environment:
  6. - PASSWORD=gimmeTheStats1337
  7. - [email protected]
  8. - ENABLE_ID_OBFUSCATION=true
  9. - MODE=standalone
  10. - REDACT_IP_ADDRESSES=true
  11. - TELEMETRY=true
  12. services:
  13. ###################### POSTGRESQL ################################
  14. pg:
  15. image: postgres:alpine
  16. environment:
  17. POSTGRES_PASSWORD: Not4SecureProduction
  18. POSTGRES_USER: librespeed
  19. volumes:
  20. # mount init script from source to create database tables
  21. - ../../results/telemetry_postgresql.sql:/docker-entrypoint-initdb.d/01-init.sql
  22. speedtest-debian-pg:
  23. build:
  24. context: ../..
  25. dockerfile: Dockerfile
  26. environment: &env_vars_pg
  27. - PASSWORD=gimmeTheStats1337
  28. - DB_HOSTNAME=pg
  29. - DB_NAME=librespeed
  30. - DB_PASSWORD=Not4SecureProduction
  31. - DB_TYPE=postgresql
  32. - DB_USERNAME=librespeed
  33. - [email protected]
  34. - ENABLE_ID_OBFUSCATION=true
  35. - MODE=standalone
  36. - REDACT_IP_ADDRESSES=true
  37. - TELEMETRY=true
  38. ports:
  39. - 9123:8080
  40. speedtest-alpine-pg:
  41. build:
  42. context: ../..
  43. dockerfile: Dockerfile.alpine
  44. environment: *env_vars_pg
  45. ports:
  46. - 9124:8080
  47. ####################### MYSQL ##############################
  48. mysql:
  49. image: mysql:lts
  50. environment:
  51. MYSQL_ROOT_PASSWORD: Not4SecureProduction
  52. MYSQL_USER: librespeed
  53. MYSQL_PASSWORD: Not4SecureProduction
  54. MYSQL_DATABASE: librespeed
  55. volumes:
  56. # mount init script from source to create database tables
  57. - ../../results/telemetry_mysql.sql:/docker-entrypoint-initdb.d/01-init.sql
  58. speedtest-debian-mysql:
  59. # check at http://localhost:9125/results/sanitycheck.php
  60. build:
  61. context: ../..
  62. dockerfile: Dockerfile
  63. environment: &env_vars_mysql
  64. - PASSWORD=gimmeTheStats1337
  65. - DB_HOSTNAME=mysql
  66. - DB_NAME=librespeed
  67. - DB_PASSWORD=Not4SecureProduction
  68. - DB_TYPE=mysql
  69. - DB_USERNAME=librespeed
  70. - [email protected]
  71. - ENABLE_ID_OBFUSCATION=true
  72. - MODE=standalone
  73. - REDACT_IP_ADDRESSES=true
  74. - TELEMETRY=true
  75. ports:
  76. - 9125:8080
  77. speedtest-alpine-mysql:
  78. build:
  79. context: ../..
  80. dockerfile: Dockerfile.alpine
  81. environment: *env_vars_mysql
  82. ports:
  83. - 9126:8080
  84. ###### SQLITE ######
  85. speedtest-debian-sqlite:
  86. # check at http://localhost:9125/results/sanitycheck.php
  87. build:
  88. context: ../..
  89. dockerfile: Dockerfile
  90. environment: &env_vars_sqlite
  91. - PASSWORD=gimmeTheStats1337
  92. - [email protected]
  93. - ENABLE_ID_OBFUSCATION=true
  94. - MODE=standalone
  95. - REDACT_IP_ADDRESSES=true
  96. - TELEMETRY=true
  97. ports:
  98. - 9127:8080
  99. speedtest-alpine-sqlite:
  100. build:
  101. context: ../..
  102. dockerfile: Dockerfile.alpine
  103. environment: *env_vars_sqlite
  104. ports:
  105. - 9128:8080
  106. speedtest-alpine-sqlite-dual:
  107. <<: *speedtest-service
  108. build:
  109. context: ../..
  110. dockerfile: Dockerfile.alpine
  111. environment:
  112. - MODE=dual
  113. volumes:
  114. - ./servers.json:/servers.json:ro
  115. ports:
  116. - 9129:8080