Mirror of github.com/ppy/osu-web, in case ppy decides to take the original down for some reason.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

docker-compose.yml 2.0KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. version: '3.4'
  2. x-env: &x-env
  3. BROADCAST_DRIVER: redis
  4. CACHE_DRIVER: redis
  5. COMPOSER_HOME: /data/osuweb/.docker/.composer
  6. DB_HOST: db
  7. ES_HOST: elasticsearch:9200
  8. HOME: /data/osuweb/.docker
  9. NOTIFICATION_REDIS_HOST: redis
  10. REDIS_HOST: redis
  11. SESSION_DRIVER: redis
  12. YARN_CACHE_FOLDER: /data/osuweb/.docker/.yarn
  13. services:
  14. nginx:
  15. image: nginx:latest
  16. depends_on:
  17. - notification-server
  18. - php
  19. volumes:
  20. - ./docker/nginx/nginx-osu-next:/etc/nginx/conf.d/default.conf
  21. - .:/data/osuweb
  22. ports:
  23. - "${NGINX_PORT:-8080}:80"
  24. db:
  25. image: mysql:8.0
  26. volumes:
  27. - database:/var/lib/mysql
  28. - ./bin/db_setup.sh:/docker-entrypoint-initdb.d/db_setup.sh
  29. - ./docker/mysql/db_user.sql:/docker-entrypoint-initdb.d/db_user.sql
  30. environment:
  31. <<: *x-env
  32. MYSQL_ALLOW_EMPTY_PASSWORD: "yes"
  33. MYSQL_ONETIME_PASSWORD: "yes"
  34. command: --default-authentication-plugin=mysql_native_password
  35. redis:
  36. image: redis:latest
  37. elasticsearch:
  38. image: docker.elastic.co/elasticsearch/elasticsearch-oss:6.2.1
  39. volumes:
  40. - elasticsearch:/usr/share/elasticsearch/data
  41. environment:
  42. discovery.type: single-node
  43. php:
  44. build:
  45. context: ./docker/php
  46. working_dir: /data/osuweb
  47. volumes:
  48. - .:/data/osuweb
  49. user: ${UID:?err}
  50. environment:
  51. <<: *x-env
  52. command: ['/usr/sbin/php-fpm7', '-y', '/data/osuweb/docker/php/php-fpm.conf']
  53. notification-server:
  54. build:
  55. context: ./docker/notification-server
  56. depends_on:
  57. - redis
  58. working_dir: /data/osuweb
  59. volumes:
  60. - .:/data/osuweb
  61. user: ${UID:?err}
  62. environment:
  63. <<: *x-env
  64. command: ./docker/notification-server/start.sh
  65. dependencies:
  66. build:
  67. context: ./docker/dependencies
  68. volumes:
  69. - .:/data/osuweb
  70. depends_on:
  71. - db
  72. environment:
  73. <<: *x-env
  74. user: ${UID:?err}
  75. working_dir: /data/osuweb
  76. command: ['./docker/dependencies/start.sh', 'db:3306']
  77. volumes:
  78. database:
  79. elasticsearch: