docker-compose/gitea/docker-compose.yml

135 lines
3.3 KiB
YAML

version: '3.9'
networks:
default:
services:
gitea:
image: gitea/gitea:${GITEA_VERSION:-1.16}
restart: unless-stopped
environment:
# https://docs.gitea.io/en-us/install-with-docker/#environments-variables
- APP_NAME="Gitea"
- USER_UID=1000
- USER_GID=1000
- GITEA__server__DOMAIN=$app_fqdn
- GITEA__server__SSH_DOMAIN=$app_fqdn
- GITEA__server__ROOT_URL=https://$app_fqdn
labels:
restic-compose-backup.volumes: true
restic-compose-backup.volumes.include: "data_repos,data_ssh,data_var"
networks:
default:
volumes:
# V2 Multi
- data_var:/data/gitea:rw
- data_repos:/data/git:rw
- data_ssh:/data/ssh:rw
volumes:
data_repos:
driver: local
driver_opts:
type: none
o: bind
device: $app_dir_data/git
data_ssh:
driver: local
driver_opts:
type: none
o: bind
device: $app_dir_data/ssh
data_var:
driver: local
driver_opts:
type: none
o: bind
device: $app_dir_data/gitea
# V1 mono
#- data_gitea:/data/gitea
#- type: volume
# source: data_gitea
# target: /data/gitea
# #bind:
# # create_host_path: true
#- type: volume
# source: data_var
# target: /data/gitea
#- type: volume
# source: data_repos
# target: /data/git
#- type: volume
# source: data_ssh
# target: /data/ssh
#- /etc/timezone:/etc/timezone:ro
#- /etc/localtime:/etc/localtime:ro
# Example: https://stackoverflow.com/questions/49950326/how-to-create-docker-volume-device-host-path
# https://docs.docker.com/compose/compose-file/#volumes
#
#volumes:
# data_repos:
# data_ssh:
# data_var:
#data_gitea:
# driver: local
# driver_opts:
# type: none
# o: bind
# device: $app_dir_data/data_gitea
# Pre build cmd: All direcotries must exists for local volumes
# yq -r '.volumes | keys[] as $key| "mkdir -p " + .[$key].driver_opts.device ' docker-compose.run.yml
#
# mkdir -p /home/jez/volumes/data/prj/mrjk/POC/paasify3/examples/ex2/gitea/data/data_gitea
# yq -r '.volumes | keys[] as $key| "docker volume create -d " + .[$key].driver + " -o type=" + .[$key].driver_opts.o + " -o device=" + .[$key].driver_opts.device + " devbox_gitea_" + $key ' docker-compose.run.yml
# => docker volume create -d local -o type=bind -o device=./data/var devbox_gitea_data_gitea
# Broken
# yq -r '.volumes | keys[] as $key| "docker volume create -d " + .[$key].driver + " -o type=" + .[$key].driver_opts.o + " -o device=" + .[$key].driver_opts.device + " " + $key ' docker-compose.run.yml
# Volume prior init:
# for x in $(yq -r '.volumes[] | if .driver == "local" then .driver_opts.device else "titi" end' docker-compose.run.yml ); do mkdir -p "$x" ; done
# PREFIX=devbox_gitea for x in $(yq -r '.volumes[] | if .driver == "local" then .driver_opts.device else "titi" end' docker-compose.run.yml ); do mkdir -p "$x" ; done
#
#
#
# --mount 'type=volume,src=<VOLUME-NAME>,dst=<CONTAINER-PATH>,volume-driver=local,volume-opt=type=nfs,volume-opt=device=<nfs-server>:<nfs-path>,"volume-opt=o=addr=<nfs-address>,vers=4,soft,timeo=180,bg,tcp,rw"'
#
# docker volume create -d local -o type=bind -o "device=$x" my-vol
# docker volume create -d local -o type=bind -o "device=$x" my-vol