Adds nexus and vikunja

This commit is contained in:
tga
2026-07-17 11:16:47 +02:00
parent 5eaed28234
commit 7e87a6cbb9
39 changed files with 214 additions and 2185 deletions
+7
View File
@@ -0,0 +1,7 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/nexus/storage/data
Driver=local
Options=bind
Type=none
VolumeName=nexus-data
+27
View File
@@ -0,0 +1,27 @@
[Unit]
Description=Nexus database container
[Container]
AutoUpdate=registry
ContainerName=nexus-database
Environment=POSTGRES_USER=nexus
Environment=POSTGRES_DB=nexus
Environment=TZ=Europe/Zurich
HealthCmd=pg_isready -U nexus
HealthInterval=30s
HealthTimeout=10s
HealthRetries=5
Image=docker.io/postgres:18
Label=io.containers.autoupdate=registry
Pod=nexus.pod
Secret=database-password,type=env,target=POSTGRES_PASSWORD
StartWithPod=true
Timezone=Europe/Zurich
Volume=nexus-database.volume:/var/lib/postgresql
Volume=/var/mnt/nas/containers/nexus/storage/database-backup:/backup
[Service]
Restart=always
[Install]
WantedBy=default.target
+2
View File
@@ -0,0 +1,2 @@
[Volume]
VolumeName=nexus-database
+30
View File
@@ -0,0 +1,30 @@
[Unit]
Description=Nexus container
After=nexus-database.container
Requires=nexus-database.container
[Container]
AutoUpdate=registry
ContainerName=nexus
Environment=NEXUS_DATASTORE_NEXUS_JDBCURL=jdbc:postgresql://nexus-database:5432/nexus
Environment=NEXUS_DATASTORE_NEXUS_USERNAME=nexus
Environment=TZ=Europe/Zurich
HealthCmd=CMD curl -f http://localhost:8081/service/rest/v1/status
HealthInterval=30s
HealthTimeout=10s
HealthRetries=5
Image=docker.io/sonatype/nexus3:latest
Label=io.containers.autoupdate=registry
Pod=nexus.pod
Secret=database-password,type=env,target=NEXUS_DATASTORE_NEXUS_PASSWORD
Secret=secrets-key-file,type=env,target=NEXUS_SECRETS_KEY_FILE
StartWithPod=true
StopTimeout=60
Timezone=Europe/Zurich
Volume=nexus-data.volume:/nexus-data
[Service]
Restart=always
[Install]
WantedBy=default.target
+3
View File
@@ -0,0 +1,3 @@
[Pod]
PodName=nexus
PublishPort=9016:8081
+7
View File
@@ -0,0 +1,7 @@
[Volume]
Copy=true
Device=/var/mnt/nas/containers/vikunja/storage/data
Driver=local
Options=bind
Type=none
VolumeName=vikunja-data
@@ -0,0 +1,27 @@
[Unit]
Description=Vikunja database container
[Container]
AutoUpdate=registry
ContainerName=vikunja-database
Environment=POSTGRES_USER=vikunja
Environment=POSTGRES_DB=vikunja
Environment=TZ=Europe/Zurich
HealthCmd=pg_isready -U vikunja
HealthInterval=30s
HealthTimeout=10s
HealthRetries=5
Image=docker.io/postgres:18
Label=io.containers.autoupdate=registry
Pod=nexus.pod
Secret=database-password,type=env,target=POSTGRES_PASSWORD
StartWithPod=true
Timezone=Europe/Zurich
Volume=vikunja-database.volume:/var/lib/postgresql
Volume=/var/mnt/nas/containers/vikunja/storage/database-backup:/backup
[Service]
Restart=always
[Install]
WantedBy=default.target
+2
View File
@@ -0,0 +1,2 @@
[Volume]
VolumeName=vikunja-database
@@ -0,0 +1,2 @@
[Volume]
VolumeName=vikunja-redis-data
+21
View File
@@ -0,0 +1,21 @@
[Unit]
Description=Vikunja Redis container
[Container]
AutoUpdate=registry
ContainerName=vikunja-redis
Environment=TZ=Europe/Zurich
Exec=/bin/sh -c 'redis-server --appendonly yes --requirepass $${REDIS_PASSWORD}'
Image=docker.io/redis:alpine
Label=io.containers.autoupdate=registry
Pod=vikunja.pod
Secret=redis-password,type=env,target=REDIS_PASSWORD
StartWithPod=true
Timezone=Europe/Zurich
Volume=vikunja-redis-data.volume:/data
[Service]
Restart=always
[Install]
WantedBy=default.target
+42
View File
@@ -0,0 +1,42 @@
[Unit]
Description=Vikunja container
After=vikunja-database.container
After=vikunja-redis.container
Requires=vikunja-database.container
Requires=vikunja-redis.container
[Container]
AutoUpdate=registry
ContainerName=vikunja
Environment=TZ=Europe/Zurich
Environment=VIKUNJA_DATABASE_DATABASE=vikunja
Environment=VIKUNJA_DATABASE_HOST=vikunja-database
Environment=VIKUNJA_DATABASE_TYPE=postgres
Environment=VIKUNJA_DATABASE_USER=vikunja
Environment=VIKUNJA_REDIS_ENABLED=true
Environment=VIKUNJA_REDIS_HOST=vikunja-redis
Environment=VIKUNJA_SENTRY_ENABLED=false
Environment=VIKUNJA_SENTRY_FRONTENDENABLED=false
Environment=VIKUNJA_SERVICE_ENABLELINKSHARING=false
Environment=VIKUNJA_SERVICE_ENABLEREGISTRATION=false
Environment=VIKUNJA_SERVICE_INTERFACE=8080
Environment=VIKUNJA_SERVICE_IPEXTRACTIONMETHOD=realip
Environment=VIKUNJA_SERVICE_PUBLICURL=https://tasks.gtache.ch
Environment=VIKUNJA_SERVICE_TIMEZONE=Europe/Zurich
Environment=VIKUNJA_SERVICE_TRUSTEDPROXIES="192.168.0.0/16,172.16.0.0/12,169.254.0.0/16,10.0.0.0/8"
Image=docker.io/vikunja/vikunja:2
Label=io.containers.autoupdate=registry
Pod=vikunja.pod
Secret=database-password,type=env,target=VIKUNJA_DATABASE_PASSWORD
Secret=redis-password,type=env,target=VIKUNJA_REDIS_PASSWORD
Secret=service-secret,type=env,target=VIKUNJA_SERVICE_SECRET
StartWithPod=true
StopTimeout=60
Timezone=Europe/Zurich
Volume=vikunja-data.volume:/app/vikunja/files
[Service]
Restart=always
[Install]
WantedBy=default.target
+3
View File
@@ -0,0 +1,3 @@
[Pod]
PodName=vikunja
PublishPort=9026:3456