Introduction
Introduction Statistics Contact Development Disclaimer Help
Adding dashboard, docs and git. - selfhost - Incus configurations for my self-h…
Log
Files
Refs
README
---
commit b3613cb818921bdd51c75ffa05bd1452e10a71b7
parent aa41dd9d04b1969a786e70ea1d80477b710ce38b
Author: Jay Scott <[email protected]>
Date: Wed, 12 Jun 2024 22:29:38 +0100
Adding dashboard, docs and git.
Diffstat:
A dashboard/dashboard.yaml | 29 +++++++++++++++++++++++++++++
A dashboard/files/lighttpd.conf | 29 +++++++++++++++++++++++++++++
A dashboard/init.sh | 12 ++++++++++++
A docs/docs.yaml | 29 +++++++++++++++++++++++++++++
A docs/files/lighttpd.conf | 29 +++++++++++++++++++++++++++++
A docs/init.sh | 12 ++++++++++++
A git/files/cgitrc | 28 ++++++++++++++++++++++++++++
A git/files/favicon.ico | 0
A git/files/favicon.png | 0
A git/files/lighttpd.conf | 39 +++++++++++++++++++++++++++++…
A git/files/logo.png | 0
A git/files/theme.css | 825 +++++++++++++++++++++++++++++…
A git/git.yaml | 40 +++++++++++++++++++++++++++++…
A git/init.sh | 19 +++++++++++++++++++
M pi-hole/files/custom.list | 4 +++-
15 files changed, 1094 insertions(+), 1 deletion(-)
---
diff --git a/dashboard/dashboard.yaml b/dashboard/dashboard.yaml
@@ -0,0 +1,29 @@
+devices:
+ htdocs:
+ path: /srv/www
+ source: /srv/services/dashboard
+ type: disk
+ certs:
+ path: /etc/lighttpd/certs
+ source: /srv/certs
+ type: disk
+ shift: true
+
+config:
+ cloud-init.network-config: |
+ version: 2
+ ethernets:
+ eth0:
+ addresses:
+ - 192.168.2.11/24
+ gateway4: 192.168.2.1
+ cloud-init.user-data: |
+ #cloud-config
+ package_upgrade: true
+ hostname: dashboard.jay.scot
+ timezone: Europe/London
+ manage_resolv_conf: true
+ resolv_conf:
+ nameservers: ['192.168.2.10', '1.1.1.1']
+ packages:
+ - lighttpd
diff --git a/dashboard/files/lighttpd.conf b/dashboard/files/lighttpd.conf
@@ -0,0 +1,29 @@
+var.basedir = "/var/www/localhost"
+var.logdir = "/var/log/lighttpd"
+var.statedir = "/var/lib/lighttpd"
+
+include "mime-types.conf"
+server.username = "lighttpd"
+server.groupname = "lighttpd"
+server.document-root = var.basedir + "/htdocs"
+server.pid-file = "/run/lighttpd.pid"
+server.errorlog = var.logdir + "/error.log"
+index-file.names = ("index.html")
+
+server.modules += ( "mod_redirect", "mod_openssl")
+
+$SERVER["socket"] == ":443" {
+ ssl.engine = "enable"
+ ssl.pemfile = "/etc/lighttpd/certs/jay.scot.cer"
+ ssl.privkey = "/etc/lighttpd/certs/jay.scot.key"
+ ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.3", "Options" => "-Ser…
+
+ server.name = "dashboard.jay.scot"
+ server.document-root = "/srv/www/"
+}
+
+$HTTP["scheme"] == "http" {
+ $HTTP["host"] =~ ".*" {
+ url.redirect = (".*" => "https://%0$0")
+ }
+}
diff --git a/dashboard/init.sh b/dashboard/init.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+HOST=dashboard
+
+incus stop $HOST
+incus delete $HOST
+incus launch images:alpine/3.20/cloud $HOST < $HOST.yaml
+
+incus file push ./files/lighttpd.conf $HOST/etc/lighttpd/ -pv --mode 644
+incus exec $HOST -- cloud-init status --wait
+incus exec $HOST -- rc-service lighttpd start
+
diff --git a/docs/docs.yaml b/docs/docs.yaml
@@ -0,0 +1,29 @@
+devices:
+ htdocs:
+ path: /srv/www
+ source: /srv/services/docs
+ type: disk
+ certs:
+ path: /etc/lighttpd/certs
+ source: /srv/certs
+ type: disk
+ shift: true
+
+config:
+ cloud-init.network-config: |
+ version: 2
+ ethernets:
+ eth0:
+ addresses:
+ - 192.168.2.13/24
+ gateway4: 192.168.2.1
+ cloud-init.user-data: |
+ #cloud-config
+ package_upgrade: true
+ hostname: docs.jay.scot
+ timezone: Europe/London
+ manage_resolv_conf: true
+ resolv_conf:
+ nameservers: ['192.168.2.10', '1.1.1.1']
+ packages:
+ - lighttpd
diff --git a/docs/files/lighttpd.conf b/docs/files/lighttpd.conf
@@ -0,0 +1,29 @@
+var.basedir = "/var/www/localhost"
+var.logdir = "/var/log/lighttpd"
+var.statedir = "/var/lib/lighttpd"
+
+include "mime-types.conf"
+server.username = "lighttpd"
+server.groupname = "lighttpd"
+server.document-root = var.basedir + "/htdocs"
+server.pid-file = "/run/lighttpd.pid"
+server.errorlog = var.logdir + "/error.log"
+index-file.names = ("index.html")
+
+server.modules += ( "mod_redirect", "mod_openssl")
+
+$SERVER["socket"] == ":443" {
+ ssl.engine = "enable"
+ ssl.pemfile = "/etc/lighttpd/certs/jay.scot.cer"
+ ssl.privkey = "/etc/lighttpd/certs/jay.scot.key"
+ ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.3", "Options" => "-Ser…
+
+ server.name = "dashboard.jay.scot"
+ server.document-root = "/srv/www/"
+}
+
+$HTTP["scheme"] == "http" {
+ $HTTP["host"] =~ ".*" {
+ url.redirect = (".*" => "https://%0$0")
+ }
+}
diff --git a/docs/init.sh b/docs/init.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+
+HOST=docs
+
+incus stop $HOST
+incus delete $HOST
+incus launch images:alpine/3.20/cloud $HOST < $HOST.yaml
+
+incus file push ./files/lighttpd.conf $HOST/etc/lighttpd/ -pv --mode 644
+incus exec $HOST -- cloud-init status --wait
+incus exec $HOST -- rc-service lighttpd start
+
diff --git a/git/files/cgitrc b/git/files/cgitrc
@@ -0,0 +1,28 @@
+#
+# cgit config
+#
+
+# theme
+css=/theme.css
+logo=/logo.png
+favicon=/favicon.png
+footer=
+readme=:README
+
+# header
+root-title=git.jay.scot
+root-desc=
+
+# options
+enable-http-clone=1
+enable-index-owner=0
+enable-index-links=1
+remove-suffix=1
+enable-commit-graph=1
+enable-log-filecount=1
+enable-git-config=1
+robots=noindex, nofollow
+
+# repos
+virtual-root=/
+scan-path=/srv/git
diff --git a/git/files/favicon.ico b/git/files/favicon.ico
Binary files differ.
diff --git a/git/files/favicon.png b/git/files/favicon.png
Binary files differ.
diff --git a/git/files/lighttpd.conf b/git/files/lighttpd.conf
@@ -0,0 +1,39 @@
+var.basedir = "/var/www/localhost"
+var.logdir = "/var/log/lighttpd"
+var.statedir = "/var/lib/lighttpd"
+
+include "mime-types.conf"
+server.username = "lighttpd"
+server.groupname = "lighttpd"
+server.document-root = var.basedir + "/htdocs"
+server.pid-file = "/run/lighttpd.pid"
+server.errorlog = var.logdir + "/error.log"
+index-file.names = ("index.php", "index.html", "index.htm", "default.htm")
+
+server.modules += ( "mod_cgi", "mod_rewrite", "mod_openssl")
+
+$SERVER["socket"] == ":443" {
+ ssl.engine = "enable"
+ ssl.pemfile = "/etc/lighttpd/certs/jay.scot.cer"
+ ssl.privkey = "/etc/lighttpd/certs/jay.scot.key"
+ ssl.openssl.ssl-conf-cmd = ("MinProtocol" => "TLSv1.3", "Options" => "-Ser…
+
+ server.name = "git.jay.scot"
+ server.document-root = "/usr/share/webapps/cgit/"
+
+ index-file.names = ( "cgit.cgi" )
+ cgi.assign = ( "cgit.cgi" => "" )
+ mimetype.assign = ( ".css" => "text/css" )
+ url.rewrite-once = (
+ "^/cgit/cgit.css" => "/cgit.css",
+ "^/cgit/cgit.png" => "/cgit.png",
+ "^/([^?/]+/[^?]*)?(?:\?(.*))?$" => "/cgit.cgi?url=$1&$2",
+ )
+
+}
+
+$HTTP["scheme"] == "http" {
+ $HTTP["host"] =~ ".*" {
+ url.redirect = (".*" => "https://%0$0")
+ }
+}
diff --git a/git/files/logo.png b/git/files/logo.png
Binary files differ.
diff --git a/git/files/theme.css b/git/files/theme.css
@@ -0,0 +1,825 @@
+body {
+ font-family: 'Droid Sans',sans-serif;
+}
+
+div#cgit {
+ padding: 0em;
+ margin: 0em;
+ font-family: 'Droid Sans',sans-serif;
+ font-size: 14pt;
+ color: #333;
+ padding: 4px;
+}
+
+div#cgit a {
+ color: #3232ff;
+ text-decoration: none;
+}
+
+div#cgit a:hover {
+ text-decoration: underline;
+}
+
+div#cgit table {
+ border-collapse: collapse;
+}
+
+div#cgit table#header {
+ width: 100%;
+ margin-bottom: 1em;
+}
+
+div#cgit table#header td.logo {
+ width: 50px;
+ vertical-align: top;
+}
+
+div#cgit table#header td.main {
+ font-size: 250%;
+ padding-left: 10px;
+ white-space: nowrap;
+}
+
+div#cgit table#header td.main a {
+ color: #000;
+}
+
+div#cgit table#header td.form {
+ text-align: right;
+ vertical-align: bottom;
+ padding-right: 1em;
+ padding-bottom: 2px;
+ white-space: nowrap;
+}
+
+div#cgit table#header td.form form,
+div#cgit table#header td.form input,
+div#cgit table#header td.form select {
+ font-size: 90%;
+}
+
+div#cgit table#header td.sub {
+ color: #777;
+ border-top: solid 1px #e0e0e0;
+ border-radius: 2px;
+ padding-left: 10px;
+}
+
+div#cgit table.tabs {
+ border-bottom: solid 3px #e0e0e0;
+ border-collapse: collapse;
+ border-radius: 2px;
+ margin-top: 2em;
+ margin-bottom: 0px;
+ width: 100%;
+}
+
+div#cgit table.tabs td {
+ padding: 0px 1em;
+ vertical-align: bottom;
+}
+
+div#cgit table.tabs td a {
+ padding: 2px 0.75em;
+ color: #777;
+ font-size: 110%;
+}
+
+div#cgit table.tabs td a.active {
+ color: #000;
+ background-color: #e0e0e0;
+}
+
+div#cgit table.tabs td.form {
+ text-align: right;
+}
+
+div#cgit table.tabs td.form form {
+ padding-bottom: 2px;
+ font-size: 90%;
+ white-space: nowrap;
+}
+
+div#cgit table.tabs td.form input,
+div#cgit table.tabs td.form select {
+ font-size: 90%;
+}
+
+div#cgit div.path {
+ margin: 0px;
+ padding: 5px 2em 2px 2em;
+ color: #000;
+ background-color: #eee;
+}
+
+div#cgit div.content {
+ margin: 0px;
+ padding: 2em;
+ border-bottom: solid 3px #e0e0e0;
+}
+
+
+div#cgit table.list {
+ width: 100%;
+ border: none;
+ background: #D6D4CC;
+ border-collapse: collapse;
+}
+
+div#cgit table.list tr {
+ background-image: url('body.jpg');
+}
+
+div#cgit table.list tr.logheader {
+ background: #eee;
+}
+
+div#cgit table.list tr:hover {
+ background: #e0e0e0;
+}
+
+div#cgit table.list tr.nohover:hover {
+ background-image: url('body.jpg');
+}
+
+div#cgit table.list th {
+ font-family: 'Droid Sans';
+ font-weight: bold;
+ padding: 0.1em 0.5em 0.05em 0.5em;
+ vertical-align: baseline;
+}
+
+div#cgit table.list td {
+ border: none;
+ padding: 0.1em 0.5em 0.1em 0.5em;
+}
+
+div#cgit table.list td.commitgraph {
+ font-family: 'Droid Sans Mono',monospace;
+ white-space: pre;
+}
+
+div#cgit table.list td.commitgraph .column1 {
+ color: #a00;
+}
+
+div#cgit table.list td.commitgraph .column2 {
+ color: #0a0;
+}
+
+div#cgit table.list td.commitgraph .column3 {
+ color: #aa0;
+}
+
+div#cgit table.list td.commitgraph .column4 {
+ color: #00a;
+}
+
+div#cgit table.list td.commitgraph .column5 {
+ color: #a0a;
+}
+
+div#cgit table.list td.commitgraph .column6 {
+ color: #0aa;
+}
+
+div#cgit table.list td.logsubject {
+ font-family: 'Droid Sans Mono', monospace;
+ font-weight: bold;
+}
+
+div#cgit table.list td.logmsg {
+ font-family: 'Droid Sans Mono', monospace;
+ white-space: pre;
+ padding: 0 0.5em;
+}
+
+div#cgit table.list td a {
+ color: black;
+}
+
+div#cgit table.list td a.ls-dir {
+ font-weight: bold;
+ color: #00f;
+}
+
+div#cgit table.list td a:hover {
+ color: #00f;
+}
+
+div#cgit img {
+ width: 60px;
+ border: none;
+}
+
+div#cgit input#switch-btn {
+ margin: 2px 0px 0px 0px;
+}
+
+div#cgit td#sidebar input.txt {
+ width: 100%;
+ margin: 2px 0px 0px 0px;
+}
+
+div#cgit table#grid {
+ margin: 0px;
+}
+
+div#cgit td#content {
+ vertical-align: top;
+ padding: 1em 2em 1em 1em;
+ border: none;
+}
+
+div#cgit div#summary {
+ vertical-align: top;
+ margin-bottom: 1em;
+}
+
+div#cgit table#downloads {
+ float: right;
+ border-collapse: collapse;
+ border: solid 1px #777;
+ border-radius: 2px;
+ margin-left: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+div#cgit table#downloads th {
+ background-color: #e0e0e0;
+}
+
+div#cgit div#blob {
+ border: solid 1px black;
+ border-radius: 2px;
+}
+
+div#cgit div.error {
+ color: red;
+ font-weight: bold;
+ margin: 1em 2em;
+}
+
+div#cgit a.ls-blob, div#cgit a.ls-dir, div#cgit a.ls-mod {
+ font-family: 'Droid Sans Mono',monospace;
+}
+
+div#cgit td.ls-size {
+ text-align: right;
+ font-family: 'Droid Sans Mono',monospace;
+ width: 10em;
+}
+
+div#cgit td.ls-mode {
+ font-family: 'Droid Sans Mono', monospace;
+ width: 10em;
+}
+
+div#cgit table.blob {
+ margin-top: 0.5em;
+ border-top: solid 1px black;
+}
+
+div#cgit table.blob td.lines {
+ margin: 0; padding: 0 0 0 0.5em;
+ vertical-align: top;
+ color: black;
+}
+
+div#cgit table.blob td.linenumbers {
+ margin: 0; padding: 0 0.5em 0 0.5em;
+ vertical-align: top;
+ text-align: right;
+ border-right: 1px solid gray;
+}
+
+div#cgit table.blob pre {
+ padding: 0; margin: 0;
+}
+
+div#cgit table.blob td.linenumbers a,
+div#cgit table.ssdiff td.lineno a {
+ color: gray;
+ text-align: right;
+ text-decoration: none;
+}
+
+div#cgit table.blob td.linenumbers a:hover,
+div#cgit table.ssdiff td.lineno a:hover {
+ color: black;
+}
+
+div#cgit table.bin-blob {
+ margin-top: 0.5em;
+ border: solid 1px black;
+ border-radius: 2px;
+}
+
+div#cgit table.bin-blob th {
+ font-family: 'Droid Sans Mono', monospace;
+ white-space: pre;
+ border: solid 1px #777;
+ border-radius: 2px;
+ padding: 0.5em 1em;
+}
+
+div#cgit table.bin-blob td {
+ font-family: 'Droid Sans Mono', monospace;
+ white-space: pre;
+ border-left: solid 1px #777;
+ padding: 0em 1em;
+}
+
+div#cgit table.nowrap td {
+ white-space: nowrap;
+}
+
+div#cgit table.commit-info {
+ border-collapse: collapse;
+ margin-top: 1.5em;
+}
+
+div#cgit div.cgit-panel {
+ float: right;
+ margin-top: 1.5em;
+}
+
+div#cgit div.cgit-panel table {
+ border-collapse: collapse;
+ border: solid 1px #aaa;
+ background-color: #eee;
+}
+
+div#cgit div.cgit-panel th {
+ text-align: center;
+}
+
+div#cgit div.cgit-panel td {
+ padding: 0.25em 0.5em;
+}
+
+div#cgit div.cgit-panel td.label {
+ padding-right: 0.5em;
+}
+
+div#cgit div.cgit-panel td.ctrl {
+ padding-left: 0.5em;
+}
+
+div#cgit table.commit-info th {
+ text-align: left;
+ font-weight: normal;
+ padding: 0.1em 1em 0.1em 0.1em;
+ vertical-align: top;
+}
+
+div#cgit table.commit-info td {
+ font-weight: normal;
+ padding: 0.1em 1em 0.1em 0.1em;
+}
+
+div#cgit div.commit-subject {
+ font-weight: bold;
+ font-size: 125%;
+ margin: 1.5em 0em 0.5em 0em;
+ padding: 0em;
+}
+
+div#cgit div.commit-msg {
+ white-space: pre;
+ font-family: 'Droid Sans Mono', monospace;
+}
+
+div#cgit div.notes-header {
+ font-weight: bold;
+ padding-top: 1.5em;
+}
+
+div#cgit div.notes {
+ white-space: pre;
+ font-family: 'Droid Sans Mono', monospace;
+ border: solid 1px #ee9;
+ background-color: #ffd;
+ padding: 0.3em 2em 0.3em 1em;
+ float: left;
+}
+
+div#cgit div.notes-footer {
+ clear: left;
+}
+
+div#cgit div.diffstat-header {
+ font-weight: bold;
+ padding-top: 1.5em;
+}
+
+div#cgit table.diffstat {
+ border-collapse: collapse;
+ border: solid 1px #aaa;
+ background-color: #eee;
+}
+
+div#cgit table.diffstat th {
+ font-weight: normal;
+ text-align: left;
+ text-decoration: underline;
+ padding: 0.1em 1em 0.1em 0.1em;
+ font-size: 100%;
+}
+
+div#cgit table.diffstat td {
+ padding: 0.2em 0.2em 0.1em 0.1em;
+ font-size: 100%;
+ border: none;
+}
+
+div#cgit table.diffstat td.mode {
+ white-space: nowrap;
+}
+
+div#cgit table.diffstat td span.modechange {
+ padding-left: 1em;
+ color: red;
+}
+
+div#cgit table.diffstat td.add a {
+ color: #3232ff;
+}
+
+div#cgit table.diffstat td.del a {
+ color: #3232ff;
+}
+
+div#cgit table.diffstat td.upd a {
+ color: #3232ff;
+}
+
+div#cgit table.diffstat td.graph {
+ width: 500px;
+ vertical-align: middle;
+}
+
+div#cgit table.diffstat td.graph table {
+ border: none;
+}
+
+div#cgit table.diffstat td.graph td {
+ padding: 0px;
+ border: 0px;
+ height: 7pt;
+}
+
+div#cgit table.diffstat td.graph td.add {
+ background-color: #99cc99;
+}
+
+div#cgit table.diffstat td.graph td.rem {
+ background-color: #ff7f7f;
+}
+
+div#cgit div.diffstat-summary {
+ color: #888;
+ padding-top: 0.5em;
+}
+
+div#cgit table.diff {
+ width: 100%;
+}
+
+div#cgit table.diff td {
+ font-family: 'Droid Sans Mono', monospace;
+ white-space: pre;
+}
+
+div#cgit table.diff td div.head {
+ font-weight: bold;
+ margin-top: 1em;
+ color: black;
+}
+
+div#cgit table.diff td div.hunk {
+ color: #3232ff;
+}
+
+div#cgit table.diff td div.add {
+ background: #d9ffd9;
+ color: black;
+}
+
+div#cgit table.diff td div.del {
+ background: #ffcccc;
+ color: black;
+}
+
+div#cgit .sha1 {
+ font-family: 'Droid Sans Mono', monospace;
+ font-size: 90%;
+}
+
+div#cgit .left {
+ text-align: left;
+}
+
+div#cgit .right {
+ text-align: right;
+}
+
+div#cgit table.list td.reposection {
+ font-style: italic;
+ color: #888;
+}
+
+div#cgit a.button {
+ font-size: 80%;
+ padding: 0em 0.5em;
+}
+
+div#cgit a.primary {
+ font-size: 100%;
+}
+
+div#cgit a.secondary {
+ font-size: 90%;
+}
+
+div#cgit td.toplevel-repo {
+
+}
+
+div#cgit table.list td.sublevel-repo {
+ padding-left: 1.5em;
+}
+
+div#cgit ul.pager {
+ list-style-type: none;
+ text-align: center;
+ margin: 1em 0em 0em 0em;
+ padding: 0;
+}
+
+div#cgit ul.pager li {
+ display: inline-block;
+ margin: 0.25em 0.5em;
+}
+
+div#cgit ul.pager a {
+ color: #777;
+}
+
+div#cgit ul.pager .current {
+ font-weight: bold;
+}
+
+div#cgit span.age-mins {
+ font-weight: bold;
+ color: #080;
+}
+
+div#cgit span.age-hours {
+ color: #080;
+}
+
+div#cgit span.age-days {
+ color: #040;
+}
+
+div#cgit span.age-weeks {
+ color: #444;
+}
+
+div#cgit span.age-months {
+ color: #888;
+}
+
+div#cgit span.age-years {
+ color: #bbb;
+}
+div#cgit div.footer {
+ margin-top: 0.5em;
+ text-align: center;
+ font-size: 80%;
+ color: #e0e0e0;
+}
+div#cgit a.branch-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #a2ffa2;
+ border: solid 1px #71b271;
+ border-radius: 4px;
+}
+div#cgit a.tag-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ffff88;
+ border: solid 1px #777700;
+ border-radius: 4px;
+}
+div#cgit a.remote-deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ccccff;
+ border: solid 1px #000077;
+ border-radius: 4px;
+}
+div#cgit a.deco {
+ color: #000;
+ margin: 0px 0.5em;
+ padding: 0px 0.25em;
+ background-color: #ff9393;
+ border: solid 1px #b25f5f;
+ border-radius: 4px;
+}
+
+div#cgit div.commit-subject a.branch-deco,
+div#cgit div.commit-subject a.tag-deco,
+div#cgit div.commit-subject a.remote-deco,
+div#cgit div.commit-subject a.deco {
+ margin-left: 1em;
+ font-size: 75%;
+}
+
+div#cgit table.stats {
+ border: solid 1px black;
+ border-radius: 2px;
+ border-collapse: collapse;
+}
+
+div#cgit table.stats th {
+ text-align: left;
+ padding: 1px 0.5em;
+ background-color: #eee;
+ border: solid 1px black;
+}
+
+div#cgit table.stats td {
+ text-align: right;
+ padding: 1px 0.5em;
+ border: solid 1px black;
+ border-radius: 2px;
+}
+
+div#cgit table.stats td.total {
+ font-weight: bold;
+ text-align: left;
+}
+
+div#cgit table.stats td.sum {
+ color: #c00;
+ font-weight: bold;
+/* background-color: #eee; */
+}
+
+div#cgit table.stats td.left {
+ text-align: left;
+}
+
+div#cgit table.vgraph {
+ border-collapse: separate;
+ border: solid 1px black;
+ height: 200px;
+}
+
+div#cgit table.vgraph th {
+ background-color: #eee;
+ font-weight: bold;
+ border: solid 1px white;
+ padding: 1px 0.5em;
+}
+
+div#cgit table.vgraph td {
+ vertical-align: bottom;
+ padding: 0px 10px;
+}
+
+div#cgit table.vgraph div.bar {
+ background-color: #eee;
+}
+
+div#cgit table.hgraph {
+ border: solid 1px black;
+ width: 800px;
+}
+
+div#cgit table.hgraph th {
+ background-color: #eee;
+ font-weight: bold;
+ border: solid 1px black;
+ padding: 1px 0.5em;
+}
+
+div#cgit table.hgraph td {
+ vertical-align: middle;
+ padding: 2px 2px;
+}
+
+div#cgit table.hgraph div.bar {
+ background-color: #eee;
+ height: 1em;
+}
+
+div#cgit table.ssdiff {
+ width: 100%;
+}
+
+div#cgit table.ssdiff td {
+ font-size: 75%;
+ font-family: 'Droid Sans Mono', monospace;
+ white-space: pre;
+ padding: 1px 4px 1px 4px;
+ border-left: solid 1px #aaa;
+ border-right: solid 1px #aaa;
+ border-radius: 2px;
+}
+
+div#cgit table.ssdiff td.add {
+ color: black;
+ background: #cfc;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff td.add_dark {
+ color: black;
+ background: #aca;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff span.add {
+ background: #cfc;
+ font-weight: bold;
+}
+
+div#cgit table.ssdiff td.del {
+ color: black;
+ background: #ff6666;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff td.del_dark {
+ color: black;
+ background: #caa;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff span.del {
+ background: #ff6666;
+ font-weight: bold;
+}
+
+div#cgit table.ssdiff td.changed {
+ color: black;
+ background: #ffc;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff td.changed_dark {
+ color: black;
+ background: #cca;
+ min-width: 50%;
+}
+
+div#cgit table.ssdiff td.lineno {
+ color: black;
+ background: #eee;
+ text-align: right;
+ width: 3em;
+ min-width: 3em;
+}
+
+div#cgit table.ssdiff td.hunk {
+ color: black;
+ background: #ccf;
+ border-top: solid 1px #aaa;
+ border-bottom: solid 1px #aaa;
+ border-radius: 2px;
+}
+
+div#cgit table.ssdiff td.head {
+ border-top: solid 1px #aaa;
+ border-bottom: solid 1px #aaa;
+ border-radius: 2px;
+}
+
+div#cgit table.ssdiff td.head div.head {
+ font-weight: bold;
+ color: black;
+}
+
+div#cgit table.ssdiff td.foot {
+ border-top: solid 1px #aaa;
+ border-left: none;
+ border-right: none;
+ border-bottom: none;
+ border-radius: 2px;
+}
+
+div#cgit table.ssdiff td.space {
+ border: none;
+}
+
+div#cgit table.ssdiff td.space div {
+ min-height: 3em;
+}
+
diff --git a/git/git.yaml b/git/git.yaml
@@ -0,0 +1,40 @@
+devices:
+ repos:
+ path: /srv/git
+ source: /srv/services/git
+ type: disk
+ shift: true
+ certs:
+ path: /etc/lighttpd/certs
+ source: /srv/certs
+ type: disk
+ shift: true
+
+config:
+ cloud-init.network-config: |
+ version: 2
+ ethernets:
+ eth0:
+ addresses:
+ - 192.168.2.12/24
+ gateway4: 192.168.2.1
+ cloud-init.user-data: |
+ #cloud-config
+ package_upgrade: true
+ hostname: git.jay.scot
+ timezone: Europe/London
+ manage_resolv_conf: true
+ resolv_conf:
+ nameservers: ['192.168.2.10', '1.1.1.1']
+ users:
+ - name: git
+ shell: /usr/bin/git-shell
+ homedir: /srv/git
+ ssh_authorized_keys:
+ - ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDLmKYxwXTbyRWLG0S24RTpyfyBO6A…
+ runcmd:
+ - echo "git:*" | chpasswd -e
+ packages:
+ - git
+ - cgit
+ - lighttpd
diff --git a/git/init.sh b/git/init.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+HOST=git
+
+incus stop $HOST
+incus delete $HOST
+incus launch images:alpine/3.20/cloud $HOST < $HOST.yaml
+
+incus file push ./files/lighttpd.conf $HOST/etc/lighttpd/ -pv --mode 644
+incus file push ./files/cgitrc $HOST/etc/cgitrc -pv --mode 644
+
+incus exec $HOST -- cloud-init status --wait
+incus exec $HOST -- rc-service lighttpd start
+
+incus file push ./files/logo.png $HOST/usr/share/webapps/cgit/ -pv --mode 644
+incus file push ./files/theme.css $HOST/usr/share/webapps/cgit/ -pv --mode 644
+incus file push ./files/favicon.png $HOST/usr/share/webapps/cgit/ -pv --mode 6…
+
+
diff --git a/pi-hole/files/custom.list b/pi-hole/files/custom.list
@@ -1 +1,3 @@
-192.168.2.10 hole.jay.scot
+192.168.1.100 meshtastic.jay.scot
+192.168.2.11 dashboard.jay.scot
+192.168.2.10 pihole.jay.scot
You are viewing proxied material from jay.scot. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.