This commit is contained in:
Christian Seyfferth 2020-11-21 15:18:11 +01:00
parent fad4db6f29
commit f905518c9c
11 changed files with 100 additions and 28 deletions

View File

@ -1 +1,15 @@
{% extends "templates/layout/base.twig" %}
{% if page.meta.hasCode %}
{% block css %}
<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism-tomorrow.min.css" rel="stylesheet"/>
{{ parent() }}
{% endblock %}
{% block js %}
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/components/prism-core.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js"></script>
{{ parent() }}
{% endblock %}
{% endif %}

View File

@ -1,4 +1,4 @@
{% extends "templates/layout/base.twig" %}
{% extends "index.twig" %}
{% block content %}
{{parent()}}

View File

@ -1,4 +1,4 @@
{% extends "templates/layout/base.twig" %}
{% extends "index.twig" %}
{% block content %}
<div class="parallax-container" style="height: 60vh;">

View File

@ -1,12 +0,0 @@
{% extends "templates/layout/base.twig" %}
{% block css %}
<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/themes/prism-tomorrow.min.css"
rel="stylesheet" />
{{ parent() }}
{% endblock %}
{% block js %}
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/components/prism-core.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.20.0/plugins/autoloader/prism-autoloader.min.js"></script>
{% endblock %}

View File

@ -4,7 +4,7 @@ Description: Das bin ich
Author: Christian Seyfferth
Date: 2020-01-21
Robots: noindex,nofollow
Template: templates/withCode
hasCode: true
---
# Ich bin Christian und würde dir gern helfen

0
content/admin/.htaccess Normal file
View File

View File

@ -7,6 +7,7 @@ Categories:
- DevOps
Template: templates/blogitem
hasCode: true
---
# Task-Automatisierung mit der Diskstation
@ -14,13 +15,73 @@ Template: templates/blogitem
Einige haben ja, wie ich, zu Hause eine Diskstation von Synology stehen. Da ich selbst auch einige kleine Sachen programmiere,
wollte ich mir auch den Komfort wie auf Arbeit gönnen und automatisiert Pipelines starten.
Zunächst habe ich mir hier ein Gitea aufgesetzt:
Da ich aber nicht gleich eine Enterprise-Lösung wie GitLab einsetzen wollte, habe ich mir alternativen gesucht.
- [ ] Drone-Server
- [ ] Drone-Runner
- [ ] Oauth
- [ ] Webhook
- [ ] Admin
Und da die DS218+ ja genug Power für ein paar Docker-Container hat sieht diese Alternative folgendermaßen aus:
- Docker
- Gitea
- Drone-Server
- Drone-Runner
- Oauth
- Webhook
- Admin
## Gitea-Setup
Zuerst brauchen wir einen User unter dem Gitea laufen soll. Also legen wir im DSM einen Benutzer und eine Gruppe an. Den User richten wir direkt als Mitglied der Gruppe ein.
In meinem Fall habe ich beide `git` genannt.
Nun brauchen wir die IDs von beiden. Dafür gehe ich per SSH auf die Diskstation und suche mir die IDs zu beiden und das Homeverzeichnis des Users heraus. Letzteres brauchen wir später um gitea über ssh ansprechen zu können.
```bash
id git
#uid=1034(git) gid=100(users) groups=100(users),65540(git)
cat /etc/passwd | grep git
#git:x:1034:100:Gitea-Benutzer:/var/services/homes/git:/sbin/nologin
```
Hieraus habe ich folgende Infos erhalten:
| Name | Wert |
| ---- | ----------------------- |
| UID | 1034 |
| GID | 65540 |
| Home | /var/services/homes/git |
Wenn wir einmal beim User sind, richten wir direkt die möglichkeit für git-per-ssh ein.
```bash
HOMEDIR=/var/services/git
mkdir $GIT_HOMEDIR/.ssh
chown git:git $HOMEDIR/.ssh
```
Um GitCommandos an Gitea weiterzugeben, legen wir die Datei /app/gitea/gitea an und füllen sie.
```bash
mkdir -p /app/gitea
echo "#!/bin/sh" > /app/gitea/gitea
echo "ssh -p 2222 -o StrictHostKeyChecking=no git@127.0.0.1 "SSH_ORIGINAL_COMMAND"=\$SSH_ORIGINAL_COMMAND\" $0 @0" >> /app/gitea/gitea
```
Weiterhin brauchen wir eine Datenbank. Ich arbeite hier mit der MariaDB v10, die eh auf der Diskstation läuft.
Also legen wir uns einen DB-User an und geben diesem Rechte auf eine ebenso anzulegende Datenbank.
Nun können wir Gitea im Docker starten:
```bash
docker run -d --name gitea \
-e DB_TYPE=mysql \
-e DB_HOST=127.20.0.1:3307 \
-e DB_NAME=gitea \
-e DB_PASSWD=passwort \
-e TZ=Europe/Berlin \
-e USER_UID=1034 \
-e USER_GID=65540 \
-e ROOT_URL=https://git.example.com/ \
-e SSH_DOMAIN=git.example.com \
-p 2222:22 \
-p 30180:3000 \
-v /var/services/homes/git/.ssh:/data/git/.ssh \
-v /volume1/docker/gitea/data:/data \
gitea/gitea
```

View File

@ -11,6 +11,8 @@ Template: templates/home
Willkommen auf meiner Seite. Ich hoffe sie gefällt dir.
Zur Zeit befindet sich die neue Seite noch voll im Aufbau. Also sei nicht zu streng mit mir. Dennoch freue ich mich über jegliche Art Rückmeldung. ;)
Sieh dich in Ruhe um, zum Beispiel was ich so zuletzt geschrieben habe, oder an was ich gerade arbeite.
Wenn du dir verloren vorkommst oder einfach nur etwas loswerden möchtest, bekommst du [hier][Kontakt] die Möglichkeit.

View File

@ -8,9 +8,9 @@ Robots: noindex,nofollow
# Projekte
- Dienstplan to iCal
- Wichtel-mini-app
- Schulnotenverwaltung
- Nextcloud
- Gitea
- Bar-Inventur-Rechner
- [Dienstplan to iCal](https://apps.chrosey.de/orchester_dienstplan/)
- [Wichtel-mini-app](https://apps.chrosey.de/wichteln/)
- [Schulnotenverwaltung](https://apps.chrosey.de/ags_noten)
- [Nextcloud](https://nextcloud.chrosey.de/)
- [Gitea](https://git.chrosey.de/)
- [Bar-Inventur-Rechner](https://apps.chrosey.de/inv/)

View File

@ -5,5 +5,12 @@
"test",
"Christian Seyfferth",
"error"
],
[
"20\/05\/2020 19:30:22",
"info@chrosey.de",
"(kein Betreff)",
"Anonym",
"error"
]
]

View File

@ -179,7 +179,7 @@ class P01contactForm
}
$html .= '<div><input name="p01-contact_form[id]" type="hidden" value="' . $this->id . '" />';
$html .= '<input name="p01-contact_form[token]" type="hidden" value="' . $this->getToken() . '" />';
$html .= '<input class="submit" type="submit" value="' . $this->lang('send') . '" /></div>';
$html .= '<button class="btn waves-effect waves-light submit" type="submit" value="' . $this->lang('send') . '">' . $this->lang('send') . '<i class="material-icons right">send</i></button></div>';
}
$html .= '</div>';