services/templates/compose/docker-compose.yaml

85 lines
2 KiB
YAML
Raw Normal View History

2022-11-18 15:08:16 +00:00
---
2022-11-18 19:05:58 +00:00
version: "3.9"
2022-11-18 15:08:16 +00:00
networks:
2022-11-18 19:05:58 +00:00
flow:
name: "flow"
2022-11-18 15:08:16 +00:00
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"
image: localhost/flow/traefik:${TRAEFIK_VERSION}
2022-11-18 15:08:16 +00:00
build:
2022-11-18 19:05:58 +00:00
context: "../traefik"
2022-11-18 15:08:16 +00:00
networks:
2022-11-18 19:05:58 +00:00
flow:
2022-11-18 15:08:16 +00:00
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"
image: localhost/flow/gitea:${GITEA_VERSION}
2022-11-18 15:08:16 +00:00
build:
2022-11-18 19:05:58 +00:00
context: "../gitea"
2022-11-18 15:08:16 +00:00
expose:
- "${GITEA_SSH_PORT}"
- "${GITEA_HTTP_PORT}"
networks:
2022-11-18 19:05:58 +00:00
flow:
2022-11-18 15:08:16 +00:00
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}"