docker-compose.dev.yml 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. version: '3'
  2. services:
  3. nginx:
  4. container_name: infisical-dev-nginx
  5. image: nginx
  6. restart: always
  7. ports:
  8. - 8080:80
  9. volumes:
  10. - ./nginx/default.dev.conf:/etc/nginx/conf.d/default.conf:ro
  11. depends_on:
  12. - frontend
  13. - backend
  14. networks:
  15. - infisical-dev
  16. backend:
  17. container_name: infisical-dev-backend
  18. restart: unless-stopped
  19. depends_on:
  20. - mongo
  21. - smtp-server
  22. - redis
  23. build:
  24. context: ./backend
  25. dockerfile: Dockerfile
  26. volumes:
  27. - ./backend/src:/app/src
  28. - ./backend/nodemon.json:/app/nodemon.json
  29. - /app/node_modules
  30. - ./backend/api-documentation.json:/app/api-documentation.json
  31. - ./backend/swagger.ts:/app/swagger.ts
  32. command: npm run dev
  33. env_file: .env
  34. environment:
  35. - NODE_ENV=development
  36. - MONGO_URL=mongodb://root:example@mongo:27017/?authSource=admin
  37. networks:
  38. - infisical-dev
  39. extra_hosts:
  40. - "host.docker.internal:host-gateway"
  41. frontend:
  42. container_name: infisical-dev-frontend
  43. restart: unless-stopped
  44. depends_on:
  45. - backend
  46. build:
  47. context: ./frontend
  48. dockerfile: Dockerfile.dev
  49. volumes:
  50. - ./frontend/src:/app/src/ # mounted whole src to avoid missing reload on new files
  51. - ./frontend/public:/app/public
  52. env_file: .env
  53. environment:
  54. - NEXT_PUBLIC_ENV=development
  55. - INFISICAL_TELEMETRY_ENABLED=${TELEMETRY_ENABLED}
  56. networks:
  57. - infisical-dev
  58. mongo:
  59. image: mongo
  60. container_name: infisical-dev-mongo
  61. restart: always
  62. env_file: .env
  63. environment:
  64. - MONGO_INITDB_ROOT_USERNAME=root
  65. - MONGO_INITDB_ROOT_PASSWORD=example
  66. volumes:
  67. - mongo-data:/data/db
  68. networks:
  69. - infisical-dev
  70. mongo-express:
  71. container_name: infisical-dev-mongo-express
  72. image: mongo-express
  73. restart: always
  74. depends_on:
  75. - mongo
  76. env_file: .env
  77. environment:
  78. - ME_CONFIG_MONGODB_ADMINUSERNAME=root
  79. - ME_CONFIG_MONGODB_ADMINPASSWORD=example
  80. - ME_CONFIG_MONGODB_URL=mongodb://root:example@mongo:27017/
  81. ports:
  82. - 8081:8081
  83. networks:
  84. - infisical-dev
  85. smtp-server:
  86. container_name: infisical-dev-smtp-server
  87. image: lytrax/mailhog:latest # https://github.com/mailhog/MailHog/issues/353#issuecomment-821137362
  88. restart: always
  89. logging:
  90. driver: 'none' # disable saving logs
  91. ports:
  92. - 1025:1025 # SMTP server
  93. - 8025:8025 # Web UI
  94. networks:
  95. - infisical-dev
  96. redis:
  97. image: redis
  98. container_name: infisical-dev-redis
  99. environment:
  100. - ALLOW_EMPTY_PASSWORD=yes
  101. ports:
  102. - 6379:6379
  103. volumes:
  104. - redis_data:/data
  105. networks:
  106. - infisical-dev
  107. redis-commander:
  108. container_name: infisical-dev-redis-commander
  109. image: rediscommander/redis-commander
  110. restart: always
  111. depends_on:
  112. - redis
  113. environment:
  114. - REDIS_HOSTS=local:redis:6379
  115. ports:
  116. - "8085:8081"
  117. networks:
  118. - infisical-dev
  119. volumes:
  120. mongo-data:
  121. driver: local
  122. redis_data:
  123. driver: local
  124. networks:
  125. infisical-dev: