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: