master/docker-compose.dev.yml

111 lines
4.8 KiB
YAML

# ****************************************************************************************************
# * ______ _ _ *
# * | ____| /\ (_) | | *
# * | |__ _ _ _ __ ___ _ __ ___ __ _ _ __ / \ _ _ __ _ __ ___ _ __| |_ ___ *
# * | __|| | | | '__/ _ \| '_ \ / _ \/ _` | '_ \ / /\ \ | | '__| '_ \ / _ \| '__| __/ __| *
# * | |___| |_| | | | (_) | |_) | __/ (_| | | | | / ____ \| | | | |_) | (_) | | | |_\__ \ *
# * |______\__,_|_| \___/| .__/ \___|\__,_|_| |_| /_/ \_\_|_| | .__/ \___/|_| \__|___/ *
# * | | | | *
# * |_| |_| *
# * *
# ****************************************************************************************************
# 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 <florianmeissner@gmx.de>
# 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 <http://www.gnu.org/licenses/>.
###################################################################################################
# #
# DEVELOPMENT ONLY !!! #
# ====================== #
# #
###################################################################################################
# DEVELOPMENT Docker-Compose file for services that cannot be related to any particular project.
# This file is only ment for development purposes. It features a limited amount of servies and only
# works on HTTP.
# Variables for this file are automatically loaded from the .env file in this directory by the
# Docker daemon.
version: '3.6'
services:
# Traefik Proxy and Load Balancer
proxy:
container_name: proxy
image: traefik:2.9
restart: unless-stopped
command:
- "--api.insecure=true"
- "--api.dashboard=true"
- "--providers.docker=true"
- "--providers.file=true"
- "--providers.file.watch=true"
- "--entrypoints.web.address=:80"
- "--log.filepath=/var/log/traefik/traefik.log"
- "--log.level=debug"
- "--accesslog=true"
- "--accesslog.filepath=/var/log/traefik/access.log"
ports:
- 80:80
- 8080:8080
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- ./traefik/logs:/var/log/traefik
- ./traefik/letsencrypt:/letsencrypt
labels:
- "traefik.enable=false"
networks:
- european-airports/web
- dev
# Database GUI
phpmyadmin:
container_name: phpmyadmin
image: phpmyadmin
restart: unless-stopped
environment:
- PMA_HOST=database
- PMA_PMADB=phpmyadmin
labels:
- "traefik.http.routers.phpmyadmin.rule=Host(`pma.${BASE_URL}`)"
- "traefik.http.routers.phpmyadmin.entrypoints=web"
- "traefik.docker.network=development"
networks:
- european-airports/backend
- dev
networks:
# European-Airports services, that will be exposed to the internet
european-airports/web:
name: "european-airports/web"
external: true
# European-Airports services that are not exposed to the internet.
european-airports/backend:
name: "european-airports/backend"
external: true
# Services that are used for development purposes. Exposed to the internet.
dev:
name: "development"
driver: bridge