| 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 |