hosting/gitea/docker-compose.yml
2023-10-09 13:35:54 -06:00

70 lines
2.2 KiB
YAML

services:
server:
image: gitea/gitea:1.20.5
environment:
- USER_UID=1000
- USER_GID=1000
- GITEA__database__DB_TYPE=postgres
- GITEA__database__HOST=db:5432
- GITEA__database__NAME=gitea
- GITEA__database__USER=gitea
- GITEA__database__PASSWD=gitea
- GITEA__server__HTTP_PORT=3000
- GITEA__server__LOCAL_ROOT_URL=http://gitea.local:3000/
- GITEA__server__ROOT_URL=http://gitea.local:3000/
- GITEA__actions__ENABLED=true
- GITEA__security__INSTALL_LOCK=true
restart: always
extra_hosts:
- "gitea.local:host-gateway"
volumes:
- gitea-data:/data
- /etc/timezone:/etc/timezone:ro
- /etc/localtime:/etc/localtime:ro
# TODO: remove fixed host port number
ports:
- "3000:3000"
- "222:22"
depends_on:
- db
db:
image: postgres:14
restart: always
environment:
- POSTGRES_USER=gitea
- POSTGRES_PASSWORD=gitea
- POSTGRES_DB=gitea
# Workaround below for lack of docker uid mapping. Change the container's postgres user's uid/gid to match the host user's
entrypoint: bash
command: -c 'usermod -u ${CERC_HOST_UID:-1000} postgres;groupmod -g ${CERC_HOST_GID:-1000} postgres;exec /usr/local/bin/docker-entrypoint.sh postgres'
volumes:
- postgres-data:/var/lib/postgresql/data
runner:
image: cerc/act-runner:local
restart: always
environment:
# Note: eMdEwIzSo87nBh0UFWZlbp308j6TNWr3WhWxQqIc is a static token we use for convenience in stand-alone deployments. Not secure, obviously.
- GITEA_RUNNER_REGISTRATION_TOKEN=${CERC_GITEA_RUNNER_REGISTRATION_TOKEN:-eMdEwIzSo87nBh0UFWZlbp308j6TNWr3WhWxQqIc}
- GITEA_INSTANCE_URL=http://gitea.local:3000
- GITEA_RUNNER_LABELS=ubuntu-latest:docker://cerc/act-runner-task-executor:local,ubuntu-22.04:docker://cerc/act-runner-task-executor:local
- CONFIG_FILE=/config/act-runner-config.yml
extra_hosts:
- "gitea.local:host-gateway"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
- act-runner-data:/data
- act-runner-config:/config:ro
ports:
- 8088:8088
volumes:
gitea-data:
postgres-data:
act-runner-data:
act-runner-config: