Compare commits
7 commits
8afa9dff44
...
f129f83f6d
Author | SHA1 | Date | |
---|---|---|---|
f129f83f6d | |||
2e05501c92 | |||
679647542d | |||
a93593061c | |||
0cc125394f | |||
b8669e3b00 | |||
a6901b271b |
64 changed files with 952 additions and 714 deletions
|
@ -1,3 +1,3 @@
|
||||||
# Alpine-server
|
# alpine-server
|
||||||
|
|
||||||
Guides and configuration files of my Alpine server install.
|
Configuration files of my server Alpine Linux operating system.
|
||||||
|
|
10
bin/backup
Executable file
10
bin/backup
Executable file
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
host=""
|
||||||
|
user=""
|
||||||
|
serverdir=""
|
||||||
|
|
||||||
|
clientdirs="$HOME/.local/etc $HOME/.local/bin $HOME/.config $HOME/.volumes $HOME/.dump"
|
||||||
|
command="/usr/bin/restic"
|
||||||
|
|
||||||
|
exec $command -r sftp:${user}@${host}:/${serverdir} -v backup $clientdirs
|
0
bin/checkpod
Normal file → Executable file
0
bin/checkpod
Normal file → Executable file
4
bin/dump
Normal file → Executable file
4
bin/dump
Normal file → Executable file
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
command="/usr/bin/podman"
|
command="/usr/bin/podman"
|
||||||
|
|
||||||
|
|
||||||
# Dumps databases
|
# Dumps databases
|
||||||
|
|
||||||
postgres_databases=""
|
postgres_databases=""
|
||||||
|
@ -12,12 +11,11 @@ do
|
||||||
$command exec -it ${database}-pod-postgres sh -c "pg_dumpall -U postgres | gzip > /dump/${database}.sql.gz"
|
$command exec -it ${database}-pod-postgres sh -c "pg_dumpall -U postgres | gzip > /dump/${database}.sql.gz"
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|
||||||
# Exports volumes
|
# Exports volumes
|
||||||
|
|
||||||
volumes=""
|
volumes=""
|
||||||
|
|
||||||
for volume in $volumes
|
for volume in $volumes
|
||||||
do
|
do
|
||||||
$command volume export $volume --output <home>/.volumes/${volume}.tar
|
$command volume export $volume --output /home/neutrino/.volumes/${volume}.tar
|
||||||
done
|
done
|
||||||
|
|
23
bin/load
23
bin/load
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
command="/usr/bin/podman"
|
|
||||||
|
|
||||||
|
|
||||||
# Loads dumped databases
|
|
||||||
|
|
||||||
postgres_databases="gitea"
|
|
||||||
|
|
||||||
for database in $postgres_databases
|
|
||||||
do
|
|
||||||
exec $command exec -it ${database}-pod-postgres sh -c "gunzip -c /dump/${database}.sql.gz | psql -U postgres"
|
|
||||||
done
|
|
||||||
|
|
||||||
|
|
||||||
# Imports volumes
|
|
||||||
|
|
||||||
volumes="gitea-pod-gitea-data"
|
|
||||||
|
|
||||||
for volume in $volumes
|
|
||||||
do
|
|
||||||
exec $command volume import $volume <home>/.volumes/${volume}.tar
|
|
||||||
done
|
|
12
bin/load-databases
Executable file
12
bin/load-databases
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
|
||||||
|
# Loads dumped databases
|
||||||
|
|
||||||
|
postgres_databases=""
|
||||||
|
|
||||||
|
for database in $postgres_databases
|
||||||
|
do
|
||||||
|
$command exec -it ${database}-pod-postgres sh -c "gunzip -c /dump/${database}.sql.gz | psql -U postgres"
|
||||||
|
done
|
12
bin/load-volumes
Executable file
12
bin/load-volumes
Executable file
|
@ -0,0 +1,12 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
|
||||||
|
# Imports volumes
|
||||||
|
|
||||||
|
volumes=""
|
||||||
|
|
||||||
|
for volume in $volumes
|
||||||
|
do
|
||||||
|
$command volume import $volume /home/neutrino/.volumes/${volume}.tar
|
||||||
|
done
|
|
@ -1,49 +0,0 @@
|
||||||
{
|
|
||||||
email <email>
|
|
||||||
}
|
|
||||||
|
|
||||||
vault.bijl.us {
|
|
||||||
reverse_proxy :1080
|
|
||||||
}
|
|
||||||
|
|
||||||
git.bijl.us {
|
|
||||||
reverse_proxy :2080
|
|
||||||
}
|
|
||||||
|
|
||||||
docs.bijl.us {
|
|
||||||
reverse_proxy :2180
|
|
||||||
}
|
|
||||||
|
|
||||||
wiki.bijl.us {
|
|
||||||
reverse_proxy :2280
|
|
||||||
}
|
|
||||||
|
|
||||||
matrix.bijl.us {
|
|
||||||
handle /_matrix/* {
|
|
||||||
reverse_proxy :3080
|
|
||||||
}
|
|
||||||
|
|
||||||
handle /.well-known/matrix/server {
|
|
||||||
respond {"m.server":"matrix.bijl.us:443"}
|
|
||||||
}
|
|
||||||
|
|
||||||
handle /.well-known/matrix/client {
|
|
||||||
respond {"m.homeserver":{"base_url":"https://matrix.bijl.us"}}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
element.bijl.us {
|
|
||||||
reverse_proxy :3180
|
|
||||||
}
|
|
||||||
|
|
||||||
notes.bijl.us {
|
|
||||||
reverse_proxy :4080
|
|
||||||
}
|
|
||||||
|
|
||||||
share.bijl.us {
|
|
||||||
reverse_proxy :5080
|
|
||||||
}
|
|
||||||
|
|
||||||
smarthome.bijl.us {
|
|
||||||
reverse_proxy :6080
|
|
||||||
}
|
|
|
@ -1,15 +0,0 @@
|
||||||
server {
|
|
||||||
listen $PORT;
|
|
||||||
listen [::]:${PORT};
|
|
||||||
server_name localhost;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
index index.html index.htm;
|
|
||||||
}
|
|
||||||
|
|
||||||
error_page 500 502 503 504 /50x.html;
|
|
||||||
location = /50.html {
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,10 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
exec 2>&1
|
|
||||||
find /mkdocs/repo || git clone $GIT_REPO_URL /mkdocs/repo
|
|
||||||
cd /mkdocs/repo && git pull
|
|
||||||
|
|
||||||
for lang in $WIKI_LANG
|
|
||||||
do
|
|
||||||
mkdocs build -f /mkdocs/repo/config/${lang}/mkdocs.yml -d /usr/share/nginx/html/${lang}
|
|
||||||
done
|
|
|
@ -1,25 +0,0 @@
|
||||||
FROM nginx:alpine
|
|
||||||
|
|
||||||
ENV PORT="80"
|
|
||||||
COPY default.conf.env /etc/nginx/conf.d/default.conf.env
|
|
||||||
|
|
||||||
RUN apk add envsubst \
|
|
||||||
&& touch /docker-entrypoint.d/port.sh \
|
|
||||||
&& echo "exec envsubst < /etc/nginx/conf.d/default.conf.env > /etc/nginx/conf.d/default.conf && nginx -s reload" > /docker-entrypoint.d/port.sh \
|
|
||||||
&& chmod 776 /docker-entrypoint.d/port.sh
|
|
||||||
|
|
||||||
RUN apk add git \
|
|
||||||
&& apk add mkdocs \
|
|
||||||
&& apk add mkdocs-material \
|
|
||||||
&& apk add py3-regex
|
|
||||||
|
|
||||||
RUN mkdir /mkdocs
|
|
||||||
WORKDIR /mkdocs
|
|
||||||
|
|
||||||
COPY root /etc/crontabs/root
|
|
||||||
COPY git-mkdocs-wiki /bin/git-mkdocs-wiki
|
|
||||||
RUN chmod 744 /bin/git-mkdocs-wiki
|
|
||||||
|
|
||||||
RUN touch /docker-entrypoint.d/cron.sh \
|
|
||||||
&& echo "exec crond" > /docker-entrypoint.d/cron.sh \
|
|
||||||
&& chmod 776 /docker-entrypoint.d/cron.sh
|
|
|
@ -1,3 +0,0 @@
|
||||||
# do daily/weekly/monthly maintanance
|
|
||||||
# min hour day month weekday command
|
|
||||||
* * * * * git-mkdocs-wiki
|
|
|
@ -1,15 +0,0 @@
|
||||||
server {
|
|
||||||
listen $PORT;
|
|
||||||
listen [::]:${PORT};
|
|
||||||
server_name localhost;
|
|
||||||
|
|
||||||
location / {
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
index index.html index.htm;
|
|
||||||
}
|
|
||||||
|
|
||||||
error_page 500 502 503 504 /50x.html;
|
|
||||||
location = /50.html {
|
|
||||||
root /usr/share/nginx/html;
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,6 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
exec 2>&1
|
|
||||||
find /mkdocs/repo || git clone $GIT_REPO_URL /mkdocs/repo
|
|
||||||
cd /mkdocs/repo && git pull
|
|
||||||
exec mkdocs build -f /mkdocs/repo/mkdocs.yml -d /usr/share/nginx/html
|
|
|
@ -1,25 +0,0 @@
|
||||||
FROM nginx:alpine
|
|
||||||
|
|
||||||
ENV PORT="80"
|
|
||||||
COPY default.conf.env /etc/nginx/conf.d/default.conf.env
|
|
||||||
|
|
||||||
RUN apk add envsubst \
|
|
||||||
&& touch /docker-entrypoint.d/port.sh \
|
|
||||||
&& echo "exec envsubst < /etc/nginx/conf.d/default.conf.env > /etc/nginx/conf.d/default.conf && nginx -s reload" > /docker-entrypoint.d/port.sh \
|
|
||||||
&& chmod 776 /docker-entrypoint.d/port.sh
|
|
||||||
|
|
||||||
RUN apk add git \
|
|
||||||
&& apk add mkdocs \
|
|
||||||
&& apk add mkdocs-material \
|
|
||||||
&& apk add py3-regex
|
|
||||||
|
|
||||||
RUN mkdir /mkdocs
|
|
||||||
WORKDIR /mkdocs
|
|
||||||
|
|
||||||
COPY root /etc/crontabs/root
|
|
||||||
COPY git-mkdocs /bin/git-mkdocs
|
|
||||||
RUN chmod 744 /bin/git-mkdocs
|
|
||||||
|
|
||||||
RUN touch /docker-entrypoint.d/cron.sh \
|
|
||||||
&& echo "exec crond" > /docker-entrypoint.d/cron.sh \
|
|
||||||
&& chmod 776 /docker-entrypoint.d/cron.sh
|
|
|
@ -1,3 +0,0 @@
|
||||||
# do daily/weekly/monthly maintanance
|
|
||||||
# min hour day month weekday command
|
|
||||||
* * * * * git-mkdocs
|
|
73
dotconfig/caddy/caddyfile
Normal file
73
dotconfig/caddy/caddyfile
Normal file
|
@ -0,0 +1,73 @@
|
||||||
|
hs.bijl.us {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
vault.bijl.us {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
matrix.bijl.us {
|
||||||
|
handle /_matrix/* {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
handle /.well-known/matrix/server {
|
||||||
|
respond {"m.server":"matrix.bijl.us:443"}
|
||||||
|
}
|
||||||
|
|
||||||
|
handle /.well-known/matrix/client {
|
||||||
|
respond {"m.homeserver":{"base_url":"https://matrix.bijl.us"}}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
smarthome.bijl.us {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
share.bijl.us {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
media.bijl.us {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
ampel.dev {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
git.ampel.dev {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
docs.ampel.dev {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
blog.ampel.dev {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
notes.ampel.dev {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
lucbijl.nl {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
git.lucbijl.nl {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
wiki.lucbijl.nl {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
blog.lucbijl.nl {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
||||||
|
|
||||||
|
notes.lucbijl.nl {
|
||||||
|
reverse_proxy :
|
||||||
|
}
|
174
dotconfig/pods/ampel/ampel-pod.yml
Normal file
174
dotconfig/pods/ampel/ampel-pod.yml
Normal file
|
@ -0,0 +1,174 @@
|
||||||
|
apiversion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: ampel-pod
|
||||||
|
annotations:
|
||||||
|
io.podman.annotations.infra.name: ampel-pod-infra
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
# - name: root
|
||||||
|
# image:
|
||||||
|
# env:
|
||||||
|
# - name: PORT
|
||||||
|
# value: 3000
|
||||||
|
# ports:
|
||||||
|
# - containerport: 3000
|
||||||
|
# hostport:
|
||||||
|
# protocol: TCP
|
||||||
|
# volumemounts:
|
||||||
|
# - name: localtime
|
||||||
|
# mountpath: /etc/localtime
|
||||||
|
# readonly: true
|
||||||
|
|
||||||
|
- name: git
|
||||||
|
image: codeberg.org/forgejo/forgejo:9
|
||||||
|
env:
|
||||||
|
- name: USER_UID
|
||||||
|
value: "1000"
|
||||||
|
- name: USER_GID
|
||||||
|
value: "1000"
|
||||||
|
- name: FORGEJO__database__DB_TYPE
|
||||||
|
value: "postgres"
|
||||||
|
- name: FORGEJO__database__HOST
|
||||||
|
value: "ampel-pod-postgres"
|
||||||
|
- name: FORGEJO__database__USER
|
||||||
|
value: "postgres"
|
||||||
|
- name: FORGEJO__database__PASSWD
|
||||||
|
valuefrom:
|
||||||
|
secretkeyref:
|
||||||
|
name: ampel-secrets
|
||||||
|
key: postgres-password
|
||||||
|
- name: FORGEJO__database__NAME
|
||||||
|
value: "forgejo"
|
||||||
|
ports:
|
||||||
|
- containerport: 3100
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: git-data
|
||||||
|
mountpath: /data
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: tailscale
|
||||||
|
image: ghcr.io/tailscale/tailscale:latest
|
||||||
|
env:
|
||||||
|
- name: TS_HOSTNAME
|
||||||
|
value: "ampel-pod"
|
||||||
|
- name: TS_AUTHKEY
|
||||||
|
value: ""
|
||||||
|
- name: TS_STATE_DIR
|
||||||
|
value: "/var/lib/tailscale"
|
||||||
|
- name: TS_EXTRA_ARGS
|
||||||
|
value: "--login-server="
|
||||||
|
volumemounts:
|
||||||
|
- name: tailscale-lib
|
||||||
|
mountpath: /var/lib/tailscale
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: docs
|
||||||
|
image: git.ampel.dev/ampel/mkdocs-git:latest
|
||||||
|
env:
|
||||||
|
- name: GIT_REPO_URL
|
||||||
|
value: ""
|
||||||
|
- name: PORT
|
||||||
|
value: 3200
|
||||||
|
ports:
|
||||||
|
- containerport: 3200
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: blog
|
||||||
|
image: git.ampel.dev/ampel/mkdocs-git:latest
|
||||||
|
env:
|
||||||
|
- name: GIT_REPO_URL
|
||||||
|
value: ""
|
||||||
|
- name: PORT
|
||||||
|
value: 3300
|
||||||
|
ports:
|
||||||
|
- containerport: 3300
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: notes
|
||||||
|
image: quay.io/hedgedoc/hedgedoc:alpine
|
||||||
|
env:
|
||||||
|
- name: CMD_DB_URL
|
||||||
|
valuefrom:
|
||||||
|
secretkeyref:
|
||||||
|
name: ampel-secrets
|
||||||
|
key: postgres-url
|
||||||
|
- name: CMD_PORT
|
||||||
|
value: 3400
|
||||||
|
- name: CMD_ALLOW_EMAIL_REGISTER
|
||||||
|
value: true
|
||||||
|
- name: CMD_DOMAIN
|
||||||
|
value: ""
|
||||||
|
- name: CMD_PROTOCOL_USESSL
|
||||||
|
value: true
|
||||||
|
- name: NODE_ENV
|
||||||
|
value: production
|
||||||
|
- name: CMD_IMAGE_UPLOAD_TYPE
|
||||||
|
value: filesystem
|
||||||
|
- name: UPLOADS_MODE
|
||||||
|
value: 0700
|
||||||
|
ports:
|
||||||
|
- containerport: 3400
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: notes-uploads
|
||||||
|
mountpath: /hedgedoc/public/uploads
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: postgres
|
||||||
|
image: docker.io/library/postgres:16-alpine
|
||||||
|
env:
|
||||||
|
- name: POSTGRES_PASSWORD
|
||||||
|
valuefrom:
|
||||||
|
secretkeyref:
|
||||||
|
name: ampel-secrets
|
||||||
|
key: postgres-password
|
||||||
|
volumemounts:
|
||||||
|
- name: postgres-dump
|
||||||
|
mountpath: /dump
|
||||||
|
- name: postgres-data
|
||||||
|
mountpath: /var/lib/postgresql/data
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: git-data
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: ampel-pod-git-data
|
||||||
|
- name: tailscale-lib
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: ampel-pod-tailscale-lib
|
||||||
|
- name: notes-uploads
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: ampel-pod-notes-uploads
|
||||||
|
- name: postgres-dump
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.dump/ampel
|
||||||
|
type: Directory
|
||||||
|
- name: postgres-data
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: ampel-pod-postgres-data
|
||||||
|
- name: localtime
|
||||||
|
hostpath:
|
||||||
|
path: /etc/localtime
|
||||||
|
type: File
|
8
dotconfig/pods/ampel/ampel-secrets.yml
Normal file
8
dotconfig/pods/ampel/ampel-secrets.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
apiversion: v1
|
||||||
|
data:
|
||||||
|
postgres-password:
|
||||||
|
postgres-url:
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
creationtimestamp: null
|
||||||
|
name: ampel-secrets
|
|
@ -7,23 +7,23 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: vaultwarden
|
- name: vaultwarden
|
||||||
image: docker.io/vaultwarden/server:alpine
|
image: docker.io/vaultwarden/server:latest-alpine
|
||||||
env:
|
env:
|
||||||
- name: SIGNUPS_ALLOWED
|
- name: SIGNUPS_ALLOWED
|
||||||
value: false
|
value: false
|
||||||
- name: DATABASE_URL
|
- name: DATABASE_URL
|
||||||
value: "postgresql://postgres:<secret>@bitwarden-pod-postgres/vaultwarden"
|
value: ""
|
||||||
- name: ROCKET_PORT
|
- name: ROCKET_PORT
|
||||||
value: 3000
|
value: 3000
|
||||||
ports:
|
ports:
|
||||||
- containerport: 3000
|
- containerport: 3000
|
||||||
hostport: 1080
|
hostport:
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
volumemounts:
|
volumemounts:
|
||||||
- mountpath: /data
|
- name: vaultwarden-data
|
||||||
name: vaultwarden-data
|
mountpath: /data
|
||||||
- mountpath: /etc/localtime
|
- name: localtime
|
||||||
name: localtime
|
mountpath: /etc/localtime
|
||||||
readonly: true
|
readonly: true
|
||||||
|
|
||||||
- name: postgres
|
- name: postgres
|
||||||
|
@ -35,26 +35,26 @@ spec:
|
||||||
name: bitwarden-secrets
|
name: bitwarden-secrets
|
||||||
key: postgres-password
|
key: postgres-password
|
||||||
volumemounts:
|
volumemounts:
|
||||||
- mountpath: /dump
|
- name: postgres-dump
|
||||||
name: postgres-dump
|
mountpath: /dump
|
||||||
- mountpath: /var/lib/postgresql/data
|
- name: postgres-data
|
||||||
name: postgres-data
|
mountpath: /var/lib/postgresql/data
|
||||||
- mountpath: /etc/localtime
|
- name: localtime
|
||||||
name: localtime
|
mountpath: /etc/localtime
|
||||||
readonly: true
|
readonly: true
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- persistentvolumeclaim:
|
- name: vaultwarden-data
|
||||||
|
persistentvolumeclaim:
|
||||||
claimname: bitwarden-pod-vaultwarden-data
|
claimname: bitwarden-pod-vaultwarden-data
|
||||||
name: vaultwarden-data
|
- name: postgres-dump
|
||||||
- hostpath:
|
hostpath:
|
||||||
path: <home>/.dump/bitwarden
|
path: $HOME/.dump/bitwarden
|
||||||
type: Directory
|
type: Directory
|
||||||
name: postgres-dump
|
- name: postgres-data
|
||||||
- persistentvolumeclaim:
|
persistentvolumeclaim:
|
||||||
claimname: bitwarden-pod-postgres-data
|
claimname: bitwarden-pod-postgres-data
|
||||||
name: postgres-data
|
- name: localtime
|
||||||
- hostPath:
|
hostPath:
|
||||||
path: /etc/localtime
|
path: /etc/localtime
|
||||||
type: File
|
type: File
|
||||||
name: localtime
|
|
8
dotconfig/pods/bitwarden/bitwarden-secrets.yml
Normal file
8
dotconfig/pods/bitwarden/bitwarden-secrets.yml
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
apiversion: v1
|
||||||
|
data:
|
||||||
|
postgres-password:
|
||||||
|
postgres-url:
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
creationtimestamp: null
|
||||||
|
name: bitwarden-secrets
|
134
dotconfig/pods/luc/luc-pod.yml
Normal file
134
dotconfig/pods/luc/luc-pod.yml
Normal file
|
@ -0,0 +1,134 @@
|
||||||
|
apiversion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: luc-pod
|
||||||
|
annotations:
|
||||||
|
io.podman.annotations.infra.name: luc-pod-infra
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
# - name: root
|
||||||
|
# image:
|
||||||
|
# env:
|
||||||
|
# - name: PORT
|
||||||
|
# value: 3000
|
||||||
|
# ports:
|
||||||
|
# - containerport: 3000
|
||||||
|
# hostport:
|
||||||
|
# protocol: TCP
|
||||||
|
# volumemounts:
|
||||||
|
# - name: localtime
|
||||||
|
# mountpath: /etc/localtime
|
||||||
|
# readonly: true
|
||||||
|
|
||||||
|
- name: git
|
||||||
|
image: codeberg.org/forgejo/forgejo:9
|
||||||
|
env:
|
||||||
|
- name: USER_UID
|
||||||
|
value: "1000"
|
||||||
|
- name: USER_GID
|
||||||
|
value: "1000"
|
||||||
|
- name: FORGEJO__database__DB_TYPE
|
||||||
|
value: "postgres"
|
||||||
|
- name: FORGEJO__database__HOST
|
||||||
|
value: "luc-pod-postgres"
|
||||||
|
- name: FORGEJO__database__USER
|
||||||
|
value: "postgres"
|
||||||
|
- name: FORGEJO__database__PASSWD
|
||||||
|
valuefrom:
|
||||||
|
secretkeyref:
|
||||||
|
name: luc-secrets
|
||||||
|
key: postgres-password
|
||||||
|
- name: FORGEJO__database__NAME
|
||||||
|
value: "forgejo"
|
||||||
|
ports:
|
||||||
|
- containerport: 3100
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: git-data
|
||||||
|
mountpath: /data
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: tailscale
|
||||||
|
image: ghcr.io/tailscale/tailscale:latest
|
||||||
|
env:
|
||||||
|
- name: TS_HOSTNAME
|
||||||
|
value: "luc-pod"
|
||||||
|
- name: TS_AUTHKEY
|
||||||
|
value: ""
|
||||||
|
- name: TS_STATE_DIR
|
||||||
|
value: "/var/lib/tailscale"
|
||||||
|
- name: TS_EXTRA_ARGS
|
||||||
|
value: "--login-server="
|
||||||
|
volumemounts:
|
||||||
|
- name: tailscale-lib
|
||||||
|
mountpath: /var/lib/tailscale
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
# - name: wiki
|
||||||
|
# image: git.ampel.dev/git-mkdocs:latest
|
||||||
|
# env:
|
||||||
|
# - name: GIT_REPO_URL
|
||||||
|
# value: ""
|
||||||
|
# - name: PORT
|
||||||
|
# value: 3200
|
||||||
|
# ports:
|
||||||
|
# - containerport: 3200
|
||||||
|
# hostport:
|
||||||
|
# protocol: TCP
|
||||||
|
# volumemounts:
|
||||||
|
# - name: localtime
|
||||||
|
# mountpath: /etc/localtime
|
||||||
|
# readonly: true
|
||||||
|
|
||||||
|
# - name: blog
|
||||||
|
# ports:
|
||||||
|
# - containerport: 3300
|
||||||
|
# hostport:
|
||||||
|
# protocol: TCP
|
||||||
|
|
||||||
|
# - name: notes
|
||||||
|
# ports:
|
||||||
|
# - containerport: 3400
|
||||||
|
# hostport:
|
||||||
|
# protocol: TCP
|
||||||
|
|
||||||
|
- name: postgres
|
||||||
|
image: docker.io/library/postgres:16-alpine
|
||||||
|
env:
|
||||||
|
- name: POSTGRES_PASSWORD
|
||||||
|
valuefrom:
|
||||||
|
secretkeyref:
|
||||||
|
name: luc-secrets
|
||||||
|
key: postgres-password
|
||||||
|
volumemounts:
|
||||||
|
- name: postgres-dump
|
||||||
|
mountpath: /dump
|
||||||
|
- name: postgres-data
|
||||||
|
mountpath: /var/lib/postgresql/data
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: git-data
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: luc-pod-git-data
|
||||||
|
- name: tailscale-lib
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: luc-pod-tailscale-lib
|
||||||
|
- name: postgres-dump
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.dump/luc
|
||||||
|
type: Directory
|
||||||
|
- name: postgres-data
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: luc-pod-postgres-data
|
||||||
|
- name: localtime
|
||||||
|
hostpath:
|
||||||
|
path: /etc/localtime
|
||||||
|
type: File
|
|
@ -1,7 +1,7 @@
|
||||||
apiversion: v1
|
apiversion: v1
|
||||||
data:
|
data:
|
||||||
postgres-password: <base64-secret>
|
postgres-password:
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
creationtimestamp: null
|
creationtimestamp: null
|
||||||
name: git-secrets
|
name: luc-secrets
|
112
dotconfig/pods/matrix/matrix-pod.yml
Normal file
112
dotconfig/pods/matrix/matrix-pod.yml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
apiversion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: matrix-pod
|
||||||
|
annotations:
|
||||||
|
io.podman.annotations.infra.name: matrix-pod-infra
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: dendrite
|
||||||
|
image: ghcr.io/element-hq/dendrite-monolith:latest
|
||||||
|
ports:
|
||||||
|
- containerport: 8008
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
- containerport: 8448
|
||||||
|
hostport: 8448
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: dendrite-config
|
||||||
|
mountpath: /etc/dendrite
|
||||||
|
- name: dendrite-media
|
||||||
|
mountpath: /var/dendrite/media
|
||||||
|
- name: dendrite-jetstream
|
||||||
|
mountpath: /var/dendrite/jetstream
|
||||||
|
- name: dendrite-searchindex
|
||||||
|
mountpath: /var/dendrite/searchindex
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: mautrix-whatsapp
|
||||||
|
image: dock.mau.dev/mautrix/whatsapp:latest
|
||||||
|
command:
|
||||||
|
- /usr/bin/mautrix-whatsapp
|
||||||
|
- -c
|
||||||
|
- /data/config.yaml
|
||||||
|
- -r
|
||||||
|
- /data/registration.yaml
|
||||||
|
- --ignore-unsupported-server
|
||||||
|
volumemounts:
|
||||||
|
- name: mautrix-whatsapp-config
|
||||||
|
mountpath: /data
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: mautrix-signal
|
||||||
|
image: dock.mau.dev/mautrix/signal:latest
|
||||||
|
command:
|
||||||
|
- /usr/bin/mautrix-signal
|
||||||
|
- -c
|
||||||
|
- /data/config.yaml
|
||||||
|
- -r
|
||||||
|
- /data/registration.yaml
|
||||||
|
- --ignore-unsupported-server
|
||||||
|
volumemounts:
|
||||||
|
- name: mautrix-signal-config
|
||||||
|
mountpath: /data
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: postgres
|
||||||
|
image: docker.io/library/postgres:16-alpine
|
||||||
|
env:
|
||||||
|
- name: POSTGRES_PASSWORD
|
||||||
|
valuefrom:
|
||||||
|
secretkeyref:
|
||||||
|
name: matrix-secrets
|
||||||
|
key: postgres-password
|
||||||
|
volumemounts:
|
||||||
|
- name: postgres-dump
|
||||||
|
mountpath: /dump
|
||||||
|
- name: postgres-data
|
||||||
|
mountpath: /var/lib/postgresql/data
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: dendrite-config
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.config/pods/matrix/dendrite-config
|
||||||
|
type: Directory
|
||||||
|
- name: dendrite-media
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: matrix-pod-dendrite-media
|
||||||
|
- name: dendrite-jetstream
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: matrix-pod-dendrite-jetstream
|
||||||
|
- name: dendrite-searchindex
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: matrix-pod-dendrite-searchindex
|
||||||
|
- name: mautrix-whatsapp-config
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.config/pods/matrix/mautrix-whatsapp-config
|
||||||
|
type: Directory
|
||||||
|
- name: mautrix-signal-config
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.config/pods/matrix/mautrix-signal-config
|
||||||
|
type: Directory
|
||||||
|
- name: postgres-dump
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.dump/matrix
|
||||||
|
type: Directory
|
||||||
|
- name: postgres-data
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: matrix-pod-postgres-data
|
||||||
|
- name: localtime
|
||||||
|
hostpath:
|
||||||
|
path: /etc/localtime
|
||||||
|
type: File
|
|
@ -1,7 +1,7 @@
|
||||||
apiversion: v1
|
apiversion: v1
|
||||||
data:
|
data:
|
||||||
postgres-password: <base64-secret>
|
postgres-password:
|
||||||
kind: Secret
|
kind: Secret
|
||||||
metadata:
|
metadata:
|
||||||
creationtimestamp: null
|
creationtimestamp: null
|
||||||
name: matrix-secrets
|
name: matrix-secrets
|
47
dotconfig/pods/media/media-pod.yml
Normal file
47
dotconfig/pods/media/media-pod.yml
Normal file
|
@ -0,0 +1,47 @@
|
||||||
|
apiversion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: media-pod
|
||||||
|
annotations:
|
||||||
|
io.podman.annotations.infra.name: media-pod-infra
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: jellyfin
|
||||||
|
image: docker.io/jellyfin/jellyfin:latest
|
||||||
|
securitycontext:
|
||||||
|
runasgroup: 1000
|
||||||
|
runasuser: 1000
|
||||||
|
env:
|
||||||
|
- name: JELLYFIN_PublishedServerUrl
|
||||||
|
value: ""
|
||||||
|
ports:
|
||||||
|
- containerport: 8096
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: jellyfin-config
|
||||||
|
mountpath: /config
|
||||||
|
- name: jellyfin-cache
|
||||||
|
mountpath: /cache
|
||||||
|
- name: jellyfin-media
|
||||||
|
mountpath: /media
|
||||||
|
readonly: true
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: jellyfin-config
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: media-pod-jellyfin-config
|
||||||
|
- name: jellyfin-media
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.local/share/media
|
||||||
|
type: Directory
|
||||||
|
- name: jellyfin-cache
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: media-pod-jellyfin-cache
|
||||||
|
- name: localtime
|
||||||
|
hostpath:
|
||||||
|
path: /etc/localtime
|
||||||
|
type: File
|
|
@ -10,25 +10,25 @@ spec:
|
||||||
image: docker.io/mtlynch/picoshare:latest
|
image: docker.io/mtlynch/picoshare:latest
|
||||||
env:
|
env:
|
||||||
- name: PS_SHARED_SECRET
|
- name: PS_SHARED_SECRET
|
||||||
value: "<secret>"
|
value: ""
|
||||||
- name: PORT
|
- name: PORT
|
||||||
value: 3000
|
value: 3000
|
||||||
ports:
|
ports:
|
||||||
- containerport: 3000
|
- containerport: 3000
|
||||||
hostport: 5080
|
hostport:
|
||||||
protocol: TCP
|
protocol: TCP
|
||||||
volumemounts:
|
volumemounts:
|
||||||
- mountpath: /data
|
- name: picoshare-data
|
||||||
name: picoshare-data
|
mountpath: /data
|
||||||
- mountpath: /etc/localtime
|
- name: localtime
|
||||||
name: localtime
|
mountpath: /etc/localtime
|
||||||
readonly: true
|
readonly: true
|
||||||
|
|
||||||
volumes:
|
volumes:
|
||||||
- persistentvolumeclaim:
|
- name: picoshare-data
|
||||||
|
persistentvolumeclaim:
|
||||||
claimname: share-pod-picoshare-data
|
claimname: share-pod-picoshare-data
|
||||||
name: picoshare-data
|
- name: localtime
|
||||||
- hostPath:
|
hostpath:
|
||||||
path: /etc/localtime
|
path: /etc/localtime
|
||||||
type: File
|
type: File
|
||||||
name: localtime
|
|
7
dotconfig/pods/share/share-secrets.yml
Normal file
7
dotconfig/pods/share/share-secrets.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
apiversion: v1
|
||||||
|
data:
|
||||||
|
picoshare-password:
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
creationtimestamp: null
|
||||||
|
name: share-secrets
|
112
dotconfig/pods/smarthome/smarthome-pod.yml
Normal file
112
dotconfig/pods/smarthome/smarthome-pod.yml
Normal file
|
@ -0,0 +1,112 @@
|
||||||
|
apiversion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: smarthome-pod
|
||||||
|
annotations:
|
||||||
|
io.podman.annotations.infra.name: smarthome-pod-infra
|
||||||
|
run.oci.keep_original_groups: 1
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: home-assistant
|
||||||
|
image: ghcr.io/home-assistant/home-assistant:latest
|
||||||
|
ports:
|
||||||
|
- containerport: 3000
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: home-assistant-config
|
||||||
|
mountpath: /config
|
||||||
|
- name: home-assistant-usb0
|
||||||
|
mountpath: /dev/ttyUSB0
|
||||||
|
- name: home-assistant-usb1
|
||||||
|
mountpath: /dev/ttyUSB1
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: mosquitto
|
||||||
|
image: docker.io/eclipse-mosquitto:latest
|
||||||
|
ports:
|
||||||
|
- containerport: 1883
|
||||||
|
hostport: 1883
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: mosquitto-config
|
||||||
|
mountpath: /mosquitto/config
|
||||||
|
- name: mosquitto-data
|
||||||
|
mountpath: /mosquitto/data
|
||||||
|
- name: mosquitto-log
|
||||||
|
mountpath: /mosquitto/log
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: esphome
|
||||||
|
image: docker.io/esphome/esphome:latest
|
||||||
|
env:
|
||||||
|
- name: USERNAME
|
||||||
|
value: ""
|
||||||
|
- name: PASSWORD
|
||||||
|
value: ""
|
||||||
|
ports:
|
||||||
|
- containerport: 6052
|
||||||
|
hostport: 6052
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: esphome-config
|
||||||
|
mountpath: /config
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
- name: postgres
|
||||||
|
image: docker.io/library/postgres:16-alpine
|
||||||
|
env:
|
||||||
|
- name: POSTGRES_PASSWORD
|
||||||
|
valuefrom:
|
||||||
|
secretkeyref:
|
||||||
|
name: smarthome-secrets
|
||||||
|
key: postgres-password
|
||||||
|
volumemounts:
|
||||||
|
- name: postgres-dump
|
||||||
|
mountpath: /dump
|
||||||
|
- name: postgres-data
|
||||||
|
mountpath: /var/lib/postgresql/data
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: home-assistant-config
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.config/pods/smarthome/home-assistant-config
|
||||||
|
type: Directory
|
||||||
|
- name: home-assistant-usb0
|
||||||
|
hostpath:
|
||||||
|
path: /dev/ttyUSB0
|
||||||
|
type: File
|
||||||
|
- name: home-assistant-usb1
|
||||||
|
hostpath:
|
||||||
|
path: /dev/ttyUSB1
|
||||||
|
type: File
|
||||||
|
- name: mosquitto-config
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.config/pods/smarthome/mosquitto-config
|
||||||
|
type: Directory
|
||||||
|
- name: mosquitto-data
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: smarthome-pod-mosquitto-data
|
||||||
|
- name: mosquitto-log
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: smarthome-pod-mosquitto-log
|
||||||
|
- name: postgres-dump
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.dump/smarthome
|
||||||
|
type: Directory
|
||||||
|
- name: postgres-data
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: smarthome-pod-postgres-data
|
||||||
|
- name: localtime
|
||||||
|
hostpath:
|
||||||
|
path: /etc/localtime
|
||||||
|
type: File
|
7
dotconfig/pods/smarthome/smarthome-secrets.yml
Normal file
7
dotconfig/pods/smarthome/smarthome-secrets.yml
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
apiversion: v1
|
||||||
|
data:
|
||||||
|
postgres-password:
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
creationtimestamp: null
|
||||||
|
name: smarthome-secrets
|
38
dotconfig/pods/tailscale/tailscale-pod.yml
Normal file
38
dotconfig/pods/tailscale/tailscale-pod.yml
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
apiversion: v1
|
||||||
|
kind: Pod
|
||||||
|
metadata:
|
||||||
|
name: tailscale-pod
|
||||||
|
annotations:
|
||||||
|
io.podman.annotations.infra.name: tailscale-pod-infra
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- name: headscale
|
||||||
|
image: docker.io/headscale/headscale:0.26
|
||||||
|
command:
|
||||||
|
- headscale
|
||||||
|
- serve
|
||||||
|
ports:
|
||||||
|
- containerport: 8080
|
||||||
|
hostport:
|
||||||
|
protocol: TCP
|
||||||
|
volumemounts:
|
||||||
|
- name: headscale-config
|
||||||
|
mountpath: /etc/headscale
|
||||||
|
- name: headscale-lib
|
||||||
|
mountpath: /var/lib/headscale
|
||||||
|
- name: localtime
|
||||||
|
mountpath: /etc/localtime
|
||||||
|
readonly: true
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- name: headscale-config
|
||||||
|
hostpath:
|
||||||
|
path: $HOME/.config/pods/tailscale/headscale-config
|
||||||
|
type: Directory
|
||||||
|
- name: headscale-lib
|
||||||
|
persistentvolumeclaim:
|
||||||
|
claimname: tailscale-pod-headscale-lib
|
||||||
|
- name: localtime
|
||||||
|
hostpath:
|
||||||
|
path: /etc/localtime
|
||||||
|
type: File
|
5
dotconfig/sv/ampel/conf
Executable file
5
dotconfig/sv/ampel/conf
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
name="ampel"
|
||||||
|
pod_location="${HOME}/.config/pods/ampel"
|
||||||
|
bin_location="${HOME}/.local/bin"
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
command_args="--network=pasta --replace"
|
6
dotconfig/sv/ampel/finish
Executable file
6
dotconfig/sv/ampel/finish
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec $command kube down ${pod_location}/${name}-pod.yml
|
7
dotconfig/sv/ampel/run
Executable file
7
dotconfig/sv/ampel/run
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
$command kube play $command_args ${pod_location}/${name}-pod.yml
|
||||||
|
exec ${bin_location}/checkpod
|
5
dotconfig/sv/bitwarden/conf
Executable file
5
dotconfig/sv/bitwarden/conf
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
name="bitwarden"
|
||||||
|
pod_location="${HOME}/.config/pods/bitwarden"
|
||||||
|
bin_location="${HOME}/.local/bin"
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
command_args="--network=pasta --replace"
|
6
dotconfig/sv/bitwarden/finish
Executable file
6
dotconfig/sv/bitwarden/finish
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec $command kube down ${pod_location}/${name}-pod.yml
|
7
dotconfig/sv/bitwarden/run
Executable file
7
dotconfig/sv/bitwarden/run
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
$command kube play $command_args ${pod_location}/${name}-pod.yml
|
||||||
|
exec ${bin_location}/checkpod
|
11
dotconfig/sv/caddy/run
Executable file
11
dotconfig/sv/caddy/run
Executable file
|
@ -0,0 +1,11 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
command="/usr/sbin/caddy"
|
||||||
|
command_args="run --config ${HOME}/.config/caddy/caddy.json"
|
||||||
|
|
||||||
|
exec ps | grep '[${command}] ${command_args}' > /dev/null
|
||||||
|
|
||||||
|
if [ $? != 0 ]; then
|
||||||
|
exec 2>&1
|
||||||
|
exec $command $command_args
|
||||||
|
fi
|
4
dotconfig/sv/dump/run
Executable file
4
dotconfig/sv/dump/run
Executable file
|
@ -0,0 +1,4 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec snooze -H0-3,5-23 -M0 ${HOME}/.local/bin/dump
|
5
dotconfig/sv/luc/conf
Executable file
5
dotconfig/sv/luc/conf
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
name="luc"
|
||||||
|
pod_location="${HOME}/.config/pods/luc"
|
||||||
|
bin_location="${HOME}/.local/bin"
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
command_args="--network=pasta --replace"
|
6
dotconfig/sv/luc/finish
Executable file
6
dotconfig/sv/luc/finish
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec $command kube down ${pod_location}/${name}-pod.yml
|
7
dotconfig/sv/luc/run
Executable file
7
dotconfig/sv/luc/run
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
$command kube play $command_args ${pod_location}/${name}-pod.yml
|
||||||
|
exec ${bin_location}/checkpod
|
5
dotconfig/sv/matrix/conf
Executable file
5
dotconfig/sv/matrix/conf
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
name="matrix"
|
||||||
|
pod_location="${HOME}/.config/pods/matrix"
|
||||||
|
bin_location="${HOME}/.local/bin"
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
command_args="--network=pasta --replace"
|
6
dotconfig/sv/matrix/finish
Executable file
6
dotconfig/sv/matrix/finish
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec $command kube down ${pod_location}/${name}-pod.yml
|
7
dotconfig/sv/matrix/run
Executable file
7
dotconfig/sv/matrix/run
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
$command kube play $command_args ${pod_location}/${name}-pod.yml
|
||||||
|
exec ${bin_location}/checkpod
|
5
dotconfig/sv/media/conf
Executable file
5
dotconfig/sv/media/conf
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
name="media"
|
||||||
|
pod_location="${HOME}/.config/pods/media"
|
||||||
|
bin_location="${HOME}/.local/bin"
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
command_args="--network=pasta --replace"
|
6
dotconfig/sv/media/finish
Executable file
6
dotconfig/sv/media/finish
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec $command kube down ${pod_location}/${name}-pod.yml
|
7
dotconfig/sv/media/run
Executable file
7
dotconfig/sv/media/run
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
$command kube play $command_args ${pod_location}/${name}-pod.yml
|
||||||
|
exec ${bin_location}/checkpod
|
5
dotconfig/sv/share/conf
Executable file
5
dotconfig/sv/share/conf
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
name="share"
|
||||||
|
pod_location="${HOME}/.config/pods/share"
|
||||||
|
bin_location="${HOME}/.local/bin"
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
command_args="--network=pasta --replace"
|
6
dotconfig/sv/share/finish
Executable file
6
dotconfig/sv/share/finish
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec $command kube down ${pod_location}/${name}-pod.yml
|
7
dotconfig/sv/share/run
Executable file
7
dotconfig/sv/share/run
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
$command kube play $command_args ${pod_location}/${name}-pod.yml
|
||||||
|
exec ${bin_location}/checkpod
|
5
dotconfig/sv/smarthome/conf
Executable file
5
dotconfig/sv/smarthome/conf
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
name="smarthome"
|
||||||
|
pod_location="${HOME}/.config/pods/smarthome"
|
||||||
|
bin_location="${HOME}/.local/bin"
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
command_args="--network=pasta --replace"
|
6
dotconfig/sv/smarthome/finish
Executable file
6
dotconfig/sv/smarthome/finish
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec $command kube down ${pod_location}/${name}-pod.yml
|
7
dotconfig/sv/smarthome/run
Executable file
7
dotconfig/sv/smarthome/run
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
$command kube play $command_args ${pod_location}/${name}-pod.yml
|
||||||
|
exec ${bin_location}/checkpod
|
5
dotconfig/sv/tailscale/conf
Executable file
5
dotconfig/sv/tailscale/conf
Executable file
|
@ -0,0 +1,5 @@
|
||||||
|
name="tailscale"
|
||||||
|
pod_location="${HOME}/.config/pods/tailscale"
|
||||||
|
bin_location="${HOME}/.local/bin"
|
||||||
|
command="/usr/bin/podman"
|
||||||
|
command_args="--network=pasta --replace"
|
6
dotconfig/sv/tailscale/finish
Executable file
6
dotconfig/sv/tailscale/finish
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
exec $command kube down ${pod_location}/${name}-pod.yml
|
7
dotconfig/sv/tailscale/run
Executable file
7
dotconfig/sv/tailscale/run
Executable file
|
@ -0,0 +1,7 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
. ./conf
|
||||||
|
|
||||||
|
exec 2>&1
|
||||||
|
$command kube play $command_args ${pod_location}/${name}-pod.yml
|
||||||
|
exec ${bin_location}/checkpod
|
|
@ -1,8 +0,0 @@
|
||||||
apiversion: v1
|
|
||||||
data:
|
|
||||||
postgres-password: <base64-secret>
|
|
||||||
postgres-url: <base64-secret>
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
creationtimestamp: null
|
|
||||||
name: bitwarden-secrets
|
|
|
@ -1,101 +0,0 @@
|
||||||
apiversion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: git-pod
|
|
||||||
annotations:
|
|
||||||
io.podman.annotations.infra.name: git-pod-infra
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: gitea
|
|
||||||
image: docker.io/gitea/gitea:latest
|
|
||||||
env:
|
|
||||||
- name: USER_UID
|
|
||||||
value: "1000"
|
|
||||||
- name: USER_GID
|
|
||||||
value: "1000"
|
|
||||||
- name: GITEA__database__HOST
|
|
||||||
value: "git-pod-postgres"
|
|
||||||
- name: GITEA__database__USER
|
|
||||||
value: "postgres"
|
|
||||||
- name: GITEA__database__PASSWD
|
|
||||||
valuefrom:
|
|
||||||
secretkeyref:
|
|
||||||
name: git-secrets
|
|
||||||
key: postgres-password
|
|
||||||
- name: GITEA__database__NAME
|
|
||||||
value: "gitea"
|
|
||||||
ports:
|
|
||||||
- containerport: 3000
|
|
||||||
hostport: 2080
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /data
|
|
||||||
name: gitea-data
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: documentation
|
|
||||||
image: git-mkdocs:latest
|
|
||||||
env:
|
|
||||||
- name: GIT_REPO_URL
|
|
||||||
value: "https://git.bijl.us/lnco/documentation.git"
|
|
||||||
- name: PORT
|
|
||||||
value: 3100
|
|
||||||
- containerport: 3100
|
|
||||||
hostport: 2180
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: wiki
|
|
||||||
image: git-mkdocs-wiki:latest
|
|
||||||
env:
|
|
||||||
- name: GIT_REPO_URL
|
|
||||||
value: "https://git.bijl.us/luc/mathematics-physics-wiki.git"
|
|
||||||
- name: WIKI_LANG
|
|
||||||
value: "en nl"
|
|
||||||
- name: PORT
|
|
||||||
value: 3200
|
|
||||||
- containerport: 3200
|
|
||||||
hostport: 2280
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: postgres
|
|
||||||
image: docker.io/library/postgres:16-alpine
|
|
||||||
env:
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
valuefrom:
|
|
||||||
secretkeyref:
|
|
||||||
name: git-secrets
|
|
||||||
key: postgres-password
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /dump
|
|
||||||
name: postgres-dump
|
|
||||||
- mountpath: /var/lib/postgresql/data
|
|
||||||
name: postgres-data
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: git-pod-gitea-data
|
|
||||||
name: gitea-data
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.dump/git
|
|
||||||
type: Directory
|
|
||||||
name: postgres-dump
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: git-pod-postgres-data
|
|
||||||
name: postgres-data
|
|
||||||
- hostpath:
|
|
||||||
path: /etc/localtime
|
|
||||||
type: File
|
|
||||||
name: localtime
|
|
|
@ -1,129 +0,0 @@
|
||||||
apiversion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: matrix-pod
|
|
||||||
annotations:
|
|
||||||
io.podman.annotations.infra.name: matrix-pod-infra
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: dendrite
|
|
||||||
image: matrixdotorg/dendrite-monolith:latest
|
|
||||||
ports:
|
|
||||||
- containerport: 8008
|
|
||||||
hostport: 3080
|
|
||||||
protocol: TCP
|
|
||||||
- containerport: 8448
|
|
||||||
hostport: 8448
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /etc/dendrite
|
|
||||||
name: dendrite-config
|
|
||||||
- mountpath: /var/dendrite/media
|
|
||||||
name: dendrite-media
|
|
||||||
- mountpath: /var/dendrite/jetstream
|
|
||||||
name: dendrite-jetstream
|
|
||||||
- mountpath: /var/dendrite/searchindex
|
|
||||||
name: dendrite-searchindex
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: mautrix-whatsapp
|
|
||||||
image: dock.mau.dev/mautrix/whatsapp:latest
|
|
||||||
command:
|
|
||||||
- /usr/bin/mautrix-whatsapp
|
|
||||||
- -c
|
|
||||||
- /data/config.yaml
|
|
||||||
- -r
|
|
||||||
- /data/registration.yaml
|
|
||||||
- --ignore-unsupported-server
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /data
|
|
||||||
name: mautrix-whatsapp-config
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: mautrix-signal
|
|
||||||
image: dock.mau.dev/mautrix/signal:latest
|
|
||||||
command:
|
|
||||||
- /usr/bin/mautrix-signal
|
|
||||||
- -c
|
|
||||||
- /data/config.yaml
|
|
||||||
- -r
|
|
||||||
- /data/registration.yaml
|
|
||||||
- --ignore-unsupported-server
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /data
|
|
||||||
name: mautrix-signal-config
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: element
|
|
||||||
image: vectorim/element-web:latest
|
|
||||||
ports:
|
|
||||||
- containerport: 80
|
|
||||||
hostport: 3180
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /app/config.json
|
|
||||||
name: element-config
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: postgres
|
|
||||||
image: docker.io/library/postgres:16-alpine
|
|
||||||
env:
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
valuefrom:
|
|
||||||
secretkeyref:
|
|
||||||
name: matrix-secrets
|
|
||||||
key: postgres-password
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /dump
|
|
||||||
name: postgres-dump
|
|
||||||
- mountpath: /var/lib/postgresql/data
|
|
||||||
name: postgres-data
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.config/pods/matrix/dendrite-config
|
|
||||||
type: Directory
|
|
||||||
name: dendrite-config
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: matrix-pod-dendrite-media
|
|
||||||
name: dendrite-media
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: matrix-pod-dendrite-jetstream
|
|
||||||
name: dendrite-jetstream
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: matrix-pod-dendrite-searchindex
|
|
||||||
name: dendrite-searchindex
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.config/pods/matrix/mautrix-whatsapp-config
|
|
||||||
type: Directory
|
|
||||||
name: mautrix-whatsapp-config
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.config/pods/matrix/mautrix-signal-config
|
|
||||||
type: Directory
|
|
||||||
name: mautrix-signal-config
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.config/pods/matrix/element-config/config.json
|
|
||||||
type: File
|
|
||||||
name: element-config
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.dump/matrix
|
|
||||||
type: Directory
|
|
||||||
name: postgres-dump
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: matrix-pod-postgres-data
|
|
||||||
name: postgres-data
|
|
||||||
- hostpath:
|
|
||||||
path: /etc/localtime
|
|
||||||
type: File
|
|
||||||
name: localtime
|
|
|
@ -1,73 +0,0 @@
|
||||||
apiversion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: notes-pod
|
|
||||||
annotations:
|
|
||||||
io.podman.annotations.infra.name: notes-pod-infra
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: hedgedoc
|
|
||||||
image: quay.io/hedgedoc/hedgedoc:alpine
|
|
||||||
env:
|
|
||||||
- name: CMD_DB_URL
|
|
||||||
valuefrom:
|
|
||||||
secretkeyref:
|
|
||||||
name: notes-secrets
|
|
||||||
key: postgres-url
|
|
||||||
- name: CMD_ALLOW_EMAIL_REGISTER
|
|
||||||
value: true
|
|
||||||
- name: CMD_DOMAIN
|
|
||||||
value: "notes.bijl.us"
|
|
||||||
- name: CMD_PROTOCOL_USESSL
|
|
||||||
value: true
|
|
||||||
- name: CMD_URL_ADDPORT
|
|
||||||
value: false
|
|
||||||
- name: NODE_ENV
|
|
||||||
value: production
|
|
||||||
- name: CMD_IMAGE_UPLOAD_TYPE
|
|
||||||
value: filesystem
|
|
||||||
- name: UPLOADS_MODE
|
|
||||||
value: 0700
|
|
||||||
ports:
|
|
||||||
- containerport: 3000
|
|
||||||
hostport: 4080
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /hedgedoc/public/uploads
|
|
||||||
name: hedgedoc-uploads
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: postgres
|
|
||||||
image: docker.io/library/postgres:16-alpine
|
|
||||||
env:
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
valuefrom:
|
|
||||||
secretkeyref:
|
|
||||||
name: notes-secrets
|
|
||||||
key: postgres-password
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /dump
|
|
||||||
name: postgres-dump
|
|
||||||
- mountpath: /var/lib/postgresql/data
|
|
||||||
name: postgres-data
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: notes-pod-hedgedoc-uploads
|
|
||||||
name: hedgedoc-uploads
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.dump/notes
|
|
||||||
type: Directory
|
|
||||||
name: postgres-dump
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: notes-pod-postgres-data
|
|
||||||
name: postgres-data
|
|
||||||
- hostPath:
|
|
||||||
path: /etc/localtime
|
|
||||||
type: File
|
|
||||||
name: localtime
|
|
|
@ -1,8 +0,0 @@
|
||||||
apiversion: v1
|
|
||||||
data:
|
|
||||||
postgres-password: <base64-secret>
|
|
||||||
postgres-url: <base64-url>
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
creationtimestamp: null
|
|
||||||
name: notes-secrets
|
|
|
@ -1,171 +0,0 @@
|
||||||
apiversion: v1
|
|
||||||
kind: Pod
|
|
||||||
metadata:
|
|
||||||
name: smarthome-pod
|
|
||||||
annotations:
|
|
||||||
io.podman.annotations.infra.name: smarthome-pod-infra
|
|
||||||
run.oci.keep_original_groups: 1
|
|
||||||
spec:
|
|
||||||
containers:
|
|
||||||
- name: home-assistant
|
|
||||||
image: ghcr.io/home-assistant/home-assistant:latest
|
|
||||||
ports:
|
|
||||||
- containerport: 3000
|
|
||||||
hostport: 6080
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /config
|
|
||||||
name: home-assistant-config
|
|
||||||
- mountpath: /dev/ttyUSB0
|
|
||||||
name: home-assistant-usb0
|
|
||||||
- mountpath: /dev/ttyUSB1
|
|
||||||
name: home-assistant-usb1
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: mosquitto
|
|
||||||
image: docker.io/eclipse-mosquitto:latest
|
|
||||||
ports:
|
|
||||||
- containerport: 1883
|
|
||||||
hostport: 1883
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /mosquitto/config
|
|
||||||
name: mosquitto-config
|
|
||||||
- mountpath: /mosquitto/data
|
|
||||||
name: mosquitto-data
|
|
||||||
- mountpath: /mosquitto/log
|
|
||||||
name: mosquitto-log
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: esphome
|
|
||||||
image: docker.io/esphome/esphome:stable
|
|
||||||
env:
|
|
||||||
- name: USERNAME
|
|
||||||
value: "<username>"
|
|
||||||
- name: PASSWORD
|
|
||||||
value: "<secret>"
|
|
||||||
ports:
|
|
||||||
- containerport: 6052
|
|
||||||
hostport: 6052
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /config
|
|
||||||
name: esphome-config
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: ecowitt
|
|
||||||
image: docker.io/bachya/ecowitt2mqtt:latest
|
|
||||||
env:
|
|
||||||
- name: ECOWITT2MQTT_MQTT_BROKER
|
|
||||||
value: "smarthome-pod-mosquitto"
|
|
||||||
- name: ECOWITT2MQTT_MQTT_USERNAME
|
|
||||||
value: "<username>"
|
|
||||||
- name: ECOWITT2MQTT_MQTT_PASSWORD
|
|
||||||
value: "<secret>"
|
|
||||||
- name: ECOWITT2MQTT_PORT
|
|
||||||
value: 8181
|
|
||||||
- name: ECOWITT2MQTT_HASS_DISCOVERY
|
|
||||||
value: true
|
|
||||||
- name: ECOWITT2MQTT_INPUT_UNIT_SYSTEM
|
|
||||||
value: "imperial"
|
|
||||||
- name: ECOWITT2MQTT_OUTPUT_UNIT_SYSTEM
|
|
||||||
value: "metric"
|
|
||||||
- name: ECOWITT2MQTT_PRECISION
|
|
||||||
value: 1
|
|
||||||
ports:
|
|
||||||
- containerport: 8181
|
|
||||||
hostport: 8181
|
|
||||||
protocol: TCP
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: volvo
|
|
||||||
image: ghcr.io/dielee/volvo2mqtt:latest
|
|
||||||
env:
|
|
||||||
- name: CONF_updateInterval
|
|
||||||
value: 300
|
|
||||||
- name: CONF_babelLocale
|
|
||||||
value: "nl"
|
|
||||||
- name: CONF_mqtt
|
|
||||||
valuefrom:
|
|
||||||
secretkeyref:
|
|
||||||
name: smarthome-secrets
|
|
||||||
key: volvo-mosquitto
|
|
||||||
- name: CONF_volvoData
|
|
||||||
valuefrom:
|
|
||||||
secretkeyref:
|
|
||||||
name: smarthome-secrets
|
|
||||||
key: volvo-url
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /volvoAAOS2mqtt
|
|
||||||
name: volvo-data
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
- name: postgres
|
|
||||||
image: docker.io/library/postgres:16-alpine
|
|
||||||
env:
|
|
||||||
- name: POSTGRES_PASSWORD
|
|
||||||
valuefrom:
|
|
||||||
secretkeyref:
|
|
||||||
name: smarthome-secrets
|
|
||||||
key: postgres-password
|
|
||||||
volumemounts:
|
|
||||||
- mountpath: /dump
|
|
||||||
name: postgres-dump
|
|
||||||
- mountpath: /var/lib/postgresql/data
|
|
||||||
name: postgres-data
|
|
||||||
- mountpath: /etc/localtime
|
|
||||||
name: localtime
|
|
||||||
readonly: true
|
|
||||||
|
|
||||||
volumes:
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.config/pods/smarthome/home-assistant-config
|
|
||||||
type: Directory
|
|
||||||
name: home-assistant-config
|
|
||||||
- hostpath:
|
|
||||||
path: /dev/ttyUSB0
|
|
||||||
type: File
|
|
||||||
name: home-assistant-usb0
|
|
||||||
- hostpath:
|
|
||||||
path: /dev/ttyUSB1
|
|
||||||
type: File
|
|
||||||
name: home-assistant-usb1
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.config/pods/smarthome/mosquitto-config
|
|
||||||
type: Directory
|
|
||||||
name: mosquitto-config
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: smarthome-pod-mosquitto-data
|
|
||||||
name: mosquitto-data
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: smarthome-pod-mosquitto-log
|
|
||||||
name: mosquitto-log
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.config/pods/smarthome/esphome-config
|
|
||||||
type: Directory
|
|
||||||
name: esphome-config
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: smarthome-pod-volvo-data
|
|
||||||
name: volvo-data
|
|
||||||
- hostpath:
|
|
||||||
path: <home>/.dump/smarthome
|
|
||||||
type: Directory
|
|
||||||
name: postgres-dump
|
|
||||||
- persistentvolumeclaim:
|
|
||||||
claimname: smarthome-pod-postgres-data
|
|
||||||
name: postgres-data
|
|
||||||
- hostpath:
|
|
||||||
path: /etc/localtime
|
|
||||||
type: File
|
|
||||||
name: localtime
|
|
|
@ -1,9 +0,0 @@
|
||||||
apiversion: v1
|
|
||||||
data:
|
|
||||||
volvo-mosquitto: <base64-secret>
|
|
||||||
volvo-url: <base64-secret>
|
|
||||||
postgres-password: <base64-secret>
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
creationtimestamp: null
|
|
||||||
name: smarthome-secrets
|
|
Loading…
Add table
Add a link
Reference in a new issue