openmediavault 7.4.9
- Update locale files.
- Several improvements.
openmediavault-onedrive 7.1.0
- Upgrade to
onedrive 2.5.2
. - Update locale files.
- Add
Cleanup local files
andExtra options
configuration
settings to the UI.
openmediavault 7.4.9
openmediavault-onedrive 7.1.0
onedrive 2.5.2
.Cleanup local files
and Extra options
configurationThe recipe editor of the openmediavault-k8s has a DSL (Domain Specific Language) that supports the user in getting specific information from their openmediavault host system in Kubernetes manifests.
The following functions are currently available:
hostname()
– Get the hostname of the host.domain()
– Get the domain name of the host.fqdn()
– Get the FQDN of the host.ipaddr(name=NULL)
– Get the IPv4 address of the specified network interface. If not set, the IPv4 address of the interface of the first default route is used.ipaddr6(name=NULL)
– Get the IPv6 address of the specified network interface. If not set, the IPv6 address of the interface of the first default route is used.uid(name)
– Get the UID of the specified user.gid(name)
– Get the GID of the specified group.sharedfolder_path(name)
– Get the full path of the specified shared folder.conf_get(id, uuid=NULL)
– Get the specified database configuration object.tz()
– Get the time zone of the host.The following filters are currently available:
get(key, default=NULL)
– Get the specified key, e.g. foo.bar.baz
from a dictionary.For the built-in features of the used template engine please have a look here:
Here are several examples that make use of the DSL:
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
app.kubernetes.io/instance: wetty
app.kubernetes.io/name: wetty
name: wetty
namespace: wetty-app
spec:
...
template:
...
spec:
containers:
- image: docker.io/wettyoss/wetty:latest
imagePullPolicy: IfNotPresent
name: wetty
ports:
- containerPort: 3000
securityContext:
runAsNonRoot: true
runAsUser: {{ uid('nobody') }}
runAsGroup: {{ gid('nogroup') }}
args:
- "--port=3000"
- "--base=/"
- "--force-ssh"
- "--ssh-port={{ conf_get('conf.service.ssh') | get('port') }}"
- "--ssh-host={{ hostname() }}"
restartPolicy: Always
...
persistence:
import:
enabled: true
type: hostPath
readOnly: true
mountPath: /srv/import
hostPath: {{ sharedfolder_path('images') }}
hostPathType: Directory
apiVersion: v1
kind: PersistentVolume
metadata:
name: config-dir
labels:
app.kubernetes.io/instance: plex-media-server
app.kubernetes.io/name: plex-media-server
spec:
storageClassName: shared-folder
capacity:
storage: 2Gi
hostPath:
path: {{ sharedfolder_path('media') }}
type: Directory
accessModes:
- ReadWriteMany
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
name: immich-websecure
namespace: immich-app
...
spec:
entryPoints:
- websecure
routes:
- match: Host(`immich.{{ ipaddr() }}.sslip.io`)
kind: Rule
services:
- name: immich-server
port: 3001
A new recipe for the immich self-hosted photo and video management solution has been released to the openmediavault-k8s-recipes GitHub repository. You can get it after updating the recipes list in your openmediavault-k8s plugin.
The following list of applications is now available:
Contributions from the community are welcome to increase the number of recipes.
openmediavault 7.4.8
Disk Temperatures
and S.M.A.R.T. Status
dashboard widgets for a consistent user experience.openmediavault-k8s 7.3.1
ipaddr
and ipaddr6
functions to the recipe DSL (Domain Specific Language). These functions allow users to retrieve the IP address of the specified network interface, e.g. ipaddr('ens6')
. If no network interface name is specified, the IP address of the network interface used for the default route is returned.openmediavault-nut 7.0.5
openmediavault 7.4.7
openmediavault 7.3.0