version: "3.4" services: ######################################################## # FRONTEND ############################################# ######################################################## frontend: image: gradido/frontend:development build: target: development networks: - external-net environment: - NODE_ENV="development" # - DEBUG=true volumes: # This makes sure the docker container has its own node modules. # Therefore it is possible to have a different node version on the host machine - frontend_node_modules:/app/node_modules # bind the local folder to the docker to allow live reload - ./frontend:/app ######################################################## # ADMIN INTERFACE ###################################### ######################################################## admin: image: gradido/admin:development build: target: development networks: - external-net environment: - NODE_ENV="development" # - DEBUG=true volumes: # This makes sure the docker container has its own node modules. # Therefore it is possible to have a different node version on the host machine - admin_node_modules:/app/node_modules # bind the local folder to the docker to allow live reload - ./admin:/app ######################################################## # BACKEND ############################################## ######################################################## backend: image: gradido/backend:development build: target: development networks: - external-net - internal-net environment: - NODE_ENV="development" volumes: # This makes sure the docker container has its own node modules. # Therefore it is possible to have a different node version on the host machine - backend_node_modules:/app/node_modules - backend_database_node_modules:/database/node_modules - backend_database_build:/database/build # bind the local folder to the docker to allow live reload - ./backend:/app - ./database:/database ######################################################## # DATABASE ############################################## ######################################################## database: # we always run on production here since else the service lingers # feel free to change this behaviour if it seems useful # Due to problems with the volume caching the built files # we changed this to test build. This keeps the service running. image: gradido/database:test_up build: target: test_up #networks: # - external-net # - internal-net environment: - NODE_ENV="development" volumes: # This makes sure the docker container has its own node modules. # Therefore it is possible to have a different node version on the host machine - database_node_modules:/app/node_modules - database_build:/app/build # bind the local folder to the docker to allow live reload - ./database:/app ######################################################### ## LOGIN SERVER ######################################### ######################################################### login-server: build: dockerfile: Dockerfiles/ubuntu/Dockerfile.debug security_opt: - seccomp:unconfined cap_add: - SYS_PTRACE volumes: - ./logs:/var/log/grd_login - ./login_server/src:/code/src - ./login_server/dependencies:/code/dependencies - ./login_server/scripts:/code/scripts - ./configs/login_server:/etc/grd_login - login_build_ubuntu_3.1:/code/build ######################################################### ## COMMUNITY SERVER (cakephp with php-fpm) ############## ######################################################### community-server: build: context: . target: community_server dockerfile: ./community_server/Dockerfile depends_on: - mariadb networks: - internal-net - external-net volumes: - ./community_server/config/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini - ./community_server/src:/var/www/cakephp/src ######################################################### ## MARIADB ############################################## ######################################################### mariadb: networks: - internal-net - external-net ######################################################### ## NGINX ################################################ ######################################################### nginx: depends_on: - frontend - community-server - login-server volumes: - ./logs/nginx:/var/log/nginx ######################################################### ## PHPMYADMIN ########################################### ######################################################### phpmyadmin: image: phpmyadmin environment: - PMA_ARBITRARY=1 #restart: always ports: - 8074:80 networks: - internal-net - external-net volumes: - /sessions ######################################################### ## skeema for updating dbs if changes happend ########### ######################################################### skeema: build: context: . dockerfile: ./skeema/Dockerfile target: skeema_dev_run depends_on: - mariadb networks: - internal-net volumes: - ./login_server/skeema/gradido_login:/skeema/gradido_login volumes: frontend_node_modules: admin_node_modules: backend_node_modules: backend_database_node_modules: backend_database_build: database_node_modules: database_build: login_build_ubuntu_3.1: