gradido/docker-compose.override.yml

235 lines
8.5 KiB
YAML

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
########################################################
# INSPECTOR ############################################
########################################################
inspector:
# 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/inspector: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_inspector:/app/node_modules
# 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: