mirror of
https://github.com/IT4Change/gradido.git
synced 2026-02-06 09:56:05 +00:00
238 lines
8.8 KiB
YAML
238 lines
8.8 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
|
|
|
|
########################################################
|
|
# 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
|
|
- dlt_connector_modules:/app/node_modules
|
|
# bind the local folder to the docker to allow live reload
|
|
- ./dlt-connector:/app
|
|
- ./dlt-database:/dlt-database
|
|
|
|
########################################################
|
|
# 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
|
|
|
|
########################################################
|
|
# DLT-DATABASE ##############################################
|
|
########################################################
|
|
dlt-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/dlt-database:local-test_up
|
|
build:
|
|
target: test_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
|
|
- dlt-database_node_modules:/app/node_modules
|
|
- dlt-database_build:/app/build
|
|
# bind the local folder to the docker to allow live reload
|
|
- ./dlt-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:
|
|
dlt_connector_modules:
|
|
dlt-database_node_modules:
|
|
dlt-database_build:
|
|
turbo_cache:
|
|
turbo_cache_dht: |