94 lines
2.3 KiB
YAML
94 lines
2.3 KiB
YAML
---
|
|
version: "3.8"
|
|
|
|
networks:
|
|
forge:
|
|
name: "forge-flow"
|
|
ipam:
|
|
driver: "default"
|
|
config:
|
|
- subnet: "${NETWORK_FORGE_FLOW_SUBNET}"
|
|
|
|
volumes:
|
|
traefik-shared:
|
|
name: "traefik-config-shared-volume"
|
|
|
|
services:
|
|
# -- Traffic flow --
|
|
traefik:
|
|
container_name: "traffic-flow"
|
|
build:
|
|
args:
|
|
TRAEFIK_VERSION: "${TRAEFIK_VERSION}"
|
|
context: "./traefik"
|
|
networks:
|
|
forge:
|
|
ipv4_address: "${TRAEFIK_CONTAINER_IPV4_ADDRESS}"
|
|
ports:
|
|
- target: 80
|
|
published: 80
|
|
protocol: "tcp"
|
|
mode: "host"
|
|
- target: 443
|
|
published: 443
|
|
protocol: "tcp"
|
|
mode: "host"
|
|
- target: ${TRAEFIK_EXTERNAL_SSH_PORT}
|
|
published: ${TRAEFIK_EXTERNAL_SSH_PORT}
|
|
protocol: "tcp"
|
|
mode: "host"
|
|
restart: "always"
|
|
volumes:
|
|
- type: "volume"
|
|
source: "traefik-shared"
|
|
target: "${TRAEFIK_SHARED_MOUNT_POINT}"
|
|
- type: "bind"
|
|
source: "/etc/timezone"
|
|
target: "/etc/timezone"
|
|
read_only: true
|
|
- type: "bind"
|
|
source: "/etc/localtime"
|
|
target: "/etc/localtime"
|
|
read_only: true
|
|
# Traefik TLS volume
|
|
- type: "bind"
|
|
source: "${TRAEFIK_TLS_HOST_DIR}"
|
|
target: "${TRAEFIK_TLS_CONTAINER_DIR}"
|
|
# -- Code flow --
|
|
gitea:
|
|
container_name: "code-flow"
|
|
build:
|
|
args:
|
|
FLOW_GID: "${FLOW_GID}"
|
|
FLOW_UID: "${FLOW_UID}"
|
|
GITEA_HOME: "${GITEA_HOME}"
|
|
GITEA_WORK_DIR: "${GITEA_WORK_DIR}"
|
|
GITEA_CUSTOM: "${GITEA_CUSTOM}"
|
|
GITEA_APP_INI: "${GITEA_APP_INI}"
|
|
GITEA_BIN: "${GITEA_BIN}"
|
|
GITEA_DATA_CONTAINER_DIR: "${GITEA_DATA_CONTAINER_DIR}"
|
|
GITEA_TMP: "${GITEA_TMP}"
|
|
context: "./gitea"
|
|
expose:
|
|
- "${GITEA_SSH_PORT}"
|
|
- "${GITEA_HTTP_PORT}"
|
|
networks:
|
|
forge:
|
|
ipv4_address: "${GITEA_CONTAINER_IPV4_ADDRESS}"
|
|
restart: "always"
|
|
volumes:
|
|
- type: "volume"
|
|
source: "traefik-shared"
|
|
target: "${TRAEFIK_SHARED_MOUNT_POINT}"
|
|
- type: "bind"
|
|
source: "/etc/timezone"
|
|
target: "/etc/timezone"
|
|
read_only: true
|
|
- type: "bind"
|
|
source: "/etc/localtime"
|
|
target: "/etc/localtime"
|
|
read_only: true
|
|
# Gitea data volume
|
|
- type: "bind"
|
|
source: "${GITEA_DATA_HOST_DIR}"
|
|
target: "${GITEA_DATA_CONTAINER_DIR}"
|