docker-compose.yml 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. version: '3'
  2. services:
  3. shlink_nginx:
  4. container_name: shlink_nginx
  5. image: nginx:1.15.9-alpine
  6. ports:
  7. - "8000:80"
  8. volumes:
  9. - ./:/home/shlink/www
  10. - ./docs:/home/shlink/www/public/docs
  11. - ./data/infra/vhost.conf:/etc/nginx/conf.d/default.conf
  12. links:
  13. - shlink_php
  14. shlink_php:
  15. container_name: shlink_php
  16. build:
  17. context: .
  18. dockerfile: ./data/infra/php.Dockerfile
  19. volumes:
  20. - ./:/home/shlink/www
  21. - ./data/infra/php.ini:/usr/local/etc/php/php.ini
  22. links:
  23. - shlink_db
  24. - shlink_db_postgres
  25. - shlink_db_maria
  26. - shlink_redis
  27. shlink_swoole:
  28. container_name: shlink_swoole
  29. build:
  30. context: .
  31. dockerfile: ./data/infra/swoole.Dockerfile
  32. ports:
  33. - "8080:8080"
  34. volumes:
  35. - ./:/home/shlink
  36. links:
  37. - shlink_db
  38. - shlink_db_postgres
  39. - shlink_db_maria
  40. - shlink_redis
  41. shlink_db:
  42. container_name: shlink_db
  43. image: mysql:5.7
  44. ports:
  45. - "3307:3306"
  46. volumes:
  47. - ./:/home/shlink/www
  48. - ./data/infra/database:/var/lib/mysql
  49. environment:
  50. MYSQL_ROOT_PASSWORD: root
  51. MYSQL_DATABASE: shlink
  52. shlink_db_postgres:
  53. container_name: shlink_db_postgres
  54. image: postgres:10.7-alpine
  55. ports:
  56. - "5433:5432"
  57. volumes:
  58. - ./:/home/shlink/www
  59. - ./data/infra/database_pg:/var/lib/postgresql/data
  60. environment:
  61. POSTGRES_PASSWORD: root
  62. POSTGRES_DB: shlink
  63. PGDATA: /var/lib/postgresql/data/pgdata
  64. shlink_db_maria:
  65. container_name: shlink_db_maria
  66. image: mariadb:10.2
  67. ports:
  68. - "3308:3306"
  69. volumes:
  70. - ./:/home/shlink/www
  71. - ./data/infra/database_maria:/var/lib/mysql
  72. environment:
  73. MYSQL_ROOT_PASSWORD: root
  74. MYSQL_DATABASE: shlink
  75. shlink_redis:
  76. container_name: shlink_redis
  77. image: redis:5.0-alpine
  78. ports:
  79. - "6380:6379"