Repository navigation
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
107 lines (104 loc) · 3.68 KB
/
Copy pathdocker-compose.yml
File metadata and controls
107 lines (104 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
# -----------------------------------------------------------------------------
# SPDX-License-Identifier: GPL-3.0-or-later
#
# @copyright Copyright (c) 2026 Rafael Mendes
# @license GPLv3+ <https://www.gnu.org/licenses/gpl-3.0.html>
# @link GitHub <https://github.com/mendescrafael>
#
# This file is part of {Nome do projeto}.
#
# 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. If not, see <https://www.gnu.org/licenses/>.
# -----------------------------------------------------------------------------
# Define o nome da Stack no Docker.
name: ${APP_NAME}-${CLIENT_ID}-${APP_ENV}
networks:
app_net:
name: ${APP_NAME}-${CLIENT_ID}
driver: bridge
services:
app:
env_file:
- .env
build:
context: .
target: ${APP_ENV}
args:
- APP_BASE_IMG=${APP_BASE_IMG}
- APP_DIR=${APP_DIR}
- BUILD_DATE=${BUILD_DATE}
- APP_ENV=${APP_ENV}
- LICENSE=${LICENSE}
- PROJECT_NAME=${PROJECT_NAME}
- PROJECT_DESCRIPTION=${PROJECT_DESCRIPTION}
- PROJECT_AUTHORS=${PROJECT_AUTHORS}
- REVISION=${REVISION}
- SSL_DIR=${SSL_DIR}
- TAG_IMAGE=${TAG_IMAGE:-latest}
- TEMPLATES_DIR=${TEMPLATES_DIR}
- TZ=${TZ}
- VENDOR_LABEL=${VENDOR_LABEL:-Contoso}
- WEBSERVER_PORT=${WEBSERVER_PORT}
- WEBSERVER_PORT_SSL=${WEBSERVER_PORT_SSL}
- WEBSERVER_USER=${WEBSERVER_USER}
- WEBSERVER_GROUP=${WEBSERVER_GROUP}
image: ${VENDOR_ID}/${APP_NAME}-${CLIENT_ID}:${TAG_IMAGE:-latest}
container_name: ${APP_NAME}-${CLIENT_ID}-app-${APP_SERVICE}-${APP_ENV}
hostname: app-${APP_SERVICE}-${APP_ENV}
restart: always
networks:
- app_net
environment:
- APP_DIR=${APP_DIR}
- APP_CONFIG_DIR=${APP_CONFIG_DIR}
- APP_FILES_DIR=${APP_FILES_DIR}
- APP_SERVICE=${APP_SERVICE}
- CRON_DIR=${CRON_DIR}
- CRON_TEMPLATE_FILE=${CRON_TEMPLATE_FILE}
- CRON_FILE=${CRON_FILE}
- DB_HOST=${DB_HOST}
- DB_USER=${DB_USER}
- DB_PASS=${DB_PASS}
- DB_NAME=${DB_NAME}
- APP_ENV=${APP_ENV}
- SSL_DIR=${SSL_DIR}
- SSL_CERT_FILE=${SSL_CERT_FILE}
- SSL_KEY_FILE=${SSL_KEY_FILE}
- TEMPLATES_DIR=${TEMPLATES_DIR}
- WEBSERVER_DIR=${WEBSERVER_DIR}
- WEBSERVER_CFG_TEMPLATE=${WEBSERVER_CFG_TEMPLATE}
- WEBSERVER_CFG_FILE=${WEBSERVER_CFG_FILE}
- WEBSERVER_VHOST_TEMPLATE=${WEBSERVER_VHOST_TEMPLATE}
- WEBSERVER_VHOST_FILE=${WEBSERVER_VHOST_FILE}
- WEBSERVER_SITE_ROOT_DIR=${WEBSERVER_SITE_ROOT_DIR}
- WEBSERVER_DOMAIN_NAME=${WEBSERVER_DOMAIN_NAME}
- WEBSERVER_ADMIN_EMAIL=${WEBSERVER_ADMIN_EMAIL}
- WEBSERVER_PORT=${WEBSERVER_PORT}
- WEBSERVER_PORT_SSL=${WEBSERVER_PORT_SSL}
ports:
- "${WEBSERVER_PORT}:${WEBSERVER_PORT}"
- "${WEBSERVER_PORT_SSL}:${WEBSERVER_PORT_SSL}"
volumes:
- ./data/app/config:${APP_CONFIG_DIR}:rw
- ./data/app/files:${APP_FILES_DIR}:rw
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 60s
timeout: 10s
retries: 3
start_period: 90s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"