services: ######################################################## # FRONTEND ############################################# ######################################################## frontend: # name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there image: gradido/frontend:local-development build: target: development networks: - external-net - internal-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 - node_modules_frontend:/app/node_modules - turbo_cache:/tmp/turbo # bind the local folder to the docker to allow live reload - .:/app ######################################################## # ADMIN INTERFACE ###################################### ######################################################## admin: # name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there image: gradido/admin:local-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 - node_modules_admin:/app/node_modules - turbo_cache:/tmp/turbo # bind the local folder to the docker to allow live reload - .:/app ######################################################## # BACKEND ############################################## ######################################################## backend: # name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there image: gradido/backend:local-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 - node_modules_backend:/app/node_modules - turbo_cache:/tmp/turbo # bind the local folder to the docker to allow live reload - .:/app ######################################################## # DHT-NODE ############################################# ######################################################## dht-node: # name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there image: gradido/dht-node:local-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 - node_modules_dht:/app/node_modules - turbo_cache:/tmp/turbo # bind the local folder to the docker to allow live reload - .:/app ######################################################## # DLT-CONNECTOR ######################################## ######################################################## dlt-connector: # name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there image: gradido/dlt-connector:local-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 - node_modules_dlt_connector:/app/node_modules - turbo_cache:/tmp/turbo # bind the local folder to the docker to allow live reload - .:/app ######################################################## # FEDERATION ########################################### ######################################################## federation: # name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there image: gradido/federation:local-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 - node_modules_federation:/app/node_modules - turbo_cache:/tmp/turbo # bind the local folder to the docker to allow live reload - .:/app ######################################################## # 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. # name the image so that it cannot be found in a DockerHub repository, otherwise it will not be built locally from the 'dockerfile' but pulled from there image: gradido/database:local-up build: target: up profiles: - up 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 - node_modules_database:/app/node_modules - turbo_cache:/tmp/turbo # bind the local folder to the docker to allow live reload - ./database:/app ######################################################### ## MARIADB ############################################## ######################################################### mariadb: networks: - internal-net - external-net ######################################################### ## NGINX ################################################ ######################################################### nginx: build: context: ./nginx/ depends_on: - backend - frontend - admin ######################################################### ## PHPMYADMIN ########################################### ######################################################### phpmyadmin: image: phpmyadmin profiles: - debug environment: - PMA_ARBITRARY=1 #restart: always ports: - 8074:80 networks: - internal-net - external-net volumes: - /sessions ######################################################## # MAILSERVER TO FAKE SMTP ############################## ######################################################## mailserver: image: maildev/maildev profiles: - debug ports: - 1080:1080 - 1025:1025 networks: - external-net volumes: node_modules: node_modules_dht: node_modules_admin: node_modules_frontend: node_modules_backend: node_modules_federation: node_modules_database: node_modules_dlt_connector: turbo_cache: turbo_cache_dht: