# **************************************************************************************************** # * ______ _ _ * # * | ____| /\ (_) | | * # * | |__ _ _ _ __ ___ _ __ ___ __ _ _ __ / \ _ _ __ _ __ ___ _ __| |_ ___ * # * | __|| | | | '__/ _ \| '_ \ / _ \/ _` | '_ \ / /\ \ | | '__| '_ \ / _ \| '__| __/ __| * # * | |___| |_| | | | (_) | |_) | __/ (_| | | | | / ____ \| | | | |_) | (_) | | | |_\__ \ * # * |______\__,_|_| \___/| .__/ \___|\__,_|_| |_| /_/ \_\_|_| | .__/ \___/|_| \__|___/ * # * | | | | * # * |_| |_| * # * * # **************************************************************************************************** # This file is part of the European Airports Project, a free, collaborative platform of airport data # extending beyond the official AIPs. # Copyright (C) 2023 # Florian Meissner # This program is free software: you can redistribute it and/or modify it under the # terms of the GNU General Public License as published by the Free Software Foundation, either # version 3 of the License, or (at your option) any later version. This program is distributed in the # hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # details. You should have received a copy of the GNU General Public License along with this program. # (license.md in the root folder of this project) If not, see . version: '3.8' services: backend-nginx: container_name: european-airports_api-nginx build: context: ./nginx args: NGINX_VERSION: ${NGINX_VERSION} image: european-airports/api-nginx restart: always ports: - 8080:80 depends_on: - backend-php env_file: - ./nginx/nginx.env - ./backend/nginx.env volumes: - ./backend/src/:/var/www/html networks: - backend - web backend-php: container_name: european-airports_api-php build: context: ./php-fpm args: PHP_VERSION: ${PHP_VERSION} image: european-airports/api-php-fpm restart: always depends_on: - database env_file: - ./php-fpm/php.env - ./backend/php.env volumes: - ./backend/src/:/var/www/html networks: - backend secrets: - eaBackendUser - eaBackendPw frontend-nginx: container_name: european-airports_www-nginx build: context: ./nginx args: NGINX_VERSION: ${NGINX_VERSION} image: european-airports/www-nginx restart: always ports: - 8081:80 depends_on: - frontend-php env_file: - ./nginx/nginx.env - ./frontend/nginx.env volumes: - ./frontend/src/:/var/www/html networks: - web frontend-php: container_name: european-airports_www-php build: context: ./php-fpm args: PHP_VERSION: ${PHP_VERSION} image: european-airports/www-php-fpm restart: always env_file: - ./php-fpm/php.env - ./frontend/php.env volumes: - ./frontend/src/:/var/www/html networks: - web database: container_name: european-airports_mariadb build: context: ./mariadb args: MARIADB_VERSION: ${MARIADB_VERSION} image: european-airports/mariadb restart: "no" # always env_file: - ./mariadb/mariadb.env - ./database/mariadb.env volumes: - ./database/data:/var/lib/mysql - ./database/init:/docker-entrypoint-initdb.d:ro secrets: - rootUser - rootPw - eaBackendUser - eaBackendPw - eaBackendGrantTable - checkmkUser - checkmkPw - checkmkPrivs networks: - backend labels: - "traefik.enable=false" networks: backend: driver: bridge name: "european-airports/backend" web: driver: bridge name: "european-airports/web" secrets: checkmkUser: file: ./secrets/checkmk_name.txt checkmkPw: file: ./secrets/checkmk_pw.txt checkmkPrivs: file: ./secrets/checkmk_privileges.txt eaBackendUser: file: ./secrets/eaBackend_name.txt eaBackendPw: file: ./secrets/eaBackend_pw.txt eaBackendGrantTable: file: ./secrets/eaBackend_grantTable.txt rootUser: file: ./secrets/root_name.txt rootPw: file: ./secrets/root_pw.txt