# This file defines the production settings. It is overwritten by docker-compose.override.yml, # which defines the development settings. The override.yml is loaded by default. Therefore it # is required to explicitly define if you want an production build: # > docker-compose -f docker-compose.yml up version: "3.4" services: ######################################################## # FRONTEND ############################################# ######################################################## frontend: image: gradido/frontend:latest build: context: ./frontend target: production networks: - internal-net ports: - 3000:3000 environment: # Envs used in Dockerfile # - DOCKER_WORKDIR="/app" # - PORT=3000 # - BUILD_DATE="1970-01-01T00:00:00.00Z" # - BUILD_VERSION="0.0.0.0" # - BUILD_COMMIT="0000000" - NODE_ENV="production" # env_file: # - ./.env # - ./frontend/.env ######################################################## # ADMIN INTERFACE ###################################### ######################################################## admin: image: gradido/admin:latest build: context: ./admin target: production networks: - internal-net ports: - 8080:8080 environment: # Envs used in Dockerfile # - DOCKER_WORKDIR="/app" # - PORT=8090 # - BUILD_DATE="1970-01-01T00:00:00.00Z" # - BUILD_VERSION="0.0.0.0" # - BUILD_COMMIT="0000000" - NODE_ENV="production" # env_file: # - ./.env # - ./admin/.env ######################################################### ## MARIADB ############################################## ######################################################### mariadb: build: context: . dockerfile: ./mariadb/Dockerfile target: mariadb_server_test environment: - MARIADB_ALLOW_EMPTY_PASSWORD=1 - MARIADB_USER=root networks: - internal-net ports: - 3306:3306 volumes: - db_vol:/var/lib/mysql ######################################################## # BACKEND ############################################## ######################################################## backend: image: gradido/backend:latest build: # since we have to include the entities from ./database we cannot define the context as ./backend # this might blow build image size to the moon ?! context: ./ dockerfile: ./backend/Dockerfile target: production networks: - internal-net ports: - 4000:4000 depends_on: - mariadb restart: always environment: # Envs used in Dockerfile # - DOCKER_WORKDIR="/app" # - PORT=4000 - BUILD_DATE - BUILD_VERSION - BUILD_COMMIT - NODE_ENV="production" - DB_HOST=mariadb # Application only envs #env_file: # - ./frontend/.env ######################################################## # DATABASE ############################################# ######################################################## database: image: gradido/database:production_up build: context: ./database target: production_up depends_on: - mariadb networks: - internal-net #ports: # - 4000:4000 environment: # Envs used in Dockerfile # - DOCKER_WORKDIR="/app" # - PORT=4000 - BUILD_DATE - BUILD_VERSION - BUILD_COMMIT - NODE_ENV="production" - DB_HOST=mariadb # Application only envs #env_file: # - ./frontend/.env ######################################################### ## LOGIN SERVER ######################################### ######################################################### login-server: build: context: ./login_server/ depends_on: - mariadb networks: - internal-net ports: - 1200:1200 - 1201:1201 volumes: - ./configs/login_server:/etc/grd_login ######################################################### ## NGINX ################################################ ######################################################### ## nginx, connect login-server and community-server together (and php-fpm to community-server) nginx: build: context: . dockerfile: ./nginx/Dockerfile networks: - external-net - internal-net depends_on: - community-server - login-server - frontend ports: - 80:80 ######################################################### ## COMMUNITY SERVER (cakephp with php-fpm) ############## ######################################################### community-server: build: context: . target: community_server dockerfile: ./community_server/Dockerfile environment: - DB_PASSWORD='' - DB_USER='root' - DB_DATABASE='gradido_community' depends_on: - mariadb networks: - internal-net volumes: - ./community_server/config/php-fpm/php-ini-overrides.ini:/etc/php/7.4/fpm/conf.d/99-overrides.ini ######################################################### ## skeema for updating dbs if changes happend ########### ######################################################### skeema: build: context: . dockerfile: ./skeema/Dockerfile target: skeema_run depends_on: - mariadb networks: - internal-net ######################################################### ## GRADIDO NODE v1 ###################################### ######################################################### # gradido-node: # build: # context: . # dockerfile: ./gn/docker/deprecated-hedera-node/Dockerfile # volumes: # - ${GN_INSTANCE_FOLDER}:/opt/instance # container_name: ${GN_CONTAINER_NAME} ######################################################### ## GRADIDO NODE test ################################### ######################################################### # gradido-node-test: # build: # context: . # dockerfile: ./gn/docker/deprecated-hedera-node/Dockerfile # container_name: gn-test # working_dir: /opt/gn/build # command: ["./unit_tests"] networks: external-net: internal-net: internal: true volumes: db_vol: