Add forgejo runner setup

This commit is contained in:
sonny 2024-10-22 22:07:41 +02:00
parent b7a41ce82f
commit 30d80247f2
2 changed files with 80 additions and 8 deletions

View file

@ -1,17 +1,64 @@
- hosts: localhost - hosts: localhost
tasks: tasks:
- name: create git user
become: true
user:
name: git
uid: 1001
group: git
create_home: false
- name: create required directories - name: create required directories
become: true become: true
file: file:
path: '{{ item }}' path: '{{ item.path }}'
state: directory state: '{{ item.state }}'
mode: '0755' mode: '{{ item.mode }}'
owner: sonny owner: '{{ item.owner }}'
group: sonny group: '{{ item.group }}'
loop: loop:
- '{{ app_dir }}' - {
- '{{ data_dir }}' path: '{{ app_dir }}',
- '{{ postgres_dir }}' owner: sonny,
group: sonny,
state: directory,
mode: 755
}
- {
path: '{{ data_dir }}',
owner: sonny,
group: sonny,
state: directory,
mode: 755
}
- {
path: '{{ postgres_dir }}',
owner: sonny,
group: sonny,
state: directory,
mode: 755
}
- {
path: '{{ runner_dir }}',
owner: git,
group: git,
state: directory,
mode: 755
}
- {
path: '{{ runner_dir }}/.cache',
owner: git,
group: git,
state: directory,
mode: 2775
}
- {
path: '{{ runner_dir }}/.runner',
owner: git,
group: git,
state: touch,
mode: 2775
}
- name: copy docker-compose file - name: copy docker-compose file
template: template:
@ -39,6 +86,7 @@
app_dir: '/srv/docker/forgejo' app_dir: '/srv/docker/forgejo'
data_dir: '/home/sonny/vm/forgejo/data' data_dir: '/home/sonny/vm/forgejo/data'
postgres_dir: '/home/sonny/vm/forgejo/postgres' postgres_dir: '/home/sonny/vm/forgejo/postgres'
runner_dir: '/home/sonny/vm/forgejo/runner'
image_tag: 'codeberg.org/forgejo/forgejo:9' image_tag: 'codeberg.org/forgejo/forgejo:9'

View file

@ -43,3 +43,27 @@ services:
- forgejo - forgejo
volumes: volumes:
- {{ postgres_dir }}:/var/lib/postgresql/data - {{ postgres_dir }}:/var/lib/postgresql/data
docker-in-docker:
image: docker:dind
privileged: true
container_name: 'docker_dind'
command: ['dockerd', '--host', 'tcp://0.0.0.0:2375', '--tls=false']
restart: 'unless-stopped'
# see https://forgejo.org/docs/latest/admin/runner-installation/#oci-image-installation
runner:
image: 'code.forgejo.org/forgejo/runner:3.4.1'
user: 1001:1001 # User without root privileges, but with access to {{ runner_dir }}
command: '/bin/sh -c "sleep 5; forgejo-runner daemon"'
environment:
DOCKER_HOST: tcp://docker-in-docker:2375
links:
- docker-in-docker
depends_on:
docker-in-docker:
condition: service_started
volumes:
- {{ runner_dir }}:/data
restart: 'unless-stopped'