mirror of
https://github.com/IT4Change/gradido.git
synced 2025-12-12 15:25:49 +00:00
185 lines
7.0 KiB
YAML
185 lines
7.0 KiB
YAML
version: "3.4"
|
|
|
|
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
|
|
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:
|
|
# 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
|
|
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:
|
|
# 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
|
|
- 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
|
|
|
|
########################################################
|
|
# 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
|
|
- dht_node_modules:/app/node_modules
|
|
- dht_database_node_modules:/database/node_modules
|
|
- dht_database_build:/database/build
|
|
# bind the local folder to the docker to allow live reload
|
|
- ./dht-node:/app
|
|
- ./database:/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
|
|
- federation_node_modules:/app/node_modules
|
|
- federation_database_node_modules:/database/node_modules
|
|
- federation_database_build:/database/build
|
|
# bind the local folder to the docker to allow live reload
|
|
- ./federation:/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.
|
|
# 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-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
|
|
- database_node_modules:/app/node_modules
|
|
- database_build:/app/build
|
|
# bind the local folder to the docker to allow live reload
|
|
- ./database:/app
|
|
|
|
#########################################################
|
|
## MARIADB ##############################################
|
|
#########################################################
|
|
mariadb:
|
|
networks:
|
|
- internal-net
|
|
- external-net
|
|
|
|
#########################################################
|
|
## NGINX ################################################
|
|
#########################################################
|
|
# nginx:
|
|
|
|
#########################################################
|
|
## PHPMYADMIN ###########################################
|
|
#########################################################
|
|
phpmyadmin:
|
|
image: phpmyadmin
|
|
environment:
|
|
- PMA_ARBITRARY=1
|
|
#restart: always
|
|
ports:
|
|
- 8074:80
|
|
networks:
|
|
- internal-net
|
|
- external-net
|
|
volumes:
|
|
- /sessions
|
|
|
|
########################################################
|
|
# MAILSERVER TO FAKE SMTP ##############################
|
|
########################################################
|
|
mailserver:
|
|
image: maildev/maildev
|
|
ports:
|
|
- 1080:1080
|
|
- 1025:1025
|
|
networks:
|
|
- external-net
|
|
|
|
volumes:
|
|
frontend_node_modules:
|
|
admin_node_modules:
|
|
backend_node_modules:
|
|
backend_database_node_modules:
|
|
backend_database_build:
|
|
dht_node_modules:
|
|
dht_database_node_modules:
|
|
dht_database_build:
|
|
federation_node_modules:
|
|
federation_database_node_modules:
|
|
federation_database_build:
|
|
database_node_modules:
|
|
database_build: |