Compare commits
31
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
11049a04d8 | ||
|
|
483ea954b2 | ||
|
|
8fa1f674f9 | ||
|
|
2006b9733e | ||
|
|
0af355843d | ||
|
|
1b2227af24 | ||
|
|
85f2e87040 | ||
|
|
d400a4b0e7 | ||
|
|
9d148f5f9e | ||
|
|
836e49f772 | ||
|
|
9bd2f16dbb | ||
|
|
0510bf6e90 | ||
|
|
aadd803df0 | ||
|
|
c760b77bfe | ||
|
|
7e446f25eb | ||
|
|
21329ecabd | ||
|
|
06b673ec89 | ||
|
|
84bfeb5c32 | ||
|
|
083f93ec5f | ||
|
|
552a3c58a6 | ||
|
|
4060c7afba | ||
|
|
6c3bd0f1d4 | ||
|
|
41b3733482 | ||
|
|
e070e30a4d | ||
|
|
5df3b0ec08 | ||
|
|
92981e0ccf | ||
|
|
bae3028751 | ||
|
|
d4c58b8763 | ||
|
|
05bdddfed7 | ||
|
|
1b61394afd | ||
|
|
9f40b38886 |
@@ -0,0 +1,4 @@
|
|||||||
|
---
|
||||||
|
|
||||||
|
profile: production
|
||||||
|
offline: true
|
||||||
-29
@@ -1,29 +0,0 @@
|
|||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: Static Verification
|
|
||||||
steps:
|
|
||||||
- name: ansible-lint
|
|
||||||
image: python:3.10.6
|
|
||||||
commands:
|
|
||||||
- pip install ansible==6.4.0 ansible-lint==6.4.0 > /dev/null 2> /dev/null
|
|
||||||
- ansible-lint ansible
|
|
||||||
|
|
||||||
---
|
|
||||||
kind: pipeline
|
|
||||||
type: docker
|
|
||||||
name: Check
|
|
||||||
steps:
|
|
||||||
- name: ansible-playbook --check
|
|
||||||
image: python:3.10.6
|
|
||||||
environment:
|
|
||||||
SSH_KEY:
|
|
||||||
from_secret: ssh_key
|
|
||||||
commands:
|
|
||||||
- pip install ansible==6.4.0 > /dev/null 2> /dev/null
|
|
||||||
- mkdir "$HOME/.ssh"
|
|
||||||
- echo "$SSH_KEY" > "$HOME/.ssh/id"
|
|
||||||
- chmod 0600 ~/.ssh/id
|
|
||||||
- ssh-keyscan -p 2309 vmd98928.contaboserver.net > "$HOME/.ssh/known_hosts"
|
|
||||||
- cd ansible
|
|
||||||
- ansible-playbook --private-key "$HOME/.ssh/id" --check playbooks/misc-all.yaml
|
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
name: Check
|
||||||
|
on: [push]
|
||||||
|
jobs:
|
||||||
|
"Lint Ansible Files":
|
||||||
|
runs-on: ubuntu-22.04
|
||||||
|
steps:
|
||||||
|
- run: apt-get update
|
||||||
|
- run: apt-get install -y python3 python3-pip python3-venv
|
||||||
|
- run: python3 --version
|
||||||
|
- name: Check out repo
|
||||||
|
uses: actions/checkout@v3
|
||||||
|
- run: python3 -m venv venv
|
||||||
|
- run: venv/bin/pip --disable-pip-version-check install ansible==7.2.0 ansible-lint==6.16.1 > /dev/null 2> /dev/null
|
||||||
|
- run: venv/bin/ansible-lint -c .ansible-lint ansible
|
||||||
|
# TODO: Reimplement ansible-play --check step from old drone config
|
||||||
+1
-1
@@ -1,2 +1,2 @@
|
|||||||
*.env
|
|
||||||
backups
|
backups
|
||||||
|
*.swp
|
||||||
|
|||||||
@@ -6,3 +6,14 @@
|
|||||||
| --- | --- |
|
| --- | --- |
|
||||||
| Hostname | `shamash` |
|
| Hostname | `shamash` |
|
||||||
| Domains | `{,pad.,codi.,ci.,git.,jupyter.,plantuml.}pbrinkmeier.de`, `tichy.click`, `beany.club`, `vmd98928.contaboserver.net` |
|
| Domains | `{,pad.,codi.,ci.,git.,jupyter.,plantuml.}pbrinkmeier.de`, `tichy.click`, `beany.club`, `vmd98928.contaboserver.net` |
|
||||||
|
|
||||||
|
## Linting
|
||||||
|
|
||||||
|
Use `nix develop` to drop into a shell containing `ansible-lint`.
|
||||||
|
Then run it using
|
||||||
|
|
||||||
|
```
|
||||||
|
ansible-lint --offline
|
||||||
|
```
|
||||||
|
|
||||||
|
to avoid checking for a new version every single run.
|
||||||
|
|||||||
@@ -13,3 +13,6 @@
|
|||||||
- [ ] Lint caddy file, add gzip and disable admin interface
|
- [ ] Lint caddy file, add gzip and disable admin interface
|
||||||
- [x] Make Gitea display graphs in Notebooks (see https://docs.gitea.io/en-us/external-renderers/).
|
- [x] Make Gitea display graphs in Notebooks (see https://docs.gitea.io/en-us/external-renderers/).
|
||||||
- [x] Factorio server
|
- [x] Factorio server
|
||||||
|
- [ ] Add flag for Gitea backups (after which Gitea will be up but no contain the sites source code)
|
||||||
|
- [x] Add Gitea actions
|
||||||
|
- [ ] Remove drone
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
venv
|
|
||||||
@@ -7,8 +7,9 @@
|
|||||||
ansible.builtin.user:
|
ansible.builtin.user:
|
||||||
name: "{{ item.name }}"
|
name: "{{ item.name }}"
|
||||||
uid: "{{ item.uid }}"
|
uid: "{{ item.uid }}"
|
||||||
create_home: false
|
|
||||||
state: "{{ item.state }}"
|
state: "{{ item.state }}"
|
||||||
|
create_home: false
|
||||||
|
system: true
|
||||||
loop:
|
loop:
|
||||||
- name: jupyter
|
- name: jupyter
|
||||||
uid: 42000
|
uid: 42000
|
||||||
@@ -16,19 +17,26 @@
|
|||||||
- name: gitea
|
- name: gitea
|
||||||
uid: 42001
|
uid: 42001
|
||||||
state: present
|
state: present
|
||||||
|
- name: score
|
||||||
|
uid: 42003
|
||||||
|
state: present
|
||||||
- name: factorio
|
- name: factorio
|
||||||
uid: 845
|
uid: 845
|
||||||
state: present
|
state: present
|
||||||
- name: hackmd
|
- name: hackmd
|
||||||
uid: 1500
|
uid: 1500
|
||||||
state: present
|
state: present
|
||||||
|
|
||||||
- name: hedgedoc
|
- name: hedgedoc
|
||||||
uid: 10000
|
uid: 10000
|
||||||
state: absent
|
state: absent
|
||||||
|
- name: bsa
|
||||||
|
uid: 42002
|
||||||
|
state: absent
|
||||||
# All services that are behind Caddy need to be in this network
|
# All services that are behind Caddy need to be in this network
|
||||||
- name: Create Caddy network
|
- name: Create Caddy network
|
||||||
become: true
|
become: true
|
||||||
docker_network:
|
community.docker.docker_network:
|
||||||
name: caddy-network
|
name: caddy-network
|
||||||
state: present
|
state: present
|
||||||
- name: Upload docker configuration
|
- name: Upload docker configuration
|
||||||
@@ -40,6 +48,26 @@
|
|||||||
mode: u=rw,g=,o=
|
mode: u=rw,g=,o=
|
||||||
# Directories should be listable
|
# Directories should be listable
|
||||||
directory_mode: u=rwx,g=rx,o=rx
|
directory_mode: u=rwx,g=rx,o=rx
|
||||||
|
- name: Upload and decrypt docker environment vars
|
||||||
|
become: true
|
||||||
|
ansible.builtin.copy:
|
||||||
|
src: "../../docker/envs/{{ item.name }}/.env"
|
||||||
|
dest: /etc/pbri/docker/{{ item.name }}/.env
|
||||||
|
# Files should inaccessible to non-root users.
|
||||||
|
mode: u=rw,g=,o=
|
||||||
|
# This is true by default but I put it here anyways
|
||||||
|
# to emphasize what's happening
|
||||||
|
decrypt: true
|
||||||
|
# Not quite happy with all the seperate loops yet.
|
||||||
|
loop:
|
||||||
|
- name: codi
|
||||||
|
state: present
|
||||||
|
- name: drone
|
||||||
|
state: present
|
||||||
|
- name: factorio
|
||||||
|
state: present
|
||||||
|
- name: gitea
|
||||||
|
state: present
|
||||||
- name: Create directory for docker volumes
|
- name: Create directory for docker volumes
|
||||||
become: true
|
become: true
|
||||||
ansible.builtin.file:
|
ansible.builtin.file:
|
||||||
@@ -68,12 +96,20 @@
|
|||||||
owner: factorio
|
owner: factorio
|
||||||
group: factorio
|
group: factorio
|
||||||
mode: u=rwx,g=,o=
|
mode: u=rwx,g=,o=
|
||||||
|
- name: Create score data folder
|
||||||
|
become: true
|
||||||
|
ansible.builtin.file:
|
||||||
|
path: /var/lib/pbri/docker/score
|
||||||
|
state: directory
|
||||||
|
owner: score
|
||||||
|
group: score
|
||||||
|
mode: u=rwx,g=,o=
|
||||||
# Since some docker-compose configuration might want to pull
|
# Since some docker-compose configuration might want to pull
|
||||||
# images from the Gitea package repository, we need to ensure
|
# images from the Gitea package repository, we need to ensure
|
||||||
# that Gitea is reachable before those configurations are deployed.
|
# that Gitea is reachable before those configurations are deployed.
|
||||||
- name: Set up caddy and gitea containers
|
- name: Set up caddy and gitea containers
|
||||||
become: true
|
become: true
|
||||||
docker_compose:
|
community.docker.docker_compose:
|
||||||
project_src: "/etc/pbri/docker/{{ item.name }}"
|
project_src: "/etc/pbri/docker/{{ item.name }}"
|
||||||
state: "{{ item.state }}"
|
state: "{{ item.state }}"
|
||||||
build: true
|
build: true
|
||||||
@@ -93,10 +129,10 @@
|
|||||||
register: gitea_version_response
|
register: gitea_version_response
|
||||||
until: gitea_version_response.status == 200
|
until: gitea_version_response.status == 200
|
||||||
retries: 10
|
retries: 10
|
||||||
delay: 5 # Retry every 5 seconds
|
delay: 5 # Retry every 5 seconds
|
||||||
- name: Set up other containers
|
- name: Set up other containers
|
||||||
become: true
|
become: true
|
||||||
docker_compose:
|
community.docker.docker_compose:
|
||||||
project_src: "/etc/pbri/docker/{{ item.name }}"
|
project_src: "/etc/pbri/docker/{{ item.name }}"
|
||||||
state: "{{ item.state }}"
|
state: "{{ item.state }}"
|
||||||
build: true
|
build: true
|
||||||
@@ -106,9 +142,14 @@
|
|||||||
state: present
|
state: present
|
||||||
- name: codi
|
- name: codi
|
||||||
state: present
|
state: present
|
||||||
- name: factorio
|
|
||||||
state: absent
|
|
||||||
- name: jupyter
|
- name: jupyter
|
||||||
state: present
|
state: present
|
||||||
- name: glebby
|
- name: utoy
|
||||||
state: present
|
state: present
|
||||||
|
- name: score
|
||||||
|
state: present
|
||||||
|
|
||||||
|
- name: factorio
|
||||||
|
state: absent
|
||||||
|
- name: glebby
|
||||||
|
state: absent
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
- name: Retrieve dpkg architecture
|
- name: Retrieve dpkg architecture
|
||||||
check_mode: false
|
check_mode: false
|
||||||
ansible.builtin.command: dpkg --print-architecture
|
ansible.builtin.command: dpkg --print-architecture
|
||||||
register: dpkg_architecture
|
register: docker_dpkg_architecture
|
||||||
changed_when: false
|
changed_when: false
|
||||||
|
|
||||||
- name: Add Docker apt repository
|
- name: Add Docker apt repository
|
||||||
@@ -36,7 +36,7 @@
|
|||||||
ansible.builtin.template:
|
ansible.builtin.template:
|
||||||
src: docker.list.j2
|
src: docker.list.j2
|
||||||
dest: /etc/apt/sources.list.d/docker.list
|
dest: /etc/apt/sources.list.d/docker.list
|
||||||
mode: 0644
|
mode: "u=rw,g=r,o=r"
|
||||||
|
|
||||||
- name: Install Docker
|
- name: Install Docker
|
||||||
become: true
|
become: true
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
deb [arch={{ dpkg_architecture.stdout }} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
|
deb [arch={{ docker_dpkg_architecture.stdout }} signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu {{ ansible_distribution_release }} stable
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
## Folders
|
||||||
|
|
||||||
|
- `docker`: Contains `docker-compose` configurations for projects
|
||||||
|
- `envs`: Contains `.env` files encrypted using `ansible-vault`. These files are decrypted and uploaded next to their corresponding `docker-compose.yaml` file.
|
||||||
@@ -1,3 +1,7 @@
|
|||||||
|
{
|
||||||
|
admin off
|
||||||
|
}
|
||||||
|
|
||||||
pbrinkmeier.de {
|
pbrinkmeier.de {
|
||||||
file_server {
|
file_server {
|
||||||
root /srv/pbrinkmeier.de
|
root /srv/pbrinkmeier.de
|
||||||
@@ -37,6 +41,10 @@ plantuml.pbrinkmeier.de {
|
|||||||
reverse_proxy codi_plantuml:8080
|
reverse_proxy codi_plantuml:8080
|
||||||
}
|
}
|
||||||
|
|
||||||
glebby.pbrinkmeier.de {
|
utoy.beany.club {
|
||||||
reverse_proxy glebby:5000
|
reverse_proxy utoy:3000
|
||||||
|
}
|
||||||
|
|
||||||
|
score.brocke.net {
|
||||||
|
reverse_proxy score:8080
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ services:
|
|||||||
DRONE_SERVER_PROTO: https
|
DRONE_SERVER_PROTO: https
|
||||||
volumes:
|
volumes:
|
||||||
- /var/lib/pbri/docker/drone:/data
|
- /var/lib/pbri/docker/drone:/data
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
drone_runner:
|
drone_runner:
|
||||||
image: drone/drone-runner-docker:1
|
image: drone/drone-runner-docker:1
|
||||||
@@ -24,7 +24,7 @@ services:
|
|||||||
DRONE_RUNNER_NAME: shamash
|
DRONE_RUNNER_NAME: shamash
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
FROM factoriotools/factorio:1.1.68
|
FROM factoriotools/factorio:1.1.87
|
||||||
|
|
||||||
COPY server-settings.json /server-settings.json
|
COPY server-settings.json /server-settings.json
|
||||||
ENTRYPOINT [ "/bin/sh", "-c", "mkdir -p /factorio/config && envsubst < /server-settings.json > /factorio/config/server-settings.json && exec /docker-entrypoint.sh" ]
|
ENTRYPOINT [ "/bin/sh", "-c", "mkdir -p /factorio/config && envsubst < /server-settings.json > /factorio/config/server-settings.json && exec /docker-entrypoint.sh" ]
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
FROM gitea/gitea:1.17.3
|
FROM gitea/act_runner:0.2.5
|
||||||
|
|
||||||
RUN apk --no-cache add gcc python3-dev py3-pip linux-headers musl-dev libffi-dev
|
COPY runner-config.yaml /opt/runner-config.yaml
|
||||||
RUN pip3 install --upgrade pip
|
|
||||||
RUN pip3 install jupyter
|
|
||||||
|
|||||||
@@ -1,6 +1,17 @@
|
|||||||
|
# gitea
|
||||||
|
|
||||||
Add a `.env` file like this:
|
Add a `.env` file like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
GITEA_DB_PASSWORD=...
|
GITEA_DB_PASSWORD=...
|
||||||
GITEA_SMTP_PASSWORD=...
|
GITEA_SMTP_PASSWORD=...
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN=...
|
||||||
```
|
```
|
||||||
|
|
||||||
|
You should keep an eye on `GITEA_RUNNER_REGISTRATION_TOKEN`. I suspect
|
||||||
|
it might change over time, e.g. when restarting or updating Gitea.
|
||||||
|
|
||||||
|
## Files
|
||||||
|
|
||||||
|
- `runner-config.yaml`: Configuration for `gitea/act_runner`. Generated using `act_runner generate-config` then adjusted
|
||||||
|
- `Dockerfile`: Creates an image based on `gitea/act_runner` that comes with `runner-config.yaml` in `/opt` (to avoid the extra mount)
|
||||||
|
|||||||
@@ -2,9 +2,8 @@ version: "3"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
gitea:
|
gitea:
|
||||||
image: pbrinkmeier/gitea
|
image: gitea/gitea:1.20.3
|
||||||
build: .
|
restart: unless-stopped
|
||||||
restart: always
|
|
||||||
environment:
|
environment:
|
||||||
# Ref: https://docs.gitea.io/en-us/config-cheat-sheet
|
# Ref: https://docs.gitea.io/en-us/config-cheat-sheet
|
||||||
# User is created by misc-docker.yaml
|
# User is created by misc-docker.yaml
|
||||||
@@ -36,17 +35,17 @@ services:
|
|||||||
GITEA__service__DEFAULT_ENABLE_TIMETRACKING: "false"
|
GITEA__service__DEFAULT_ENABLE_TIMETRACKING: "false"
|
||||||
GITEA__service__DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME: "false"
|
GITEA__service__DEFAULT_ALLOW_ONLY_CONTRIBUTORS_TO_TRACK_TIME: "false"
|
||||||
GITEA__mailer__ENABLED: "true"
|
GITEA__mailer__ENABLED: "true"
|
||||||
GITEA__mailer__HOST: smtp.mailbox.org:465
|
GITEA__mailer__PROTOCOL: smtps
|
||||||
|
GITEA__mailer__SMTP_ADDR: smtp.mailbox.org
|
||||||
|
GITEA__mailer__SMTP_HOST: 465
|
||||||
GITEA__mailer__FROM: git@pbrinkmeier.de
|
GITEA__mailer__FROM: git@pbrinkmeier.de
|
||||||
GITEA__mailer__USER: hallo@pbrinkmeier.de
|
GITEA__mailer__USER: hallo@pbrinkmeier.de
|
||||||
GITEA__mailer__PASSWD: "${GITEA_SMTP_PASSWORD}"
|
GITEA__mailer__PASSWD: "${GITEA_SMTP_PASSWORD}"
|
||||||
GITEA__openid__ENABLE_OPENID_SIGNIN: "false"
|
GITEA__openid__ENABLE_OPENID_SIGNIN: "false"
|
||||||
GITEA__openid__ENABLE_OPENID_SIGNUP: "false"
|
GITEA__openid__ENABLE_OPENID_SIGNUP: "false"
|
||||||
GITEA__markup_0x2E_jupyter__ENABLED: "true"
|
# Enable Gitea actions
|
||||||
GITEA__markup_0x2E_jupyter__FILE_EXTENSIONS: ".ipynb"
|
# Ref: https://docs.gitea.com/usage/actions/quickstart
|
||||||
GITEA__markup_0x2E_jupyter__RENDER_COMMAND: "jupyter nbconvert --stdin --stdout --to html --template basic"
|
GITEA__actions__ENABLED: "true"
|
||||||
GITEA__markup_0x2E_jupyter__IS_INPUT_FILE: "false"
|
|
||||||
GITEA__markup_0x2E_sanitizer_0x2E_jupyter_0x2E_img__ALLOW_DATA_URI_IMAGES: "true"
|
|
||||||
volumes:
|
volumes:
|
||||||
- /var/lib/pbri/docker/gitea:/data
|
- /var/lib/pbri/docker/gitea:/data
|
||||||
- /etc/timezone:/etc/timezone:ro
|
- /etc/timezone:/etc/timezone:ro
|
||||||
@@ -58,7 +57,7 @@ services:
|
|||||||
|
|
||||||
gitea_db:
|
gitea_db:
|
||||||
image: postgres:14.5-alpine
|
image: postgres:14.5-alpine
|
||||||
restart: always
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
POSTGRES_DB: gitea
|
POSTGRES_DB: gitea
|
||||||
POSTGRES_USER: gitea
|
POSTGRES_USER: gitea
|
||||||
@@ -66,6 +65,21 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /var/lib/pbri/docker/gitea_db:/var/lib/postgresql/data
|
- /var/lib/pbri/docker/gitea_db:/var/lib/postgresql/data
|
||||||
|
|
||||||
|
gitea_runner:
|
||||||
|
image: pbrinkmeier/act_runner:0.2.5
|
||||||
|
build: .
|
||||||
|
restart: unless-stopped
|
||||||
|
environment:
|
||||||
|
CONFIG_FILE: /opt/runner-config.yaml
|
||||||
|
GITEA_INSTANCE_URL: "https://git.pbrinkmeier.de"
|
||||||
|
GITEA_RUNNER_REGISTRATION_TOKEN: "${GITEA_RUNNER_REGISTRATION_TOKEN}"
|
||||||
|
GITEA_RUNNER_NAME: "basic-bitchboy"
|
||||||
|
volumes:
|
||||||
|
- /var/lib/pbri/docker/gitea_runner_data:/data
|
||||||
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
depends_on:
|
||||||
|
- gitea
|
||||||
|
|
||||||
networks:
|
networks:
|
||||||
default:
|
default:
|
||||||
name: caddy-network
|
name: caddy-network
|
||||||
|
|||||||
@@ -0,0 +1,85 @@
|
|||||||
|
log:
|
||||||
|
# The level of logging, can be trace, debug, info, warn, error, fatal
|
||||||
|
level: info
|
||||||
|
|
||||||
|
runner:
|
||||||
|
# Where to store the registration result.
|
||||||
|
file: .runner
|
||||||
|
# Execute how many tasks concurrently at the same time.
|
||||||
|
capacity: 1
|
||||||
|
# Extra environment variables to run jobs.
|
||||||
|
# envs:
|
||||||
|
# A_TEST_ENV_NAME_1: a_test_env_value_1
|
||||||
|
# A_TEST_ENV_NAME_2: a_test_env_value_2
|
||||||
|
# Extra environment variables to run jobs from a file.
|
||||||
|
# It will be ignored if it's empty or the file doesn't exist.
|
||||||
|
# env_file: .env
|
||||||
|
# The timeout for a job to be finished.
|
||||||
|
# Please note that the Gitea instance also has a timeout (3h by default) for the job.
|
||||||
|
# So the job could be stopped by the Gitea instance if it's timeout is shorter than this.
|
||||||
|
timeout: 3h
|
||||||
|
# Whether skip verifying the TLS certificate of the Gitea instance.
|
||||||
|
insecure: false
|
||||||
|
# The timeout for fetching the job from the Gitea instance.
|
||||||
|
fetch_timeout: 5s
|
||||||
|
# The interval for fetching the job from the Gitea instance.
|
||||||
|
fetch_interval: 2s
|
||||||
|
# The labels of a runner are used to determine which jobs the runner can run, and how to run them.
|
||||||
|
# Like: ["macos-arm64:host", "ubuntu-latest:docker://node:16-bullseye", "ubuntu-22.04:docker://node:16-bullseye"]
|
||||||
|
# If it's empty when registering, it will ask for inputting labels.
|
||||||
|
# If it's empty when execute `deamon`, will use labels in `.runner` file.
|
||||||
|
# Some (most?) GitHub actions use node for scripting, so just using
|
||||||
|
# ubuntu:22.04 here is not enough.
|
||||||
|
labels:
|
||||||
|
- "ubuntu-22.04:docker://node:16-bullseye"
|
||||||
|
|
||||||
|
cache:
|
||||||
|
# Enable cache server to use actions/cache.
|
||||||
|
enabled: false
|
||||||
|
# The directory to store the cache data.
|
||||||
|
# If it's empty, the cache data will be stored in $HOME/.cache/actcache.
|
||||||
|
dir: ""
|
||||||
|
# The host of the cache server.
|
||||||
|
# It's not for the address to listen, but the address to connect from job containers.
|
||||||
|
# So 0.0.0.0 is a bad choice, leave it empty to detect automatically.
|
||||||
|
host: ""
|
||||||
|
# The port of the cache server.
|
||||||
|
# 0 means to use a random available port.
|
||||||
|
port: 0
|
||||||
|
# The external cache server URL. Valid only when enable is true.
|
||||||
|
# If it's specified, act_runner will use this URL as the ACTIONS_CACHE_URL rather than start a server by itself.
|
||||||
|
# The URL should generally end with "/".
|
||||||
|
external_server: ""
|
||||||
|
|
||||||
|
container:
|
||||||
|
# Specifies the network to which the container will connect.
|
||||||
|
# Could be host, bridge or the name of a custom network.
|
||||||
|
# If it's empty, act_runner will create a network automatically.
|
||||||
|
network: ""
|
||||||
|
# Whether to use privileged mode or not when launching task containers (privileged mode is required for Docker-in-Docker).
|
||||||
|
privileged: false
|
||||||
|
# And other options to be used when the container is started (eg, --add-host=my.gitea.url:host-gateway).
|
||||||
|
options:
|
||||||
|
# The parent directory of a job's working directory.
|
||||||
|
# If it's empty, /workspace will be used.
|
||||||
|
workdir_parent:
|
||||||
|
# Volumes (including bind mounts) can be mounted to containers. Glob syntax is supported, see https://github.com/gobwas/glob
|
||||||
|
# You can specify multiple volumes. If the sequence is empty, no volumes can be mounted.
|
||||||
|
# For example, if you only allow containers to mount the `data` volume and all the json files in `/src`, you should change the config to:
|
||||||
|
# valid_volumes:
|
||||||
|
# - data
|
||||||
|
# - /src/*.json
|
||||||
|
# If you want to allow any volume, please use the following configuration:
|
||||||
|
# valid_volumes:
|
||||||
|
# - '**'
|
||||||
|
valid_volumes: []
|
||||||
|
# overrides the docker client host with the specified one.
|
||||||
|
# If it's empty, act_runner will find an available docker host automatically.
|
||||||
|
# If it's "-", act_runner will find an available docker host automatically, but the docker host won't be mounted to the job containers and service containers.
|
||||||
|
# If it's not empty or "-", the specified docker host will be used. An error will be returned if it doesn't work.
|
||||||
|
docker_host: ""
|
||||||
|
|
||||||
|
host:
|
||||||
|
# The parent directory of a job's working directory.
|
||||||
|
# If it's empty, $HOME/.cache/act/ will be used.
|
||||||
|
workdir_parent:
|
||||||
@@ -2,7 +2,7 @@ version: "3"
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
jupyter:
|
jupyter:
|
||||||
image: pbri/jup:1.3
|
image: git.pbrinkmeier.de/paul/jup:1.5
|
||||||
user: "42000"
|
user: "42000"
|
||||||
volumes:
|
volumes:
|
||||||
- /var/lib/pbri/docker/jupyter_data:/data
|
- /var/lib/pbri/docker/jupyter_data:/data
|
||||||
|
|||||||
@@ -0,0 +1,16 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
score:
|
||||||
|
image: ghcr.io/lbrocke/score:v1.0.2
|
||||||
|
user: "42003:42003"
|
||||||
|
environment:
|
||||||
|
SCORE_LISTEN: 0.0.0.0:8080
|
||||||
|
volumes:
|
||||||
|
- /var/lib/pbri/docker/score:/data
|
||||||
|
restart: unless-stopped
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: caddy-network
|
||||||
|
external: true
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
version: "3"
|
||||||
|
|
||||||
|
services:
|
||||||
|
utoy:
|
||||||
|
image: git.pbrinkmeier.de/paul/utoy:0.6
|
||||||
|
restart: always
|
||||||
|
|
||||||
|
networks:
|
||||||
|
default:
|
||||||
|
name: caddy-network
|
||||||
|
external: true
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
35633339346331336263653239623234333765623065313466373635353662306632663063323138
|
||||||
|
3138333732376665636531396335393235653538393438660a326664656462383737383735386262
|
||||||
|
34646634653631613333656132663536653337386362303536626634363239663064383564633663
|
||||||
|
3563383663383266610a613938376665353936643361366465393765313666636531663837383036
|
||||||
|
34373064616662363839396233623232643134366361313130636433356237323565636338306435
|
||||||
|
36333139356635376366643538303736306364383764393365663365643137383439376636376561
|
||||||
|
65343036363538393235333434316632393562613735313165636165666662326462663063356532
|
||||||
|
34343936356364643536313230383633396438363638623963643239643638633435353164623635
|
||||||
|
35646631353364663261633862666331636532663762636164663861303262373630643265623239
|
||||||
|
62333737393562376235373430363662613032623436303865613634636436376565363130366532
|
||||||
|
36303834343439333865313037336233323036373833663837303332393330306434373431363961
|
||||||
|
30323134373666376563316661303131306566393830633732313664653039313263613761346262
|
||||||
|
34393738376434313663336231656132386163663665393133363465366230383537656630313563
|
||||||
|
66373633333663653837336439646363646233326233303062643635396531356438363433633131
|
||||||
|
36353561366265343036386533373563613836663831613836643432386633643535396536376362
|
||||||
|
65306335313363316236363362316533663433656531366331336132303965373230623330313636
|
||||||
|
38623361623934303663333631306330333434343833336132333333313939616261666461346333
|
||||||
|
34343935663165303665373735646636326364393336626462363732353739366161366164333465
|
||||||
|
643034323233333535376461313834663132
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
31333834393366333930346366373931333930646233383664643463393965303238613430646638
|
||||||
|
6461373434616433353337643131396462326537346434380a386562633335346436303662336362
|
||||||
|
62333739626237323334333666633162616338313932393261303231353539623237383638643030
|
||||||
|
3364393934653232310a383065386530373433393635313665353532666361303436613337316565
|
||||||
|
32306233336134383531633232393862303466373331373764376462653736663861663366323762
|
||||||
|
65666263366461396362386264613830336435346234386234333562616131653938386439336566
|
||||||
|
34386461343433346363336161373038303434383563303564653533623939613937323030636362
|
||||||
|
66636639643963613236366138646335393831366432333637333065326162646237643561336666
|
||||||
|
61323833333337633861646462393930663733333266336233663630396532366566303835653431
|
||||||
|
38363365383166393765343735363030363562313837643837313864373735643264663264643633
|
||||||
|
66306261633666616363666562306632613032373231633730313638383033633761653661383738
|
||||||
|
39623630643766663438656635653530626664313765633430646330356333306239653437373839
|
||||||
|
3933
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
32356463313330336636636363646138393236636233326132623165353962623565356364396530
|
||||||
|
3636336532396665333637653432353332643434643962390a313162343836306435383536313937
|
||||||
|
36656632356366303561366536373535383538303730386239386437323466346533353634306436
|
||||||
|
3930633464353235360a653936333734353137313363316261366666353238366566613865366463
|
||||||
|
32393431343439383733343766323831643561663938376264336331306139646337343633346536
|
||||||
|
3236343538323032636666366639303539316236393535323661
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
$ANSIBLE_VAULT;1.1;AES256
|
||||||
|
35623364633833623964623536646534373634663736613561333561343136333965306638396532
|
||||||
|
6162393239383936386338666565306132646230383066630a336337613636383431623738343663
|
||||||
|
61343262363631376665383035323139313863626331666439336134613035663439376231343863
|
||||||
|
3032353139643138640a383365356630323835383538393734643134343133653033383663333464
|
||||||
|
62386361633435633664306531623835353665326432393932336163316561653866343137323030
|
||||||
|
63643262323436356166373533363235366238393633336631336266373837373932313134303563
|
||||||
|
65633337393938623134636538653561356565333831356638373862376333336163363438626438
|
||||||
|
39343436383732313561396236656530303064363961663636353538346264633532633866333162
|
||||||
|
35303032303662646166333537373566316462633536333463323433353539623363323036643763
|
||||||
|
34376365613932303133366236613235636238643139666663356436326532616437383432303437
|
||||||
|
39376535656266383465373837643634383937656431323265386163373138336164383666383962
|
||||||
|
64623762613332363731323739666238613634646237396331666463363663313461313966356233
|
||||||
|
30653362353061333739303234336461373337346632646433623462623765353330
|
||||||
Generated
+24
-6
@@ -1,12 +1,15 @@
|
|||||||
{
|
{
|
||||||
"nodes": {
|
"nodes": {
|
||||||
"flake-utils": {
|
"flake-utils": {
|
||||||
|
"inputs": {
|
||||||
|
"systems": "systems"
|
||||||
|
},
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1659877975,
|
"lastModified": 1685518550,
|
||||||
"narHash": "sha256-zllb8aq3YO3h8B/U0/J1WBgAL8EX5yWf5pMj3G0NAmc=",
|
"narHash": "sha256-o2d0KcvaXzTrPRIo0kOLV0/QXHhDQ5DTi+OxcjO8xqY=",
|
||||||
"owner": "numtide",
|
"owner": "numtide",
|
||||||
"repo": "flake-utils",
|
"repo": "flake-utils",
|
||||||
"rev": "c0e246b9b83f637f4681389ecabcb2681b4f3af0",
|
"rev": "a1720a10a6cfe8234c0e93907ffe81be440f4cef",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -17,11 +20,11 @@
|
|||||||
},
|
},
|
||||||
"nixpkgs": {
|
"nixpkgs": {
|
||||||
"locked": {
|
"locked": {
|
||||||
"lastModified": 1663707275,
|
"lastModified": 1686259070,
|
||||||
"narHash": "sha256-xRIlf8OWJLPxeF5y8iToWx9M1P3pUhPuyXeXUrIjaf8=",
|
"narHash": "sha256-bJ2TqJHMdU27o3+AlYzsDooUzneFHwvK5LaRv5JYit4=",
|
||||||
"owner": "nixos",
|
"owner": "nixos",
|
||||||
"repo": "nixpkgs",
|
"repo": "nixpkgs",
|
||||||
"rev": "2f8b8bc98da3cbcf287df9cb4fae4857282fe60a",
|
"rev": "8a7d5c039cacc83bd1926aaabc04d541e04a1460",
|
||||||
"type": "github"
|
"type": "github"
|
||||||
},
|
},
|
||||||
"original": {
|
"original": {
|
||||||
@@ -35,6 +38,21 @@
|
|||||||
"flake-utils": "flake-utils",
|
"flake-utils": "flake-utils",
|
||||||
"nixpkgs": "nixpkgs"
|
"nixpkgs": "nixpkgs"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"systems": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1681028828,
|
||||||
|
"narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=",
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nix-systems",
|
||||||
|
"repo": "default",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"root": "root",
|
"root": "root",
|
||||||
|
|||||||
Reference in New Issue
Block a user