services/templates/compose/docker-compose.yaml
Dan Anglin fa12b7491c
fix: update GTS configuration
- Change the instance name to 'Free Flow'.
- Change the local GTS docker image version from 'latest' to
  $GTS_VERSION.
- Use GTS_DOCKER_IMAGE_DIGEST to specify the image digest.
- Allow users (i.e. myself) to upload custom CSS.
2023-02-05 16:07:36 +00:00

112 lines
2.7 KiB
YAML

---
version: "3.9"
networks:
flow:
name: "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"
image: localhost/flow/traefik:${TRAEFIK_VERSION}
build:
context: "../traefik"
networks:
flow:
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}
build:
context: "../gitea"
expose:
- "${GITEA_SSH_PORT}"
- "${GITEA_HTTP_PORT}"
networks:
flow:
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}"
# -- Free Flow 2 --
gotosocial:
container_name: "free-flow-2"
image: localhost/flow/gotosocial:${GTS_VERSION}
build:
context: "../gotosocial"
expose:
- "${GTS_PORT}"
networks:
flow:
ipv4_address: "${GTS_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
# Go To Social data volume
- type: "bind"
source: "${GTS_DATA_HOST_DIR}"
target: "${GTS_DATA_CONTAINER_DIR}"