Add forgejo runner setup
This commit is contained in:
parent
b7a41ce82f
commit
30d80247f2
2 changed files with 80 additions and 8 deletions
64
playbook.yml
64
playbook.yml
|
|
@ -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'
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -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'
|
||||||
|
|
|
||||||
Reference in a new issue