All Projects → nextcloud → Nextcloud Snap

nextcloud / Nextcloud Snap

Licence: gpl-3.0
☁️📦 Nextcloud packaged as a snap

Programming Languages

shell
77523 projects

Projects that are alternatives of or similar to Nextcloud Snap

nextcloud-snap
☁️📦 Nextcloud packaged as a snap
Stars: ✭ 1,445 (+32.81%)
Mutual labels:  snap, nextcloud, file-sharing
Server
☁️ Nextcloud server, a safe home for all your data
Stars: ✭ 17,723 (+1528.95%)
Mutual labels:  file-sharing, hacktoberfest, nextcloud
Freedomotic
Open IoT Framework
Stars: ✭ 354 (-67.46%)
Mutual labels:  hacktoberfest, iot
Riot
RIOT - The friendly OS for IoT
Stars: ✭ 4,029 (+270.31%)
Mutual labels:  hacktoberfest, iot
Microk8s
MicroK8s is a small, fast, single-package Kubernetes for developers, IoT and edge.
Stars: ✭ 6,017 (+453.03%)
Mutual labels:  iot, snap
Esphome
ESPHome is a system to control your ESP8266/ESP32 by simple yet powerful configuration files and control them remotely through Home Automation systems.
Stars: ✭ 4,324 (+297.43%)
Mutual labels:  hacktoberfest, iot
Home Assistantconfig
🏠 Home Assistant configuration & Documentation for my Smart House. Write-ups, videos, part lists, and links throughout. Be sure to ⭐ it. Updated FREQUENTLY!
Stars: ✭ 3,687 (+238.88%)
Mutual labels:  hacktoberfest, iot
Addons
➕ Docker add-ons for Home Assistant
Stars: ✭ 548 (-49.63%)
Mutual labels:  hacktoberfest, iot
Awesome Home Assistant
A curated list of amazingly awesome Home Assistant resources.
Stars: ✭ 3,487 (+220.5%)
Mutual labels:  hacktoberfest, iot
Shellhub
💻 ShellHub enables teams to easily access any Linux device behind firewall and NAT.
Stars: ✭ 686 (-36.95%)
Mutual labels:  hacktoberfest, iot
Deck
🗂 Kanban-style project & personal management tool for Nextcloud, similar to Trello
Stars: ✭ 675 (-37.96%)
Mutual labels:  hacktoberfest, nextcloud
App Tutorial
Tutorial app which is built in the tutorial
Stars: ✭ 29 (-97.33%)
Mutual labels:  hacktoberfest, nextcloud
Social
🎉 Social can be used for work, or to connect to the fediverse!
Stars: ✭ 302 (-72.24%)
Mutual labels:  hacktoberfest, nextcloud
Talk Android
📱😀 Video & audio calls through Nextcloud on Android
Stars: ✭ 282 (-74.08%)
Mutual labels:  hacktoberfest, nextcloud
Zwave2mqtt
Fully configurable Zwave to MQTT gateway and Control Panel using NodeJS and Vue
Stars: ✭ 352 (-67.65%)
Mutual labels:  hacktoberfest, iot
Text
📑 Collaborative document editing using Markdown
Stars: ✭ 282 (-74.08%)
Mutual labels:  hacktoberfest, nextcloud
Mail
💌 Mail app for Nextcloud
Stars: ✭ 528 (-51.47%)
Mutual labels:  hacktoberfest, nextcloud
Spreed
📞😀 Nextcloud Talk – chat, video & audio calls for Nextcloud
Stars: ✭ 994 (-8.64%)
Mutual labels:  hacktoberfest, nextcloud
Industrial Iot
Azure Industrial IoT Platform
Stars: ✭ 256 (-76.47%)
Mutual labels:  hacktoberfest, iot
Documentation
📘 Nextcloud documentation
Stars: ✭ 268 (-75.37%)
Mutual labels:  hacktoberfest, nextcloud

Snappy Nextcloud

Nextcloud server packaged as a snap. It consists of:

  • Nextcloud 20.0.7
  • Apache 2.4
  • PHP 7.3
  • MySQL 5.7
  • Redis 5.0
  • mDNS for network discovery

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

After install, assuming you and the device on which it was installed are on the same network, you should be able to reach the Nextcloud installation by visiting <hostname>.local in your browser. If your hostname is localhost or localhost.localdomain, like on an Ubuntu Core device, nextcloud.local will be used instead.

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

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].