Compare commits

..
25 Commits
Author SHA1 Message Date
jlehmann 0ea032dfb9 add config to traefik for gitea 2026-09-17 19:14:27 +02:00
jlehmann ed7c77638a new doc 2025-09-20 11:39:09 +02:00
jlehmann 4fc69bbf93 Upgrade to new version 2025-09-19 20:57:43 +02:00
jlehmann 30fb854435 revert Update Wordpress Image 2025-09-13 19:53:00 +02:00
jlehmann f22511e353 Update Wordpress Image - try with Version 8.1 as 8.4 makes problems 2025-09-13 19:51:19 +02:00
jlehmann 04fa3c56a5 Update Wordpress Image 2025-09-13 19:43:39 +02:00
jlehmann 93c79dfd63 update wo-bisch-web because of address 2025-05-14 06:35:56 +02:00
jlehmann bd61befd6b update mini-beieli-web because of address 2025-05-13 19:56:29 +02:00
jlehmann 90e3486762 bind-mount-options do no longer work with new podman version 2024-11-21 15:09:14 +01:00
jlehmann c23cb6c4f5 Merge branch 'master' of https://git.nbit.ch/drpuur/onyx_pods 2024-08-10 18:16:09 +02:00
jlehmann 44831f2239 with Network=pasta:-T,25:25 we can use localhost 2024-08-10 18:15:49 +02:00
jlehmann e4be94fd43 fix README 2024-08-10 14:09:54 +02:00
jlehmann cd1e469f57 update README 2024-08-09 18:09:56 +02:00
jlehmann 964cb5503e describe installing Postfix as Mailrelay 2024-08-09 17:26:49 +02:00
jlehmann 1156416c6f Upgrade Version to disable ordering functionality 2024-05-24 14:47:06 +02:00
jlehmann 139b143fa8 Upgrade Version because of Character Set Problem with E-Mails 2024-05-04 17:12:37 +02:00
jlehmann 1c549a9fba traefik config changed behaviour with new version 2024-05-03 12:17:14 +02:00
jlehmann 2ff171d0b8 use pasta for podman networking 2023-11-29 19:47:34 +01:00
jlehmann 9f7e7acef8 User LogDriver for Quadelts (available with newer Podman Version) 2023-11-28 17:22:49 +01:00
jlehmann 60ada2b793 upgrade influxdb 2023-10-21 08:20:34 +02:00
jlehmann ed0502efc4 add posibility to configure nginx (i.e. for 404 page) 2023-10-20 19:30:23 +02:00
jlehmann d7c6cbe046 Merge branch 'master' of https://git.nbit.ch/drpuur/onyx_pods 2023-10-20 14:53:39 +02:00
jlehmann bc6b930573 because of quadlet 2023-10-20 14:53:11 +02:00
jlehmann 47796f6252 Merge branch 'master' of https://git.nbit.ch/drpuur/onyx_pods 2023-10-20 14:40:49 +02:00
jlehmann 2406c68a24 Persistent Storage for Journald 2023-10-20 14:40:39 +02:00
14 changed files with 74 additions and 37 deletions
+47 -2
View File
@@ -38,6 +38,10 @@ export XDG_RUNTIME_DIR=/run/user/$(id -u)
# localectl set-locale LANG=en_US.UTF-8 # localectl set-locale LANG=en_US.UTF-8
# localectl set-locale LC_TIME=de_CH.UTF-8 # localectl set-locale LC_TIME=de_CH.UTF-8
Set Journalctl-Config to persistent Storage:
/etc/systemd/journald.conf:
Storage=persistent
# Enable Selinux in Enforcing Mode: change /etc/selinux/config # Enable Selinux in Enforcing Mode: change /etc/selinux/config
# dnf install setroubleshoot # dnf install setroubleshoot
` `
@@ -54,6 +58,7 @@ enable EPEL Repo:
# firewall-cmd --add-service={http,https} --permanent # firewall-cmd --add-service={http,https} --permanent
# firewall-cmd --remove-service=cockpit --permanent # firewall-cmd --remove-service=cockpit --permanent
# firewall-cmd --add-port=1883/tcp --permanent ; only for MQTT # firewall-cmd --add-port=1883/tcp --permanent ; only for MQTT
# firewall-cmd --add-port=25/tcp --permanent ; for Postfix
# firewall-cmd --reload # firewall-cmd --reload
List Rules: List Rules:
@@ -78,6 +83,7 @@ command to check who is banned:
## Install Software ## Install Software
```bash ```bash
# dnf install passt
# dnf install git # dnf install git
# dnf install podman # dnf install podman
# dnf install jq # dnf install jq
@@ -189,7 +195,6 @@ if (strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false)
### Setup Env for Podman ### Setup Env for Podman
we use /data/<podname> for persitent data:
```bash ```bash
# mkdir /data # mkdir /data
# chown containers:containers /data # chown containers:containers /data
@@ -259,7 +264,7 @@ IMPORTANT: we changed the startup Method to Quadlets, put into
See also https://www.redhat.com/sysadmin/quadlet-podman See also https://www.redhat.com/sysadmin/quadlet-podman
Example of such a quadlet config: Example of such a quadlet config (Network=pasta is not to be used for Traefik):
[containers@onyx-dev ~]$ more ~containers/.config/containers/systemd/onyx-dev-mqtt.kube [containers@onyx-dev ~]$ more ~containers/.config/containers/systemd/onyx-dev-mqtt.kube
[Unit] [Unit]
@@ -268,6 +273,8 @@ Before=local-fs.target
[Kube] [Kube]
Yaml=/home/containers/onyx-dev_pods/mqtt/mqtt.yaml Yaml=/home/containers/onyx-dev_pods/mqtt/mqtt.yaml
LogDriver=journald
Network=pasta
[Install] [Install]
# Start by default on boot # Start by default on boot
@@ -297,7 +304,45 @@ containers$ systemctl --user start podman-kube@$escaped.service
containers$ systemctl --user enable podman-kube@$escaped.service containers$ systemctl --user enable podman-kube@$escaped.service
``` ```
## Postfix
```bash
# dnf install postfix
/etc/postfix/main.cf:
---
inet_interfaces = all
smtpd_tls_security_level = none
virtual_alias_domains = wo-bisch.ch mini-beieli.ch
virtual_alias_maps = hash:/etc/postfix/virtual
---
# tail -12 /etc/postfix/virtual
abuse@mini-beieli.ch nbitinf@nbit.ch
hostmaster@mini-beieli.ch nbitinf@nbit.ch
info@mini-beieli.ch nbitinf@nbit.ch
mail@mini-beieli.ch nbitinf@nbit.ch
postmaster@mini-beieli.ch nbitinf@nbit.ch
register@mini-beieli.ch nbitinf@nbit.ch
abuse@wo-bisch.ch nbitinf@nbit.ch
hostmaster@wo-bisch.ch nbitinf@nbit.ch
info@wo-bisch.ch nbitinf@nbit.ch
mail@wo-bisch.ch nbitinf@nbit.ch
postmaster@wo-bisch.ch nbitinf@nbit.ch
register@wo-bisch.ch nbitinf@nbit.ch
# postmap /etc/postfix/virtual
# systemctl enable postfix
# systemctl start postfix
Creat DNS Records:
mx1.nbit.ch and mx2.nbit.ch (A/AAAA Records to the same IPs as onyx and onyx-dev)
Change SPF Records to include mx1 and mx2
```
## Secondary Nameserver ## Secondary Nameserver
-2
View File
@@ -3,8 +3,6 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
annotations: annotations:
bind-mount-options:/data/gitea/data: z
bind-mount-options:/data/gitea/config: z
io.kubernetes.cri-o.TTY/gitea: "false" io.kubernetes.cri-o.TTY/gitea: "false"
io.podman.annotations.autoremove/gitea: "FALSE" io.podman.annotations.autoremove/gitea: "FALSE"
io.podman.annotations.init/gitea: "FALSE" io.podman.annotations.init/gitea: "FALSE"
+5 -7
View File
@@ -2,10 +2,6 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
annotations: annotations:
bind-mount-options:/data/minibeieli/influxdb: z
bind-mount-options:/data/minibeieli/redis: z
bind-mount-options:/data/minibeieli/lorahandlerdata: z
bind-mount-options:/home/containers/onyx_pods/minibeieli/telegraf.conf: z
io.kubernetes.cri-o.TTY/minibeieli: "false" io.kubernetes.cri-o.TTY/minibeieli: "false"
io.podman.annotations.autoremove/minibeieli: "FALSE" io.podman.annotations.autoremove/minibeieli: "FALSE"
io.podman.annotations.init/minibeieli: "FALSE" io.podman.annotations.init/minibeieli: "FALSE"
@@ -18,8 +14,10 @@ metadata:
spec: spec:
containers: containers:
- name: mini-beieli-web - name: mini-beieli-web
image: git.nbit.ch/drpuur/mini-beieli-web:2023020301 image: git.nbit.ch/drpuur/mini-beieli-web:2025092001
env: env:
- name: CONFIG_ENVVAR
value: nbit Informatik GmbH<br />Untere Stockteile 16<br />3806 B&ouml;nigen b. Interlaken<br /><br />+41 31 792 00 40<br /><a href='&#109;ai&#108;&#116;o&#58;i&#37;6Ef&#111;&#64;%6Ebi&#116;&#46;%63h'>&#105;nfo&#64;nbit&#46;ch</a>,CHF 200.--,CHF 80.--
- name: REDIS_CONNECTION_STRING - name: REDIS_CONNECTION_STRING
value: 127.0.0.1:6379 value: 127.0.0.1:6379
- name: INFLUX_URL - name: INFLUX_URL
@@ -31,7 +29,7 @@ spec:
- name: STRIPE_PK - name: STRIPE_PK
value: pk_live_G9vgPopd9opsY81AfzguwMrq value: pk_live_G9vgPopd9opsY81AfzguwMrq
- name: MAILSERVER_HOST - name: MAILSERVER_HOST
value: mail.nbit.ch value: 127.0.0.1
ports: ports:
- containerPort: 4000 - containerPort: 4000
hostPort: 9070 hostPort: 9070
@@ -61,7 +59,7 @@ spec:
- mountPath: /data - mountPath: /data
name: lorahandlerdata name: lorahandlerdata
- name: influxdb - name: influxdb
image: docker.io/library/influxdb:2.6 image: docker.io/library/influxdb:2.7
ports: ports:
- containerPort: 8086 - containerPort: 8086
hostPort: 9072 hostPort: 9072
+6 -1
View File
@@ -3,7 +3,6 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
annotations: annotations:
bind-mount-options:/data/nbitwebsite/document_root: z
io.kubernetes.cri-o.TTY/nbitwebsite: "false" io.kubernetes.cri-o.TTY/nbitwebsite: "false"
io.podman.annotations.autoremove/nbitwebsite: "FALSE" io.podman.annotations.autoremove/nbitwebsite: "FALSE"
io.podman.annotations.init/nbitwebsite: "FALSE" io.podman.annotations.init/nbitwebsite: "FALSE"
@@ -29,8 +28,14 @@ spec:
volumeMounts: volumeMounts:
- mountPath: /usr/share/nginx/html - mountPath: /usr/share/nginx/html
name: data-nbitwebsite-host-0 name: data-nbitwebsite-host-0
- mountPath: /etc/nginx/conf.d
name: data-nbitwebsite-config-0
volumes: volumes:
- hostPath: - hostPath:
path: /data/nbitwebsite/document_root path: /data/nbitwebsite/document_root
type: Directory type: Directory
name: data-nbitwebsite-host-0 name: data-nbitwebsite-host-0
- hostPath:
path: /data/nbitwebsite/conf.d
type: Directory
name: data-nbitwebsite-config-0
-1
View File
@@ -3,7 +3,6 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
annotations: annotations:
bind-mount-options:/data/nbitwiki/config: z
io.kubernetes.cri-o.TTY/nbitwiki: "false" io.kubernetes.cri-o.TTY/nbitwiki: "false"
io.podman.annotations.autoremove/nbitwiki: "FALSE" io.podman.annotations.autoremove/nbitwiki: "FALSE"
io.podman.annotations.init/nbitwiki: "FALSE" io.podman.annotations.init/nbitwiki: "FALSE"
-1
View File
@@ -15,4 +15,3 @@ http:
loadBalancer: loadBalancer:
servers: servers:
- url: http://127.0.0.1:9080/ - url: http://127.0.0.1:9080/
passHostHeader: false
+2 -2
View File
@@ -8,7 +8,7 @@ http:
domains: domains:
- main: "mini-beieli.ch" - main: "mini-beieli.ch"
sans: "www.mini-beieli.ch" sans: "www.mini-beieli.ch"
rule: "Host(`mini-beieli.ch`,`www.mini-beieli.ch`)" rule: "Host(`mini-beieli.ch`) || Host(`www.mini-beieli.ch`)"
service: minibeieli-web service: minibeieli-web
minibeieli-lorahandler: minibeieli-lorahandler:
@@ -19,7 +19,7 @@ http:
domains: domains:
- main: "mini-beieli.ch" - main: "mini-beieli.ch"
sans: "www.mini-beieli.ch" sans: "www.mini-beieli.ch"
rule: "Host(`mini-beieli.ch`,`www.mini-beieli.ch`) && PathPrefix(`/lorahandler`)" rule: "Host(`mini-beieli.ch`) && PathPrefix(`/lorahandler`) || Host(`www.mini-beieli.ch`) && PathPrefix(`/lorahandler`)"
service: minibeieli-lorahandler service: minibeieli-lorahandler
services: services:
+1 -1
View File
@@ -8,7 +8,7 @@ http:
domains: domains:
- main: "nbit.ch" - main: "nbit.ch"
sans: "www.nbit.ch" sans: "www.nbit.ch"
rule: "Host(`nbit.ch`,`www.nbit.ch`)" rule: "Host(`nbit.ch`) || Host(`www.nbit.ch`)"
service: nbitwebsite service: nbitwebsite
services: services:
+2 -2
View File
@@ -8,7 +8,7 @@ http:
domains: domains:
- main: "wo-bisch.ch" - main: "wo-bisch.ch"
sans: "www.wo-bisch.ch" sans: "www.wo-bisch.ch"
rule: "Host(`wo-bisch.ch`,`www.wo-bisch.ch`)" rule: "Host(`wo-bisch.ch`) || Host(`www.wo-bisch.ch`)"
service: wobisch-web service: wobisch-web
wobisch-lorahandler: wobisch-lorahandler:
@@ -19,7 +19,7 @@ http:
domains: domains:
- main: "wo-bisch.ch" - main: "wo-bisch.ch"
sans: "www.wo-bisch.ch" sans: "www.wo-bisch.ch"
rule: "Host(`wo-bisch.ch`,`www.wo-bisch.ch`) && PathPrefix(`/lorahandler`)" rule: "Host(`wo-bisch.ch`) && PathPrefix(`/lorahandler`) || Host(`www.wo-bisch.ch`) && PathPrefix(`/lorahandler`)"
service: wobisch-lorahandler service: wobisch-lorahandler
services: services:
+1 -1
View File
@@ -8,7 +8,7 @@ http:
domains: domains:
- main: "www.acmoag.com" - main: "www.acmoag.com"
sans: "acmoag.com" sans: "acmoag.com"
rule: "Host(`acmoag.com`,`www.acmoag.com`)" rule: "Host(`acmoag.com`) || Host(`www.acmoag.com`)"
service: wordpressacmoag service: wordpressacmoag
services: services:
-2
View File
@@ -3,8 +3,6 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
annotations: annotations:
bind-mount-options:/home/containers/onyx_pods/traefik/configuration: z
bind-mount-options:/data/traefik/acme.json: z
io.kubernetes.cri-o.TTY/traefik: "false" io.kubernetes.cri-o.TTY/traefik: "false"
io.podman.annotations.autoremove/traefik: "FALSE" io.podman.annotations.autoremove/traefik: "FALSE"
io.podman.annotations.init/traefik: "FALSE" io.podman.annotations.init/traefik: "FALSE"
+4 -8
View File
@@ -2,10 +2,6 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
annotations: annotations:
bind-mount-options:/data/wobisch/influxdb: z
bind-mount-options:/data/wobisch/redis: z
bind-mount-options:/data/wobisch/lorahandlerdata: z
bind-mount-options:/home/containers/onyx_pods/wobisch/telegraf.conf: z
io.kubernetes.cri-o.TTY/wobisch: "false" io.kubernetes.cri-o.TTY/wobisch: "false"
io.podman.annotations.autoremove/wobisch: "FALSE" io.podman.annotations.autoremove/wobisch: "FALSE"
io.podman.annotations.init/wobisch: "FALSE" io.podman.annotations.init/wobisch: "FALSE"
@@ -18,7 +14,7 @@ metadata:
spec: spec:
containers: containers:
- name: wo-bisch-web - name: wo-bisch-web
image: git.nbit.ch/drpuur/wo-bisch-web:2023020304 image: git.nbit.ch/drpuur/wo-bisch-web:2025051401
env: env:
- name: REDIS_CONNECTION_STRING - name: REDIS_CONNECTION_STRING
value: 127.0.0.1:6379 value: 127.0.0.1:6379
@@ -31,7 +27,7 @@ spec:
- name: STRIPE_PK - name: STRIPE_PK
value: pk_live_51Icq29K2XyHQRTs2oNQMPT75m7J96ajcKDADEE8FCSA3WWD98je6IZgN0E7Q2t5Vccdu1ar5kQZUIjbPhRluTkS500rgdMr0dF value: pk_live_51Icq29K2XyHQRTs2oNQMPT75m7J96ajcKDADEE8FCSA3WWD98je6IZgN0E7Q2t5Vccdu1ar5kQZUIjbPhRluTkS500rgdMr0dF
- name: MAILSERVER_HOST - name: MAILSERVER_HOST
value: mail.nbit.ch value: 127.0.0.1
ports: ports:
- containerPort: 4000 - containerPort: 4000
hostPort: 9060 hostPort: 9060
@@ -48,7 +44,7 @@ spec:
- name: REDIS_CONNECTION_STRING - name: REDIS_CONNECTION_STRING
value: 127.0.0.1:6379 value: 127.0.0.1:6379
- name: MAILSERVER_HOST - name: MAILSERVER_HOST
value: mail.nbit.ch value: 127.0.0.1
ports: ports:
- containerPort: 8080 - containerPort: 8080
hostPort: 9061 hostPort: 9061
@@ -63,7 +59,7 @@ spec:
- mountPath: /data - mountPath: /data
name: lorahandlerdata name: lorahandlerdata
- name: influxdb - name: influxdb
image: docker.io/library/influxdb:2.6 image: docker.io/library/influxdb:2.7
ports: ports:
- containerPort: 8086 - containerPort: 8086
hostPort: 9062 hostPort: 9062
+6 -3
View File
@@ -2,9 +2,6 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
annotations: annotations:
bind-mount-options:/data/wordpressacmoag/wp: z
bind-mount-options:/home/containers/onyx_pods/wordpressacmoag/uploads.ini: z
bind-mount-options:/data/wordpressacmoag/db: z
io.kubernetes.cri-o.TTY/wordpressacmoag: "false" io.kubernetes.cri-o.TTY/wordpressacmoag: "false"
io.podman.annotations.autoremove/wordpressacmoag: "FALSE" io.podman.annotations.autoremove/wordpressacmoag: "FALSE"
io.podman.annotations.init/wordpressacmoag: "FALSE" io.podman.annotations.init/wordpressacmoag: "FALSE"
@@ -65,6 +62,8 @@ spec:
name: data-wordpressacmoag-wp-0 name: data-wordpressacmoag-wp-0
- mountPath: /usr/local/etc/php/conf.d/uploads.ini - mountPath: /usr/local/etc/php/conf.d/uploads.ini
name: data-wordpressacmoag-wp-1 name: data-wordpressacmoag-wp-1
- mountPath: /var/log/apache2
name: data-wordpressacmoag-logs-0
restartPolicy: Never restartPolicy: Never
volumes: volumes:
- hostPath: - hostPath:
@@ -79,3 +78,7 @@ spec:
path: /data/wordpressacmoag/db path: /data/wordpressacmoag/db
type: Directory type: Directory
name: data-wordpressacmoag-dp-0 name: data-wordpressacmoag-dp-0
- hostPath:
path: /data/wordpressacmoag/logs
type: Directory
name: data-wordpressacmoag-logs-0
-4
View File
@@ -2,10 +2,6 @@ apiVersion: v1
kind: Pod kind: Pod
metadata: metadata:
annotations: annotations:
bind-mount-options:/data/wordpresscmoag/wp: z
bind-mount-options:/home/containers/onyx_pods/wordpresscmoag/uploads.ini: z
bind-mount-options:/data/wordpresscmoag/db: z
bind-mount-options:/data/wordpresscmoag/logs: z
io.kubernetes.cri-o.TTY/wordpresscmoag: "false" io.kubernetes.cri-o.TTY/wordpresscmoag: "false"
io.podman.annotations.autoremove/wordpresscmoag: "FALSE" io.podman.annotations.autoremove/wordpresscmoag: "FALSE"
io.podman.annotations.init/wordpresscmoag: "FALSE" io.podman.annotations.init/wordpresscmoag: "FALSE"