Sunil Mohan Adapa 85cc9f08fa
nextcloud: Use php-fpm container instead of apache container
- Configuring just php-fpm is easier compared to configuring Apache + mod_php.
There is no need to configure trusted proxies as the requests are made using the
FastCGI protocol.

- There is no need for a full web server as we already run Apache.

- Place nextcloud data in /var/lib/container so that non-PHP files can be served
directly without php-fpm involved. This location is more suitable for switching
to nextcloud based on a .deb file (if ever). This is done by configuring the
volume to serve a bind mounted directory of our choice.

- Update Apache configuration to proxy to php-fpm instead of another web server.
Include the changes needed for Apache configuration to serve non-php files
directly.

- Managed the volume using quadlet podman systemd generator.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2024-05-06 17:14:27 -04:00

55 lines
1.4 KiB
Python

# SPDX-License-Identifier: AGPL-3.0-or-later
"""Application manifest for Nextcloud."""
from django.utils.translation import gettext_lazy as _
from plinth.clients import store_url
_nextcloud_android_package_id = 'com.nextcloud.client'
clients = [{
'name': _('Nextcloud'),
'platforms': [{
'type': 'web',
'url': '/nextcloud/'
}]
}, {
'name':
_('Nextcloud'),
'platforms': [{
'type': 'download',
'os': 'gnu-linux',
'url': 'https://nextcloud.com/install/#install-clients'
}, {
'type': 'download',
'os': 'macos',
'url': 'https://nextcloud.com/install/#install-clients'
}, {
'type': 'download',
'os': 'windows',
'url': 'https://nextcloud.com/install/#install-clients'
}, {
'type': 'store',
'os': 'ios',
'store_name': 'app-store',
'url': 'https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8'
}, {
'type': 'store',
'os': 'android',
'store_name': 'google-play',
'url': store_url('google-play', _nextcloud_android_package_id)
}, {
'type': 'store',
'os': 'android',
'store_name': 'f-droid',
'url': store_url('f-droid', _nextcloud_android_package_id)
}]
}]
backup = {
'data': {
'directories': ['/var/lib/nextcloud/'],
'files': ['/var/lib/plinth/backups-data/nextcloud-database.sql']
}
}