Chart not working without persistence
Nobody has claimed this yet.
- Dominant language
- Go Template
- Stars
- 534
- Forks
- 314
- Avg merge
- 42m
- Merged PRs (30d)
- 1
Description
Describe your Issue
If persistence is not enabled then the pod only works the first time, but on subsequent runs it won't find version.php and will attempt to install again.
Wouldn't it be possible to store the information found in version.php elsewhere, such as database or object storage?
Logs and Errors
See example log:
$ kubectl logs -f xxx-nc-nextcloud-bfb76c9c8-ds8gr
Defaulted container "nextcloud" out of: nextcloud, nextcloud-cron
Configuring Redis as session handler
Initializing nextcloud 30.0.6.2 ...
New nextcloud instance
Installing with PostgreSQL database
=> Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/pre-installation
==> Running the script (cwd: /var/www/html): "/docker-entrypoint-hooks.d/pre-installation/helm.sh"
==> Finished the script: "/docker-entrypoint-hooks.d/pre-installation/helm.sh"
Starting nextcloud installation
The Login is already being used
Retrying install...
The Login is already being used
Retrying install...
The Login is already being used
Retrying install...
The Login is already being used
Retrying install...
Describe your Environment
-
Kubernetes distribution: k3s
-
Helm Version (or App that manages helm): v3.17.2
-
Helm Chart Version: 6.6.9
-
values.yaml:
replicaCount: 1
image:
flavor: fpm
tag: 31.0.2-fpm
nginx:
enabled: true
nextcloud:
host: xxx
podSecurityContext:
fsGroup: 33
trustedDomains:
- xxx
- yy
phpConfigs:
zz-memory_limit.ini: |-
upload_max_filesize=5G
memory_limit=512M
configs:
proxy.config.php: |-
<?php
$CONFIG = array (
'trusted_proxies' => array(
0 => '127.0.0.1',
1 => '10.0.0.0/8',
2 => '1.2.3.4/24',
3 => '5.6.7.8/24',
),
'forwarded_for_headers' => array('HTTP_X_FORWARDED_FOR'),
);
cronjob:
enabled: true
redis:
enabled: true
auth:
enabled: false
service:
type: NodePort
nodePort: 30850
internalDatabase:
enabled: false
externalDatabase:
enabled: true
type: postgresql
host: xxxxx
database: nextcloud
user: nextcloud
password: xxxxx
objectStore:
s3:
enabled: false
accessKey: xxxxx
secretKey: xxxxxx
host: xxxx.minio-nc.svc.cluster.local
bucket: nextcloud-bucket
ssl: false
port: 9000
startupProbe:
enabled: false
initialDelaySeconds: 240
persistence:
enabled: false
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the values.yaml persistence and objectStore settings, then trace the /docker-entrypoint-hooks.d/pre-installation/helm.sh step shown in the logs and its handling of version.php. Reproduce the behavior with persistence disabled and define how a subsequent pod run should locate the existing installation before evaluating storage options.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- helm, kubernetes, postgresql, redis
- Domain
- cloud, databases, devops, infrastructure
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100