Giter Site home page Giter Site logo

nextcloud-snap / nextcloud-snap Goto Github PK

View Code? Open in Web Editor NEW
1.6K 70.0 215.0 1.9 MB

☁️📦 Nextcloud packaged as a snap

License: GNU General Public License v3.0

Python 10.61% Shell 71.69% PHP 1.57% Ruby 16.14%
nextcloud snap file-sharing iot hacktoberfest

nextcloud-snap's Introduction

Snappy Nextcloud

Nextcloud server packaged as a snap. It consists of:

  • Nextcloud 27
  • Apache 2.4
  • PHP 8.1
  • MySQL 8
  • Redis 6

How to install

Get it from the Snap Store

There are a number of releases available. By default you'll get the newest stable one, but you may be interested in others.

How to use

Upon visiting the Nextcloud installation for the first time, you'll be prompted for an admin username and password. After you provide that information you'll be logged in and able to create users, install apps, and upload files.

Note that this snap includes a service that runs cron.php every 15 minutes, which will automatically change the cron admin setting to Cron for you.

Removable media

Also note that the interface providing the ability to access removable media is not automatically connected upon install, so if you'd like to use external storage (or otherwise use a device in /media or /mnt for data), you need to give the snap permission to access removable media by connecting that interface:

$ sudo snap connect nextcloud:removable-media

System monitoring

The System application requires a bit more access to the system than the snap uses by default (e.g. the ability to monitor network hardware, etc.). If you'd like to utilize those features, you'll need to connect the interface that allows that kind of access:

$ sudo snap connect nextcloud:network-observe

Configuration

Beyond the typical Nextcloud configuration (either by using nextcloud.occ or editing /var/snap/nextcloud/current/nextcloud/config/config.php), the snap exposes extra configuration options via the snap set command.

HTTP/HTTPS port configuration

By default, the snap will listen on port 80. If you enable HTTPS, it will listen on both 80 and 443, and HTTP traffic will be redirected to HTTPS. But perhaps you're putting the snap behind a proxy of some kind, in which case you probably want to change those ports.

If you'd like to change the HTTP port (say, to port 81), run:

$ sudo snap set nextcloud ports.http=81

To change the HTTPS port (say, to port 444), run:

$ sudo snap set nextcloud ports.https=444

Note that, assuming HTTPS is enabled, this will cause HTTP traffic to be redirected to port 444. You can specify both of these simultaneously as well:

$ sudo snap set nextcloud ports.http=81 ports.https=444

Note: Let's Encrypt will expect that Nextcloud is exposed on ports 80 and 443. If you change ports and don't put Nextcloud behind a proxy such that ports 80 and 443 are sent to Nextcloud for that domain name, Let's Encrypt will be unable to verify ownership of your domain and will not grant certificates.

Also note: Nextcloud's automatic hostname detection can fail when behind a proxy; you might notice it redirecting incorrectly. If this happens, override the automatic detection (including the port if necessary), e.g.:

$ sudo nextcloud.occ config:system:set overwritehost --value="example.com:81"

PHP Memory limit configuration

By default, PHP will use 128M as the memory limit. If you notice images not getting previews generated, or errors about memory exhaustion in your Nextcloud log, you may need to set this to a higher value.

If you'd like to set the memory limit to a higher value (say, 512M), run:

$ sudo snap set nextcloud php.memory-limit=512M

To set it to be unlimited (not recommended), use -1:

$ sudo snap set nextcloud php.memory-limit=-1

Cronjob interval configuration

By default the cronjob interval is 15 minutes.

To adjust it (say, 10 minutes) simply run:

$ sudo snap set nextcloud nextcloud.cron-interval=10m

If you want to disable the cronjob completely, run:

$ sudo snap set nextcloud nextcloud.cron-interval=-1

To reenable it again simply set the nextcloud.cron-interval snap variable to a value that isn't -1

HTTP compression configuration

By default, the snap does not enable HTTP compression. To enable it, run:

$ sudo snap set nextcloud http.compression=true

To disable it, run:

$ sudo snap set nextcloud http.compression=false

Reverse Proxy for Files High Performance Backeend

This option simply enables the reverse proxy configuration mentioned in Client Push Readme that is required to setup the notify_push component. Read more at our wiki!

By default, the snap does not enable the reverse proxy for notify_push. To enable it, run:

$ sudo snap set nextcloud http.notify-push-reverse-proxy=true

To disable it, run:

$ sudo snap set nextcloud http.notify-push-reverse-proxy=false

Note: You still need to setup notify_push yourself. This option only enables the reverse proxy, as the apache configuration is read-only.

Debug mode

By default, the snap installs itself in production mode, which prevents Apache and PHP from providing any detailed version or library information in the HTTP headers and error pages. Debug mode can be enabled with:

$ sudo snap set nextcloud mode=debug

"debug" and "production" are the only valid modes.

Included CLI utilities

There are a few CLI utilities included:

  • nextcloud.occ:
    • Nextcloud's occ configuration tool. You can always edit the config file directly (/var/snap/nextcloud/current/nextcloud/config/config.php) but the configuration tool provides a CLI interface for it. See nextcloud.occ -h for more information. Note that it requires sudo.
  • nextcloud.mysql-client:
    • MySQL client preconfigured to communicate with Nextcloud MySQL server. This may be useful in case you need to migrate Nextcloud installations. Note that it requires sudo.
  • nextcloud.mysqldump:
    • Dump Nextcloud database to stdout. You should probaby redirect its output to a file. Note that it requires sudo.
  • nextcloud.enable-https:
    • Enable HTTPS via self-signed certificates, Let's Encrypt, or custom certificates. HTTP will redirect to HTTPS. Non-custom certificates will automatically be kept up-to-date. See nextcloud.enable-https -h for more information. Note that it requires sudo.
  • nextcloud.disable-https:
    • Disable HTTPS (does not remove certificates). Note that it requires sudo.
  • nextcloud.manual-install:
    • Manually install Nextcloud instead of visiting it in your browser. This allows you to create the admin user via the CLI. Note that it requires sudo.
  • nextcloud.export:
    • Export data suitable for migrating servers. By default this includes the Nextcloud database, configuration, and data. See nextcloud.export -h for more information. Note that it requires sudo.
  • nextcloud.import:
    • Import data exported from another Nextcloud snap instance (via nextcloud.export). By default this imports the database, config, and data. See nextcloud.import -h for more information. Note that it requires sudo.

Where is my stuff?

  • $SNAP_DATA (/var/snap/nextcloud/current/ by default)
    • Logs (Apache, PHP, MySQL, Redis, and Nextcloud logs)
    • Keys and certificates
    • MySQL database
    • Redis database
    • Nextcloud config
    • Any Nextcloud apps installed by the user
  • $SNAP_COMMON (/var/snap/nextcloud/common/ by default)
    • Nextcloud data

Hacking

If you change something in the snap, build it, install it, and you can run a suite of acceptance tests against it. The tests are written in ruby, using capybara and rspec. To run the tests, you first need to install a few dependencies:

$ sudo apt install gcc g++ make qt5-default libqt5webkit5-dev ruby-dev zlib1g-dev
$ sudo gem install bundle
$ cd tests/
$ bundle install

Additionally, if you do not have X configured, install the following for a 'fake' X server.

$ sudo apt install xvfb

Make sure the snap has a user called "admin" with password "admin" (used for login tests):

$ sudo nextcloud.manual-install admin admin

And finally, run the tests:

$ cd tests/
$ rake test

nextcloud-snap's People

Contributors

3v1n0 avatar adhami03 avatar bn4t avatar come-maiz avatar derhagen avatar jamesbream avatar kesselb avatar kroko avatar kyrofa avatar l-wr-w avatar mcphail avatar mhspradlin avatar oparoz avatar pachulo avatar pilzinsel64 avatar popey avatar r4co0n avatar scottyeager avatar stondino00 avatar szaimen avatar thomascobb avatar toreanderson avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nextcloud-snap's Issues

Enable memcache

Upon visiting the admin page after initial install, says that there is no memcache installed.

Wiki add for enabling ssh/https and getting cert

Addition to wiki.. Might want to suggest folks change the shell password from the default of ubuntu in the process of enabling https in the steps for enabling https and letsencrypt if they haven't already.. Its obvious for some folks but remember this is a setup process.

Add samba (smb) support

Adding the samba client to PHP would make it possible to access other storage located on the same network.

Federation: Can't add trusted nextcloud server if SSL Cert is self-signed.

Federation: Can't add trusted nextcloud server if SSL Cert is self-signed.

I was attempting to run a test to link 2 snap installations of NextCloud with federation, but the following error was generated:
cURL error 60: SSL certificate problem: self signed certificate

Self-signed certs aren't a problem. Maybe a warning perhaps, but not a problem. Why would a server admin need to rely on outside parties to verify an internal server is what it says it is?

It would seem to me that an override option should be available, preferably with the cert displayed for manual verification. After all, I trust my servers. :)

Nextcloud Snap 9.x on Ubuntu 16.04.

Add truetype support to PHP

Can be useful for apps which need to add text to an image.

        configflags:
...
          - --enable-gd-native-ttf
          - --with-freetype-dir=/usr/lib
    stage-packages:
...
      - libfontconfig1
      - libfreetype6

Note: Fonts might not be easily accessible unless we set an env variable

Create one snap per branch and migrate data between snaps

We have to change our release strategy and instead of sending various branches to various channels, we have to create one snap per branch and provide upgrade mechanisms for people who need to switch snap.

Channels will be used like normal channels to test beta features, RC, etc.

Things to discuss

  • Do we want to introduce this with 9 or 10? I'm in favour of doing it after the migration to 10 in order to not delay that release even more. Nextcloud Box users expect 10 anyway
  • Can we deliver an unattended process? We have to detect that there is a previous version and move the data folder from the old snap to the new one. Using the /media folder to store the data folder would simplify the process, but that folder can't be automatically made available to a Snap. It has to be user mounted.

Update PHP to the latest version

The currently shipped 7.0.2 contains several security vulnerabilities.
There was a conflict previously with the local domain used, but this needs to be re-tested.

Ship updated OpenSSL 1.1

I couldn't find a package for version 1.1, but perhaps we could compile it ourselves?
One big advantage is to be able to use Chacha20 for mobile.

Add content slot for spreed.me

Spreed.ME needs to connect to Nextcloud if we want to integrate both services.
We need to offer a read slot either globally to the extra-apps folder in order to not discriminate or just specifically to the spreedme app.

Pre-requisite: Fixed content interface which connects to $SNAP_DATA

Unclear description from the Ubuntu Software Center

Hi,
I found the snap in the Ubuntu Software application, however it doesn't make it clear what exactly is installed; a server? a client? It only has a very generic description.

My initial thought was that it would be the nextcloud client, which is also most logical from a desktop user perspective, until I glanced over the size of the package.

screenshot from 2016-09-30 21-03-25

Image Preview Generation Fails

I am encountering the following error with installations of Nextcloud. The error occurs on both revision 17 (sudo snap install nextcloud) and revision 22 (the revision with https support installed with sudo snap install nextcloud --beta).

After creating an admin account, navigating to the Photos folder using the File manager and attempting to open a photo returns the following error.

"Error! Could not generate a preview of this file."

The error appears to be caused by a call to the following URL (which returns error code 500):
index.php/apps/gallery/preview/6?width=2000&height=2000…eWQNFJQgqfDUKLAUuVmk%3D%3AsrRCRYS4hqevSFghRu6V%2BUcX3RlCuidXL2oX9bw6EO0%3D

No error is logged at the default log level. Configuring Nextcloud to log everything yields the following log entries:

Debug core OC_Image->fixOrientation() Orientation: -1 2016-08-19T14:15:27+00:00 admin
Debug core OC_Image->fixOrientation() Image is not a JPEG. 2016-08-19T14:15:27+00:00 admin
Debug core OC_Image->loadFromFile, JPG images not supported: /var/snap/nextcloud/common/nextcloud/data/admin/files/Photos/San Francisco.jpg 2016-08-19T14:15:27+00:00 admin

Uneducated guess would be that php is not compiled with libjpeg.

Put all the logs in a logs folder

It's a pain to have to look inside every folder for the logs to parse when trying to debug issues.
It would be good to put them all in a logs folder.

Add license section to readme

We have to make it clear that there are 2 types of licenses which come with the Snap:

  1. This work of packaging Nextcloud and its required stack in a Snap is licensed under the GPL 3.0
  2. Every component comes with its own license. Nextcloud, per example, is licensed under the AGPL3+

I have already modified the license in the store to AGPL3+ since it's the most restrictive one, but since there doesn't seem to be a way to show the license of every part of a Snap, we should include license files within each directory and mention them in the readme.

Use PHP FPM instead of Apache module

This will be more efficient as well as simplify the process of including PHP modules (since the current process would be module inception... PHP modules within Apache modules within Apache). It also removes the hard dependency on Apache, enabling us to easily use something else if we so desired.

Allow to change the max upload file size from the webgui.

Hi there,

I don´t know if this kind of issue was opened before (could not find a issue about this).
I have tried the snap package for Nextcloud, seems to be working fine and looking good so far.

The only issue I encounter is that i cannot change the Max Upload file size from the webgui (is now 10gb).
It seems that the .htaccess is readonly.

Will there be and option, to edit the Upload size with an Utility or will the edit function work in the admin panel in the future (make the .htaccess writable)?

Thanks, and keep up the good work.

Kind regards,
Bons.

Fix apparmor policy for MySQL

syslog is getting spammed like crazy by MySQL and all those writes have a negative effect on performance.
Maybe it's a problem with the image itself... but it would be good to get rid of the problem one way or another.

Sep 24 12:35:30 ubuntu-standard kernel: [35131.515928] audit: type=1400 audit(1474720530785:35364): apparmor="DENIED" operation="open" profile="snap.nextcloud.mysql" name="/etc/ld.so.preload" pid=7741 comm="sleep" requested_mask="r" denied_mask="r" fsuid=0 ouid=0

Use cron rather than Ajax cron

I'm new to nextcloud, but my understanding is that if you're not going to visit the webpage regularly then you should use cron or web cron rather than Ajax cron. I am mainly planning on using the desktop client for sync so I think this applies to me? I had a look at how you've done the renew certificates, and I think a similar approach running cron.php with 15 minute sleeps might be a good idea? Do you think this would work? I could try to do this and make a pull request if that's helpful.

FR: Make configs writable

Current snap writes app configs to non-writeable file system - tough to customize the installation. Would love to see configs that are writable. Perhaps a snap that installs and configure the dependencies as non-writable, but htdocs as writable?

Tighten default SSL config

Tighten default config

There isn't much to do here, because we need to keep backward compatibility with TLS1.0. It's bad, but we can't do anything about it until the OSX client is updated.

Changes

  • Remove DES3
  • 384bits curve only
  • Use 2048 bits DH parameters
SSLCipherSuite ECDHE+AESGCM:DHE+AESGCM:ECDHE+AES256:DHE+AES256:ECDHE+AES128:DHE+AES:RSA+AESGCM:RSA+AES:!aNULL:!3DES:!MD5:!DSS;
SSLOpenSSLConfCmd DHParameters "${SNAP}/conf/dhparams.2048.pem

Latest Stable 9.0.52

I noticed that Nextcloud is not staying up to date with the latest stable releases.

Add access to /media

/media is a zone which is accessible by all snaps supporting the removable-media interface. We should add it to this Snap.

Benefits

  • Creates a permanent storage location. Currently, when adding other Nextcloud snaps, they're all empty
  • Provides an area which will survive a snap removal, whether by accident or because it has become unrecoverable
  • Allows Nextcloud to have access to data of other snaps
  • Gives access to mounted storage
  • Makes it possible to create backups
  • Gives access to USB sticks?

Split Web stack configs in two to make it possible for users to customise them

It's very important for developers to be able to turn on debug flags in the Snap to be able to see what is going on, but users may also want to change the configuration we've shipped as the default.

I propose to use the following convention:

  • platform.conf will contain all the changes we make based on the detected hardware
  • custom.conf will contain settings users may want to configure depending on their use cases

platform.conf will sit on the read-only partition and custom.conf will be used to override the default settings.

TODO

  • Apache #70
  • PHP
  • MySQL

Dry-running `enable-https` shows weird `ls` failure

This could probably look a little nicer:

$ sudo nextcloud.enable-https -d
<snip>
Attempting to obtain certificates... done
ls: cannot access '/var/snap/nextcloud/x1/certs/certbot/config/live': No such file or directory
Restarting apache... done

Also, no need to restart apache.

Enable HTTPS

Upon visiting the admin page after initial install, it recommends the set-up of HTTPS.

Can't connect to Snap after change of IP

  1. Install the beta
  2. Point a domain to the IP
  3. Install Let's encrypt
  4. Use Nextcloud
  5. Change IP
  6. Refresh to edge
  7. Update the DNS for the domain
  8. Open the domain

Expected result

I should be able to use my Nextcloud

Actual result

ERR_CONNECTION_REFUSED

I've tried various browsers and traceroutes end up at the correct IP.

Can't run nextcloud.enable-https with sudo

nextcloud.enable-https does require root, but can't be executed with sudo. The error is "sudo: nextcloud.enable-https: command not found".
It works if you emulate a root shell with sudo -i. Is this maybe an issue with snap-confinement?

Nextcloud doesn't run on KDE Neon

Expected behavior:

  • sudo snap install nextcloud
  • Go to the Webinterface (127.0.0.1, localhost, [Name].local)

Actual behavior:

  • sudo snap install nextcloud
  • Nextcloud not reachable, netstat gives no clues

I'm not familiar with snap, so i don't know how to debug them, or where things shows up.
I'm running Ubuntu Neon

I will try to get some Wiki entries to debug the snap, when something like this happens.

Snap attempts to configure Redis before PHP or MySQL is up and running

So if for example mysql doesn't come up quickly, one can see the following beautiful log:

Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occured in driver: SQLSTATE[HY000] [2002] No such file or directory in /snap/ne
Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: Stack trace:
Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: #0 /snap/nextcloud/5/htdocs/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(429): OC\DB\Connection->connect()
Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: #1 /snap/nextcloud/5/htdocs/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(389): Doctrine\DBAL\Connection->getDatabasePlatformVersion()
Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: #2 /snap/nextcloud/5/htdocs/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(328): Doctrine\DBAL\Connection->detectDatabasePlatform()
Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: #3 /snap/nextcloud/5/htdocs/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(621): Doctrine\DBAL\Connection->getDatabasePlatform()
Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: #4 /snap/nextcloud/5/htdocs/lib/private/db/connection.php(137): Doctrine\DBAL\Connection->setTransactionIsolation(2)
Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: #5 /snap/nextcloud/5/htdocs/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DriverManager.php(172): OC\DB\Connection->__construct(Array, Object(Doctrine\DBAL\Drive
Jun 22 07:31:40 xenial ubuntu-core-launcher[3698]: #6 /snap/nextcloud/5/htdocs/lib/private/db/connectionfactory.php(116): Doctrine\DBAL\DriverManager::getConnection(Array, Object(Doctrine\DBAL\Configuration)
...skipping...
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #14 /snap/nextcloud/5/htdocs/lib/private/appframework/utility/simplecontainer.php(102): Pimple\Container->offsetGet('AppConfig')
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #15 /snap/nextcloud/5/htdocs/lib/private/servercontainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('AppConfig')
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #16 /snap/nextcloud/5/htdocs/lib/private/server.php(825): OC\ServerContainer->query('AppConfig')
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #17 /snap/nextcloud/5/htdocs/lib/private/server.php(411): OC\Server->getAppConfig()
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #18 /snap/nextcloud/5/htdocs/3rdparty/pimple/pimple/src/Pimple/Container.php(113): OC\Server->OC\{closure}(Object(OC\Server))
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #19 /snap/nextcloud/5/htdocs/lib/private/appframework/utility/simplecontainer.php(102): Pimple\Container->offsetGet('AppManager')
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #20 /snap/nextcloud/5/htdocs/lib/private/servercontainer.php(87): OC\AppFramework\Utility\SimpleContainer->query('AppManager')
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #21 /snap/nextcloud/5/htdocs/lib/private/server.php(1063): OC\ServerContainer->query('AppManager')
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #22 /snap/nextcloud/5/htdocs/lib/private/app.php(254): OC\Server->getAppManager()
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #23 /snap/nextcloud/5/htdocs/lib/private/app.php(103): OC_App::getEnabledApps()
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #24 /snap/nextcloud/5/htdocs/lib/base.php(648): OC_App::loadApps(Array)
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #25 /snap/nextcloud/5/htdocs/lib/base.php(1185): OC::init()
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #26 /snap/nextcloud/5/htdocs/console.php(46): require_once('/snap/nextcloud...')
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #27 /snap/nextcloud/5/htdocs/occ(11): require_once('/snap/nextcloud...')
Jun 22 07:31:41 xenial ubuntu-core-launcher[3698]: #28 {main}Waiting for PHP...

PHP start fails: awk not found

Distributor ID: Ubuntu
Description: Ubuntu 16.04 LTS
Release: 16.04
Codename: xenial

sudo apt-get update && sudo apt-get upgrade -y
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
snap list
Name         Version               Rev  Developer  Notes
nextcloud    9.0.50snap2           5    canonical  -
ubuntu-core  16.04+20160531.11-56  122  canonical  -
Jun 22 14:50:09 ubuntu ubuntu-core-launcher[9192]: Waiting for mysql...
Jun 22 14:50:09 ubuntu ubuntu-core-launcher[9192]: Obtaining nextcloud mysql credentials...
Jun 22 14:50:09 ubuntu ubuntu-core-launcher[9192]: /snap/nextcloud/5/bin/start-php-fpm: 30: /snap/nextcloud/5/bin/start-php-fpm: awk: not found
Jun 22 14:50:09 ubuntu ubuntu-core-launcher[9192]: /snap/nextcloud/5/bin/start-php-fpm: 31: /snap/nextcloud/5/bin/start-php-fpm: arithmetic expression: expecting primary: "/50"
Jun 22 14:50:09 ubuntu systemd[1]: snap.nextcloud.php-fpm.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Jun 22 14:50:09 ubuntu systemd[1]: snap.nextcloud.php-fpm.service: Unit entered failed state.
Jun 22 14:50:09 ubuntu systemd[1]: snap.nextcloud.php-fpm.service: Failed with result 'exit-code'.
Jun 22 14:50:09 ubuntu systemd[1]: snap.nextcloud.php-fpm.service: Service hold-off time over, scheduling restart.
Jun 22 14:50:09 ubuntu systemd[1]: Stopped Service for snap application nextcloud.php-fpm.
Jun 22 14:50:09 ubuntu systemd[1]: snap.nextcloud.php-fpm.service: Start request repeated too quickly.
Jun 22 14:50:09 ubuntu systemd[1]: Failed to start Service for snap application nextcloud.php-fpm.

TO DUPLICATE:

Simply install gawk, which will replace mawk in /etc/alternatives.

Email via PHP doesn't work

This is due to Nextcloud's hard-coding of the sendmail path ("/usr/sbin/sendmail"). Perhaps this should be a configurable path, but that requires upstream work. Note that SMTP email seems to work.

Add with-libdir to PHP plugin

--with-libdir is required for the compilation of some PHP features. Since it's architecture dependant, it should be added to the plugn itself.

Add spreed.ME reverse proxy to Apache

We need to connect to the Spreed.ME Snap through a common proxy, so it's best to add it to the one used by Nextcloud. The configuration is available here:
https://github.com/strukturag/nextcloud-spreedme/blob/master/doc/example-config-apache.md

  • Add 2 new Apache modules
  • Provide configuration

This is to be added either to the default or to the custom config. There shouldn't be any harm in having a location which leads to nowhere.

# Provide access to Spreed.ME
<Location /webrtc>
    ProxyPass http://127.0.0.1:8080/webrtc
    ProxyPassReverse /webrtc
</Location>

<Location /webrtc/ws>
    ProxyPass ws://127.0.0.1:8080/webrtc/ws
</Location>

ProxyVia On
ProxyPreserveHost On
RequestHeader set X-Forwarded-Proto 'https' env=HTTPS

Push notifications to admins

We'll have to investigate which mechanisms can be used to push notifications to admin users so that they can be made aware of major changes which may have an impact on their Nextcloud or snap configuration.

  • Maybe use the announcement centre if we can send messages to admins only
  • We need a way to acknowledge that the user has taken action

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.