An all new Nextcloud app is added on Test train.
Feel free to test and send feedback.
Once everything is ironed out, it will move out of the test train.
This mean that you will have to reinstall it. Just keep it in mind.
Highlights
- Much more declarative way of setting things up
- Many optimizations for speed
- Notify Push (aka High Performance Backend)container support
- Imaginary (for Previews) container support
- Runs rootless!
- Extendable
- Many dependencies already included (like smbclient, ocrmypdf, etc), meaning no need to rebuild image locally
Currently there are the following integration categories.
Built in
:
- Imaginary
- Notify Push
External
:
- ClamAV
- OnlyOffice
- Collabora
External require a service to be running already (for example as a different app or other ways).
So for those you need to fill urls, etc
Runs rootless (so you can configure the user to run as)
That means is now much easier to share nextcloud data with other apps!
Postgres is still rootless, but not configurable
Things to note:
Due to being declarative, not enabling something it will do necessary steps to unconfigure it.
For example, if you don’t enable Imaginary, it will make sure nextcloud is not configured to use one.
If you don’t enable collabora, it will make sure nextcloud is not configured to use one.
etc.
Things that I need to look into and add/support
- Nextcloud Talk
- Talk High Perf Backend
- Talk Record
Until then you can still manually configure those services normally
Example logs of a normal nextcloud startup
Initializing nextcloud 31.0.0.18 ...
New nextcloud instance
Installing with PostgreSQL database
=> Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/pre-installation
Starting nextcloud installation
Nextcloud was successfully installed
=> Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/post-installation
Initializing finished
=> Searching for scripts (*.sh) to run, located in the folder: /docker-entrypoint-hooks.d/before-starting
==> Running the script (cwd: /var/www/html): "/docker-entrypoint-hooks.d/before-starting/10-post-install.sh"
++++++++++++++++++++++++++++++++++++++++++++++++++
Sourcing /configure-scripts/helpers.sh
Sourcing /configure-scripts/occ-clamav.sh
Sourcing /configure-scripts/occ-cleanups.sh
Sourcing /configure-scripts/occ-collabora.sh
Sourcing /configure-scripts/occ-database.sh
Sourcing /configure-scripts/occ-expire-retentions.sh
Sourcing /configure-scripts/occ-general.sh
Sourcing /configure-scripts/occ-imaginary.sh
Sourcing /configure-scripts/occ-logging.sh
Sourcing /configure-scripts/occ-notify-push.sh
Sourcing /configure-scripts/occ-onlyoffice.sh
Sourcing /configure-scripts/occ-optimize.sh
Sourcing /configure-scripts/occ-preview-generator.sh
Sourcing /configure-scripts/occ-redis.sh
Sourcing /configure-scripts/occ-urls.sh
Executing injected scripts...
++++++++++++++++++++++++++++++++++++++++++++++++++
## Configuring Database...
Using an inline php script to update the database config instead of occ...
Reason: https://github.com/nextcloud/server/issues/44924
Updating dbtype to pgsql in /var/www/html/config/config.php
Updating dbhost to postgres in /var/www/html/config/config.php
Updating dbname to nextcloud in /var/www/html/config/config.php
Updating dbuser to nextcloud in /var/www/html/config/config.php
Updating dbpassword to password in /var/www/html/config/config.php
Updating dbport to 5432 in /var/www/html/config/config.php
# Redis is enabled.
## Configuring Redis...
System config value redis => host set to string redis
System config value redis => password set to string YFtYK25GBfr!UsX5mu2Dnd5L5W
System config value redis => port set to string 6379
System config value memcache.local set to string \OC\Memcache\APCu
System config value memcache.distributed set to string \OC\Memcache\Redis
System config value memcache.locking set to string \OC\Memcache\Redis
## Configuring General Settings...
### Disabling WebUI Updater...
System config value upgrade.disable-web set to boolean true
### Configuring Default Phone Region...
System config value default_phone_region set to string US
### Configuring "Shared" folder...
System config value share_folder set to string /
### Configuring Max Chunk Size for Files...
Config value 'max_chunk_size' for app 'files' is now set to '10485760', stored as mixed in fast cache
### Configuring Maintenance Window Start...
System config value maintenance_window_start set to integer 100
## Configuring Logging...
System config value log_type set to string file
System config value log_type_audit set to string file
System config value loglevel set to string 2
System config value logfile set to string /var/www/html/data/logs/nextcloud.log
System config value logfile_audit set to string /var/www/html/data/logs/audit.log
System config value logdateformat set to string d/m/Y H:i:s
System config value logtimezone set to string UTC
## Configuring URLs...
### Configuring Overwrite URLs...
System config value overwrite.cli.url set to string http://localhost
System config value overwritehost set to string localhost
System config value overwriteprotocol set to string http
### Configuring Trusted Domains...
System config value trusted_domains deleted
System config value trusted_domains => 0 set to string localhost
System config value trusted_domains => 1 set to string docker.internal.healthcheck
System config value trusted_domains => 2 set to string localhost
System config value trusted_domains => 3 set to string cloud.example.com
### Configuring Trusted Proxies...
System config value trusted_proxies deleted
System config value trusted_proxies => 0 set to string 10.0.0.0/8
System config value trusted_proxies => 1 set to string 172.16.0.0/12
System config value trusted_proxies => 2 set to string 192.168.0.0/16
## Configuring Expiring and Retention Days...
System config value activity_expire_days set to integer 365
System config value trashbin_retention_obligation set to string 0
System config value versions_retention_obligation set to string 0
# Notify Push is enabled.
## Configuring Notify Push...
Installing [notify_push]...
notify_push 1.0.0 installed
notify_push enabled
App [notify_push] installed successfully!
### Configuring Notify Push Base Endpoint...
Config value 'base_endpoint' for app 'notify_push' is now set to 'localhost/push', stored as mixed in fast cache
# Imaginary is enabled.
## Configuring Imaginary...
System config value preview_imaginary_url set to string http://imaginary:9000
# Preview Generator is enabled.
## Configuring Preview Generator...
Installing [previewgenerator]...
previewgenerator 5.8.0 installed
previewgenerator enabled
App [previewgenerator] installed successfully!
### Configuring Preview Providers...
System config value enabledPreviewProviders deleted
System config value enabledPreviewProviders => 0 set to string OC\Preview\Imaginary
System config value enabledPreviewProviders => 1 set to string OC\Preview\BMP
System config value enabledPreviewProviders => 2 set to string OC\Preview\GIF
System config value enabledPreviewProviders => 3 set to string OC\Preview\JPEG
System config value enabledPreviewProviders => 4 set to string OC\Preview\Krita
System config value enabledPreviewProviders => 5 set to string OC\Preview\MarkDown
System config value enabledPreviewProviders => 6 set to string OC\Preview\MP3
System config value enabledPreviewProviders => 7 set to string OC\Preview\OpenDocument
System config value enabledPreviewProviders => 8 set to string OC\Preview\PNG
System config value enabledPreviewProviders => 9 set to string OC\Preview\TXT
System config value enabledPreviewProviders => 10 set to string OC\Preview\XBitmap
### Configuring Preview Generation Configuration...
System config value enable_previews set to string true
System config value jpeg_quality set to integer 60
System config value preview_max_x set to integer 2048
System config value preview_max_y set to integer 2048
System config value preview_max_memory set to integer 1024
System config value preview_max_filesize_image set to integer 50
Config value 'squareSizes' for app 'previewgenerator' is now set to '32 256', stored as mixed in fast cache
Config value 'widthSizes' for app 'previewgenerator' is now set to '256 384', stored as mixed in fast cache
Config value 'heightSizes' for app 'previewgenerator' is now set to '256', stored as mixed in fast cache
Config value 'jpeg_quality' for app 'preview' is now set to '60', stored as mixed in fast cache
# ClamAV is disabled.
## Removing ClamAV Configuration...
Removing [files_antivirus]...
App [files_antivirus] is not installed! Skipping...
Config value av_mode of app files_antivirus deleted
Config value av_host of app files_antivirus deleted
Config value av_port of app files_antivirus deleted
Config value av_stream_max_length of app files_antivirus deleted
Config value av_max_file_size of app files_antivirus deleted
Config value av_infected_action of app files_antivirus deleted
# Collabora is disabled.
## Removing Collabora Configuration...
Removing [richdocuments]...
App [richdocuments] is not installed! Skipping...
Config value wopi_url of app richdocuments deleted
Config value public_wopi_url of app richdocuments deleted
Config value wopi_allowlist of app richdocuments deleted
# OnlyOffice is disabled.
## Removing OnlyOffice Configuration...
Removing [onlyoffice]...
App [onlyoffice] is not installed! Skipping...
Config value DocumentServerUrl of app onlyoffice deleted
System config value onlyoffice => jwt_secret deleted
System config value onlyoffice => jwt_header deleted
System config value allow_local_remote_servers deleted
## Performing cleanups...
### Making sure Collabora built-in app is not installed...
This is known to cause issues with containerized Nextcloud.
Removing [richdocumentscode]...
App [richdocumentscode] is not installed! Skipping...
++++++++++++++++++++++++++++++++++++++++++++++++++
--------------------------------------------------
# Optimize is enabled. Running...
## Applying migrations/repairs/optimizations...
Adding additional fs_storage_path_prefix index to the oc_filecache table, this can take some time...
oc_filecache table updated successfully.
Done.
Done.
All tables already up to date!
mimetypelist.js is updated
Added mimetype "video/3gpp" to database
Added mimetype "application/x-7z-compressed" to database
Added mimetype "audio/aac" to database
Added mimetype "application/msaccess" to database
Added mimetype "text/asciidoc" to database
Added mimetype "application/illustrator" to database
Added mimetype "application/vnd.android.package-archive" to database
Added mimetype "image/x-dcraw" to database
Added mimetype "video/x-msvideo" to database
Added mimetype "text/x-shellscript" to database
Added mimetype "application/x-msdos-program" to database
Added mimetype "application/x-bin" to database
Added mimetype "application/x-blender" to database
Added mimetype "image/bmp" to database
Added mimetype "image/bpg" to database
Added mimetype "application/x-bzip2" to database
Added mimetype "text/x-c" to database
Added mimetype "text/x-c++src" to database
Added mimetype "application/comicbook+7z" to database
Added mimetype "application/comicbook+ace" to database
Added mimetype "application/comicbook+rar" to database
Added mimetype "application/comicbook+tar" to database
Added mimetype "application/comicbook+truecrypt" to database
Added mimetype "application/comicbook+zip" to database
Added mimetype "application/coreldraw" to database
Added mimetype "application/java" to database
Added mimetype "application/cmd" to database
Added mimetype "text/plain" to database
Added mimetype "text/css" to database
Added mimetype "text/csv" to database
Added mimetype "application/x-cbr" to database
Added mimetype "application/x-deb" to database
Added mimetype "application/msword" to database
Added mimetype "application/vnd.ms-word.document.macroEnabled.12" to database
Added mimetype "application/vnd.openxmlformats-officedocument.wordprocessingml.document.docxf" to database
Added mimetype "application/vnd.openxmlformats-officedocument.wordprocessingml.template" to database
Added mimetype "video/dv" to database
Added mimetype "image/emf" to database
Added mimetype "message/rfc822" to database
Added mimetype "application/vnd.ms-fontobject" to database
Added mimetype "application/postscript" to database
Added mimetype "application/epub+zip" to database
Added mimetype "application/x-ms-dos-executable" to database
Added mimetype "application/x-fictionbook+xml" to database
Added mimetype "audio/flac" to database
Added mimetype "video/x-flv" to database
Added mimetype "application/vnd.oasis.opendocument.graphics-flat-xml" to database
Added mimetype "application/vnd.oasis.opendocument.presentation-flat-xml" to database
Added mimetype "application/vnd.oasis.opendocument.spreadsheet-flat-xml" to database
Added mimetype "application/vnd.oasis.opendocument.text-flat-xml" to database
Added mimetype "image/gif" to database
Added mimetype "application/gpx+xml" to database
Added mimetype "application/gzip" to database
Added mimetype "text/x-h" to database
Added mimetype "image/heic" to database
Added mimetype "image/heif" to database
Added mimetype "text/html" to database
Added mimetype "text/calendar" to database
Added mimetype "image/x-icon" to database
Added mimetype "text/impress" to database
Added mimetype "text/x-java-source" to database
Added mimetype "image/jp2" to database
Added mimetype "application/javascript" to database
Added mimetype "application/x-kdbx" to database
Added mimetype "application/x-iwork-keynote-sffkey" to database
Added mimetype "application/km" to database
Added mimetype "application/vnd.google-earth.kml+xml" to database
Added mimetype "application/vnd.google-earth.kmz" to database
Added mimetype "application/x-krita" to database
Added mimetype "text/x-ldif" to database
Added mimetype "application/vnd.lotus-wordpro" to database
Added mimetype "video/mp2t" to database
Added mimetype "audio/mpegurl" to database
Added mimetype "audio/mp4" to database
Added mimetype "audio/m4b" to database
Added mimetype "video/x-matroska" to database
Added mimetype "application/x-freemind" to database
Added mimetype "application/x-mobipocket-ebook" to database
Added mimetype "video/quicktime" to database
Added mimetype "audio/mpeg" to database
Added mimetype "video/mpeg" to database
Added mimetype "application/vnd.ms-outlook" to database
Added mimetype "application/x-msi" to database
Added mimetype "video/MP2T" to database
Added mimetype "text/x-nfo" to database
Added mimetype "application/x-iwork-numbers-sffnumbers" to database
Added mimetype "application/vnd.oasis.opendocument.formula" to database
Added mimetype "application/vnd.openxmlformats-officedocument.wordprocessingml.document.oform" to database
Added mimetype "audio/ogg" to database
Added mimetype "video/ogg" to database
Added mimetype "application/msonenote" to database
Added mimetype "text/org" to database
Added mimetype "application/font-sfnt" to database
Added mimetype "application/vnd.oasis.opendocument.graphics-template" to database
Added mimetype "application/vnd.oasis.opendocument.presentation-template" to database
Added mimetype "application/vnd.oasis.opendocument.spreadsheet-template" to database
Added mimetype "application/vnd.oasis.opendocument.text-template" to database
Added mimetype "application/x-iwork-pages-sffpages" to database
Added mimetype "application/x-font" to database
Added mimetype "application/x-php" to database
Added mimetype "application/x-perl" to database
Added mimetype "audio/x-scpls" to database
Added mimetype "application/vnd.ms-powerpoint" to database
Added mimetype "application/vnd.ms-powerpoint.template.macroEnabled.12" to database
Added mimetype "application/vnd.openxmlformats-officedocument.presentationml.template" to database
Added mimetype "application/vnd.ms-powerpoint.addin.macroEnabled.12" to database
Added mimetype "application/vnd.ms-powerpoint.slideshow.macroEnabled.12" to database
Added mimetype "application/vnd.openxmlformats-officedocument.presentationml.slideshow" to database
Added mimetype "application/vnd.ms-powerpoint.presentation.macroEnabled.12" to database
Added mimetype "application/vnd.openxmlformats-officedocument.presentationml.presentation" to database
Added mimetype "application/x-photoshop" to database
Added mimetype "text/x-python" to database
Added mimetype "application/x-rar-compressed" to database
Added mimetype "text/reveal" to database
Added mimetype "application/rss+xml" to database
Added mimetype "text/x-rst" to database
Added mimetype "text/rtf" to database
Added mimetype "application/sgf" to database
Added mimetype "image/sgi" to database
Added mimetype "image/svg+xml" to database
Added mimetype "application/x-shockwave-flash" to database
Added mimetype "application/x-compressed" to database
Added mimetype "application/x-tar" to database
Added mimetype "application/vnd.garmin.tcx+xml" to database
Added mimetype "application/x-tex" to database
Added mimetype "image/tga" to database
Added mimetype "image/tiff" to database
Added mimetype "application/internet-shortcut" to database
Added mimetype "text/vcard" to database
Added mimetype "video/dvd" to database
Added mimetype "application/vnd.visio" to database
Added mimetype "application/vnd.ms-visio.drawing.macroEnabled.12" to database
Added mimetype "application/vnd.ms-visio.drawing" to database
Added mimetype "application/vnd.ms-visio.stencil.macroEnabled.12" to database
Added mimetype "application/vnd.ms-visio.stencil" to database
Added mimetype "application/vnd.ms-visio.template.macroEnabled.12" to database
Added mimetype "application/vnd.ms-visio.template" to database
Added mimetype "audio/wav" to database
Added mimetype "audio/webm" to database
Added mimetype "video/webm" to database
Added mimetype "image/webp" to database
Added mimetype "video/x-ms-wmv" to database
Added mimetype "application/font-woff" to database
Added mimetype "application/vnd.wordperfect" to database
Added mimetype "application/x-gimp" to database
Added mimetype "application/vnd.ms-excel" to database
Added mimetype "application/vnd.ms-excel.addin.macroEnabled.12" to database
Added mimetype "application/vnd.ms-excel.sheet.binary.macroEnabled.12" to database
Added mimetype "application/vnd.ms-excel.sheet.macroEnabled.12" to database
Added mimetype "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet" to database
Added mimetype "application/vnd.ms-excel.template.macroEnabled.12" to database
Added mimetype "application/vnd.openxmlformats-officedocument.spreadsheetml.template" to database
Added mimetype "application/vnd.xmind.workbook" to database
Added mimetype "application/xml" to database
Added mimetype "application/yaml" to database
Added mimetype "application/zip" to database
Added mimetype "application/zstd" to database
Added 157 new mimetypes
Updated 0 filecache rows
.htaccess has been updated
- Repair MySQL collation
- Not a mysql database -> nothing to do
- Clean tags and favorites
- 0 tags of deleted users have been removed.
- 0 tags for delete files have been removed.
- 0 tag entries for deleted tags have been removed.
- 0 tags with no entries have been removed.
- Repair invalid shares
- Move .step file of updater to backup location
- Add move avatar background job
- Add background job
- Add preview cleanup background jobs
- Migrate oauth2_clients table to nextcloud schema
- Update the oauth2_access_tokens table schema.
- Update the oauth2_clients table schema.
- Delete clients (and their related access tokens) with the redirect_uri starting with oc:// or ending with *
- Repair language codes
- Add log rotate job
- Clear frontend caches
- Image cache cleared
- JS cache cleared
- Clear every generated avatar
- Add preview background cleanup job
- Queue a one-time job to cleanup old backups of the updater
- Cleanup invalid photocache files for carddav
- Add background job to cleanup login flow v2 tokens
- Remove potentially over exposing share links
- No need to remove link shares.
- Clear access cache of projects
- Reset generated avatar flag
- Keep legacy encryption enabled
- Check encryption key format
- Remove old dashboard app config data
- Add job to cleanup the bruteforce entries
- Queue a one-time job to check for user uploaded certificates
- Repair DAV shares
- Add background job to set the lookup server share state for users
- Add token cleanup job
- Clean up abandoned apps
- Add possibly missing system config
- Add AI tasks cleanup jobs
- Queue a job to generate metadata
- migrate lazy config values
- Cache logo dimension to fix size in emails on Outlook
- Theming is not used to provide a logo
- Remove legacy ".ocdata" file
- Add cleanup-deleted-users background job
- Validate account properties and store phone numbers in a known format for search
- Queued background to validate account properties.
- Remove shares of old group memberships
- Remove broken DAV object properties
- 0 broken object properties removed
- Repair mime types
- Handle outdated scheduling events
- Cleaning up old scheduling events
- Adding background job to delete old scheduling objects
- AppAPI Daemons configuration GPU params update
- Daemons configuration GPU params updated: 0
- Upgrading Circles App
- Fix component of birthday calendars
- 0 birthday calendars updated.
- Regenerating birthday calendars to use new icons and fix old birthday events without year
- Adding background jobs to regenerate birthday calendar
- Fix broken values of calendar objects
- Registering building of calendar search index as background job
- Add background job
- Register building of social profile search index as background job
- Registering background jobs to update cache for webcal calendars
- Added 0 background jobs to update webcal calendars
- Registering building of calendar reminder index as background job
- Add background job
- Clean up orphan event and contact data
- 0 events without a calendar have been cleaned up
- 0 properties without an events have been cleaned up
- 0 changes without a calendar have been cleaned up
- 0 cached events without a calendar subscription have been cleaned up
- 0 changes without a calendar subscription have been cleaned up
- 0 contacts without an addressbook have been cleaned up
- 0 properties without a contact have been cleaned up
- 0 changes without an addressbook have been cleaned up
- Remove activity entries of private events
- Removed 0 activity entries
- Clean up old calendar subscriptions from deleted users that were not cleaned-up
- 0 calendar subscriptions without an user have been cleaned up
- Remove invalid object properties
- 0 invalid object properties removed.
- Fix the share type of guest shares when migrating from ownCloud
- Copy the share password into the dedicated column
- Set existing shares as accepted
- Set binary permissions
- Update OAuth token expiration times
- init metadata
- Switches from default updater server to the customer one if a valid subscription is available
- Migrate some config values to lazy loading
- Send an admin notification if monthly report is disabled
- Force-reset all Text document sessions
- Initialize migration of background images from dashboard to theming app
- Add background job to check for backup codes
- Populating added database structures for workflows
--------------------------------------------------
Starting Nextcloud PHP-FPM
==> Finished the script: "/docker-entrypoint-hooks.d/before-starting/10-post-install.sh"
0 [>---------------------------] 0 [->--------------------------][28-Feb-2025 19:49:56] NOTICE: [pool www] 'user' directive is ignored when FPM is not running as root
[28-Feb-2025 19:49:56] NOTICE: [pool www] 'group' directive is ignored when FPM is not running as root
[28-Feb-2025 19:49:56] NOTICE: fpm is running, pid 1
[28-Feb-2025 19:49:56] NOTICE: ready to handle connections
127.0.0.1 - 28/Feb/2025:19:49:58 +0000 "GET status.php" 200
127.0.0.1 - 28/Feb/2025:19:50:08 +0000 "GET status.php" 200