docker-compose.yml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. version: '3'
  2. networks:
  3. dev:
  4. services:
  5. web:
  6. networks:
  7. - dev
  8. container_name: srcl-dev-web
  9. environment:
  10. - APACHE_RUN_USER=#1000
  11. build:
  12. context: docker/web
  13. image: srcl/local-dev-env
  14. ports:
  15. - 80:80
  16. expose:
  17. - 9003
  18. volumes:
  19. - ./app:/var/www/html
  20. - ./docker/phpconfig/uploads.ini:/usr/local/etc/php/conf.d/uploads.ini
  21. - ./docker/phpconfig/xdebug.ini:/usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
  22. - ./docker/phpconfig/error_reporting.ini:/usr/local/etc/php/conf.d/error_reporting.ini
  23. - /var/www/html/vendor/
  24. database:
  25. networks:
  26. - dev
  27. image: mariadb:10.6
  28. container_name: srcl-dev-db
  29. restart: always
  30. ports:
  31. - 3306:3306
  32. environment:
  33. MYSQL_ROOT_PASSWORD: 123
  34. MYSQL_USER: root
  35. MYSQL_PASSWORD: 123
  36. volumes:
  37. - ./docker/database:/var/lib/mysql #If you are going to be using the same database data across local servers/projects, change ./docker/database to a location
  38. #outside of this server tree and then set this volume path in the docker-compose.yml for each server.
  39. phpmyadmin:
  40. networks:
  41. - dev
  42. image: phpmyadmin
  43. container_name: srcl-dev-phpmyadmin
  44. depends_on:
  45. - database
  46. links:
  47. - database
  48. environment:
  49. PMA_HOST: database
  50. PMA_PORT: 3306
  51. MYSQL_ROOT_PASSWORD: 123
  52. ports:
  53. - 8000:80
  54. - 4300:443
  55. volumes:
  56. - /sessions
  57. redis:
  58. networks:
  59. - dev
  60. image: redis:alpine
  61. container_name: srcl-dev-redis
  62. command: redis-server --appendonly yes --requirepass "myapp"
  63. ports:
  64. - "8002:6379"