{"id":665,"date":"2020-02-24T17:35:21","date_gmt":"2020-02-24T16:35:21","guid":{"rendered":"https:\/\/codedoneright.eu\/?page_id=665"},"modified":"2022-11-16T12:43:54","modified_gmt":"2022-11-16T11:43:54","slug":"nextcloud","status":"publish","type":"page","link":"https:\/\/codedoneright.eu\/?page_id=665","title":{"rendered":"Nextcloud"},"content":{"rendered":"<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/nextcloud.com\/media\/screenshot.png\" alt=\"nextcloud icon\" width=\"150\" height=\"150\"\/><figcaption><a href=\"http:\/\/nextcloud.com\">nextcloud.com<\/a><\/figcaption><\/figure><\/div>\n\n\n<p>Nextcloud is a service that mirrors functionality of cloud storage services like Dropbox or Google Drive, except you can run it on your own server. Forget about space restrictions, you will be bound only by the amount of storage plugged into your RaspberryPi and your internet bandwidth.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Requirements<\/h4>\n\n\n\n<ul><li><a href=\"https:\/\/codedoneright.eu\/?page_id=493\">Apache web server<\/a><\/li><li><a href=\"http:\/\/codedoneright.eu\/?page_id=929\">PHP<\/a><\/li><li><a href=\"https:\/\/codedoneright.eu\/?page_id=557\">MySQL<\/a><\/li><\/ul>\n\n\n\n<p>Install Apache web server, PHP and MySQL before starting this tutorial. You will not be able to complete this tutorial without them.<\/p>\n\n\n\n<p>Nextcloud requires at least 512MB of PHP dedicated RAM. It will run with less, but performance will be next to unusable. You can run it even on Pi0, but just be warned that results will be less than satisfactory. Even accessing the site will be a pain&#8230;<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Additional PHP modules needed<\/h4>\n\n\n\n<ul><li>zip<\/li><li>xml<\/li><li>mbstring<\/li><li>GD<\/li><li>cURL<\/li><\/ul>\n\n\n\n<p>If you are running a vanilla server, you will need to install a few additional PHP modules before using Nextcloud. Find out how to install those packages in <a href=\"https:\/\/codedoneright.eu\/?page_id=557\">this<\/a> or <a href=\"https:\/\/codedoneright.eu\/?page_id=176\">this<\/a> tutorial.<\/p>\n\n\n\n<p><strong>CAUTION<\/strong> to avoid installation of unnecessary modules try accessing your Nextcloud server first and check for errors beforehand. Some modules are grouped in a single package, so install them one at a time and refresh the page to see what is missing. Remember about restarting Apache after each module installation.<\/p>\n\n\n\n<p>Any errors will present themselves during <em>First time run<\/em> part of tutorial.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Nextcloud folders setup<\/h4>\n\n\n\n<p>To setup the service, you need to create a folder from which it will be accessible. As with all web-based services <em>\/var\/www\/<\/em> is a good choice. Create the folder with the following command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir \/var\/www\/nextcloud\nsudo chmod -R 770 \/var\/www\/nextcloud\nsudo chown www-data:www-data -R \/var\/www\/nextcloud<\/code><\/pre>\n\n\n\n<p>To avoid access problems add yourself to <em>www-data<\/em> group! Check how to do that <a href=\"https:\/\/codedoneright.eu\/?page_id=493\">here<\/a>!<\/p>\n\n\n\n<p><strong>User data folder<\/strong><\/p>\n\n\n\n<p>All your data can be stored inside your main Nextcloud folder, however, it is a good idea to move it somewhere more secure. You can create the folder wherever you like. Even on an external device mounted to your server. Check out <a href=\"https:\/\/codedoneright.eu\/?page_id=620\">here<\/a> how to mount external storage.<\/p>\n\n\n\n<p>For the purpose of this tutorial we will create an additional folder for user data. Run the following command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo mkdir \/nextcloud\nsudo chown -R www-data:www-data \/nextcloud\nsudo chmod -R 770 \/nextcloud<\/code><\/pre>\n\n\n\n<p>If you want to mount external drive in <em>\/nextcloud<\/em> folder. After mounting your drive, run the following again<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R www-data:www-data \/nextcloud\nsudo chmod -R 775 \/nextcloud<\/code><\/pre>\n\n\n\n<p><strong>CAUTION<\/strong> it is very difficult to move your storage folder after the installation. It is best to decide on your permanent data folder now.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Downloading Nextcloud package<\/h4>\n\n\n\n<p>You can download Nextcloud package and upload it via FTP. The easier way, however, is to just do everything on your server directly.<\/p>\n\n\n\n<p>First of all visit <a href=\"https:\/\/nextcloud.com\/install\/#instructions-server\">nextcloud.com<\/a>, copy the direct link to the package by right-clicking on <em>Download Nextcloud<\/em> button and selecting <em>Copy address link<\/em>.<\/p>\n\n\n\n<p>Now navigate to your Nextcloud folder. Server data, not user data folder<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/var\/www\/nextcloud<\/code><\/pre>\n\n\n\n<p>Once inside, run the following set of commands<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>wget https:\/\/download.nextcloud.com\/server\/releases\/latest.tar.bz2\nunzip $nextcloud_package_name\nmv nextcloud\/* .<\/code><\/pre>\n\n\n\n<p>Substitute variables for appropriate names. Contrary to WordPress, Nextcloud does not use <em>latest.zip<\/em> filename for the latest release, sorry.<\/p>\n\n\n\n<p>As there are many files in the package, unzipping will take a significant amount of time. Be patient.<\/p>\n\n\n\n<p><strong>CAUTION<\/strong> make sure that <em>index.php<\/em> file is directly in <em>\/var\/www\/nextcloud<\/em> folder.<\/p>\n\n\n\n<p>You can remove unnecessary files by running<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>rm -R nextcloud\/\nrm $nextcloud_package_name<\/code><\/pre>\n\n\n\n<p>All files will be owned by your user, we need to change that to <em>www-data<\/em>. Run the following again<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo chown -R www-data:www-data \/nextcloud\nsudo chmod -R 770 \/nextcloud<\/code><\/pre>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Configuring Apache web server<\/h4>\n\n\n\n<p>To run the service you have to configure Apache web server. To learn how to do that see <a href=\"https:\/\/codedoneright.eu\/?page_id=493\">this <\/a>tutorial.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">Quick setup, for the impatient<\/h6>\n\n\n\n<p>Below instructions will configure Apache web server so that your Nextcloud service is accessible via the following address in your browser<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>your.raspberry.ip.address\/nextcloud\/\n\ne.g. 192.168.0.100\/nextcloud\/<\/code><\/pre>\n\n\n\n<p>If you get a proper domain, it will be accessible via the following link (no extra setup needed)<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>example.com\/nextcloud\/<\/code><\/pre>\n\n\n\n<p>Learn how to get yourself a free domain <a href=\"https:\/\/codedoneright.eu\/?page_id=309\">here<\/a><\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>To set up an alias run the following<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/apache2\/mods-enabled\/alias.conf<\/code><\/pre>\n\n\n\n<p>Add the following code at the bottom<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;IfModule alias_module&gt;\n               Alias \/nextcloud\/ \"\/var\/www\/nextcloud\/\"\n               &lt;Directory \"\/var\/www\/nextcloud\"&gt;\n                       Options FollowSymlinks\n                       AllowOverride None\n                       Require all granted\n               &lt;\/Directory&gt;\n&lt;\/IfModule&gt;<\/code><\/pre>\n\n\n\n<p>To set up a virtual host for Nextcloud website run the following<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/apache2\/sites-available\/nextcloud.conf<\/code><\/pre>\n\n\n\n<p>Inside, paste the following<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;VirtualHost *:80&gt;\n        Alias \/nextcloud \"\/var\/www\/nextcloud\/\"\n        DocumentRoot \/var\/www\/nextcloud\n        ErrorLog ${APACHE_LOG_DIR}\/nextcloud_error.log\n        CustomLog ${APACHE_LOG_DIR}\/nextcloud_access.log combined\n&lt;\/VirtualHost&gt;<\/code><\/pre>\n\n\n\n<p>Enable Nextcloud website config with the following<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo a2ensite nextcloud<\/code><\/pre>\n\n\n\n<p>Restart Apache with the following command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo service apache2 restart<\/code><\/pre>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">MySQL database<\/h4>\n\n\n\n<p>As with most services, you have to have a separate MySQL database for Nextcloud. Create a user and a database now. You can name them whatever you like, but make sure to remember what names and passwords you used, as they will be needed in the next step.<\/p>\n\n\n\n<p>To learn how to create MySQL database and user see <a href=\"https:\/\/codedoneright.eu\/?page_id=557\">this<\/a> page.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">First time run<\/h4>\n\n\n\n<p>Service is almost complete. Access your server with the following link<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>your.raspberry.ip.address\/nextcloud\/<\/code><\/pre>\n\n\n\n<p><strong>CAUTION<\/strong> you may run into an error stating that you require additional PHP modules. It will look similar to the below screenshot. Check the beginning of this tutorial to see how to fix that!<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_php_modules.png\" alt=\"\" class=\"wp-image-724\" width=\"356\" height=\"324\" srcset=\"https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_php_modules.png 712w, https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_php_modules-300x273.png 300w\" sizes=\"(max-width: 356px) 100vw, 356px\" \/><figcaption>Missing PHP modules error<\/figcaption><\/figure><\/div>\n\n\n<p>After installation of all required PHP modules and refreshing the page, you will be presented with the following screen<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"342\" height=\"1024\" src=\"https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_installation-342x1024.png\" alt=\"\" class=\"wp-image-725\" srcset=\"https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_installation-342x1024.png 342w, https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_installation-100x300.png 100w, https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_installation.png 414w\" sizes=\"(max-width: 342px) 100vw, 342px\" \/><figcaption>Nextcloud installation wizard<\/figcaption><\/figure><\/div>\n\n\n<p>Now you will need to input some information<\/p>\n\n\n\n<ul><li><strong>Username<\/strong> \u2013 this will be the name of your administrative account<\/li><li><strong>Password<\/strong> \u2013 password for the above account, make sure to put it correctly, as Nextcloud does not ask you to repeat the password to make sure you put it right!<\/li><\/ul>\n\n\n\n<ul><li><strong>Database user<\/strong> \u2013 put the MySQL database user name created for Nextcloud<\/li><li><strong>Database password<\/strong> \u2013 put the MySQL database user password<\/li><li><strong>Database name<\/strong> \u2013 put the MySQL database name<\/li><li>localhost \u2013 leave as <em>localhost<\/em><\/li><\/ul>\n\n\n\n<p><strong>NOTE<\/strong> It is a good idea to uncheck the box next to <em>Install recommended apps<\/em>, you can always install additional plugins as you go. <\/p>\n\n\n\n<p>Now click on the big <em>Finish setup<\/em> button at the bottom!<\/p>\n\n\n\n<p><strong>CAUTION<\/strong> beware, the installation takes a long time. Do not close the page before it is completed! On Pi0 it takes about 20 minutes!<\/p>\n\n\n\n<p><strong>NOTE<\/strong> if something goes wrong here \u2013 delete and recreate your database, additionally wipe your <em>\/var\/www\/nextcloud<\/em> folder and download files anew. Should be a quick process, now that you know how to do it. You have to do it this way because your admin account will be created and only some portion of the database, leaving the service inoperable.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">First time login<\/h4>\n\n\n\n<p>After the installation is completed, you will be redirected automatically to a website similar to the below<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"1024\" src=\"https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_initial-1019x1024.png\" alt=\"nextcloud initial login\" class=\"wp-image-754\" srcset=\"https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_initial-1019x1024.png 1019w, https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_initial-300x300.png 300w, https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_initial-150x150.png 150w, https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_initial-768x772.png 768w, https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_initial-230x230.png 230w, https:\/\/codedoneright.eu\/wp-content\/uploads\/nextcloud_initial.png 1277w\" sizes=\"(max-width: 1019px) 100vw, 1019px\" \/><\/figure><\/div>\n\n\n<p>You have been automatically logged with your administrative account that you created during installation process. Nextcloud, by default, placed some files in your account. A user manual is among them. You can see the files in the center of your screen.<\/p>\n\n\n\n<p>If you are familiar with cloud based file hosting, you should feel like home.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Creating additional users<\/h4>\n\n\n\n<p>Using administrative account for file storage is not the best idea out there. Create a new user for yourself with unlimited data cap. If you plan on granting additional people ability to store files on your server, you may create accounts for them as well.<\/p>\n\n\n\n<p><strong>CAUTION<\/strong> Nextcloud service accounts are separate form server users.<\/p>\n\n\n\n<p>To set up an additional account <\/p>\n\n\n\n<ul><li>Click on the round icon in the upper right corner of your screen (either a cog or an initial of your username)<\/li><li>Select <em>Users<\/em><\/li><li>On the left hand side click <em>+ New user<\/em><\/li><li>Fill out <em>Username<\/em>, <em>Password<\/em> and <em>Default quota<\/em><\/li><li>Click on the big blue button on your right with a check mark to finish<\/li><\/ul>\n\n\n\n<p>You may change all user data at a later time.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Common errors<\/h4>\n\n\n\n<h6 class=\"wp-block-heading\">You are using a fallback implementation<\/h6>\n\n\n\n<p>If you navigate to <em>Settings \/ Administration \/ Logging<\/em> you may encounter the following error being spammed every second<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Error: You are using a fallback implementation of the intl extension. Installing the native one is highly recommended instead.<\/code><\/pre>\n\n\n\n<p>This just means that you need one more PHP module called <em>intl<\/em>. Scroll up to learn how to install it.<\/p>\n\n\n\n<h6 class=\"wp-block-heading\">Some files have not passed the integrity check error<\/h6>\n\n\n\n<p>If you navigate to <em>Settings \/ Administration \/ Overview<\/em> you may encounter the following error<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>Some files have not passed the integrity check. Further information on how to resolve this issue can be found in the documentation. (List of invalid files\u2026 \/ Rescan\u2026)<\/code><\/pre>\n\n\n\n<p>It notifies you that either your <em>User data<\/em> folder (<em>\/nextcloud<\/em> in our example) or <em>Service<\/em> folder (<em>\/var\/www\/nextcloud<\/em> in our example) have additional files that are not supplied with installation or did not come from the installation zip package.<\/p>\n\n\n\n<p>To resolve it, remove the leftover <em>zip file<\/em> and <em>nextcloud<\/em> folder from <em>\/var\/www\/nextcloud<\/em><\/p>\n\n\n\n<p>If you have mounted external storage directly in your <em>\/nextcloud<\/em> folder, it will contain additional Linux folders which will produce said error.<\/p>\n\n\n\n<p>To resolve it, create a folder <strong>specifically<\/strong> for mounting your storage and after mounting a drive, create your <em>Nextcloud User data<\/em> folder <strong>inside the storage<\/strong> instead of using the actual storage itself. Like so<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>\/external_ssd\/nextcloud<\/code><\/pre>\n\n\n\n<p>Where <em>\/external_ssd<\/em> is the folder for mounting your drive. I know, sounds difficult, just practice <a href=\"https:\/\/codedoneright.eu\/?page_id=620\">mounting external drives<\/a> and you will understand it in no time.<\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Changing PHP memory limit<\/h4>\n\n\n\n<p>By default PHP is alloted 128MB of RAM. You need at least 512MB to use the service comfortably. Nothing is preventing you from setting up a higher number, however, remember that it will be reserved for PHP and your server OS, and other services for that matter, need RAM as well. Do not go overboard. If in doubt just set up 512MB.<\/p>\n\n\n\n<p><strong>CAUTION<\/strong> RaspberryPi 0 has only 512MB of RAM. If you set PHP memory to 512MB your system will crash as there will be no memory left for anything.<\/p>\n\n\n\n<p>To change PHP memory limit run the following command<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>sudo nano \/etc\/php\/7.3\/apache2\/php.ini<\/code><\/pre>\n\n\n\n<p><strong>CAUTION<\/strong> if you have different PHP version you will have to amend the path accordingly! At the time of writing PHP version available for Raspbian is <em>php7.3<\/em>. In general, you are looking for <em>php.ini<\/em> file.<\/p>\n\n\n\n<p>Now move down until you get to <em>Resource Limits<\/em> section of the file. Find the following line <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>memory_limit = 128M<\/code><\/pre>\n\n\n\n<p>And change it to <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>memory_limit = 512M<\/code><\/pre>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Accessing your Nextcloud outside of your local network<\/h4>\n\n\n\n<p>It is possible, and quite easy, to access your server from outside. All you have to do is forward ports on your router so that they are pointing to your server on local network.<\/p>\n\n\n\n<p>Learn how to do that <a href=\"https:\/\/codedoneright.eu\/?page_id=375\">here<\/a><\/p>\n\n\n\n<p>Nextcloud, being web-based service uses port <em>80<\/em> for unencrypted connection, and <em>443<\/em> for encrypted.<\/p>\n\n\n\n<p><strong>CAUTION<\/strong> without a domain and an SSL certificate ALL your data is sent unencrypted in the open and can be spoofed. Without encryption via <em>https<\/em> it is unwise to transfer any sensitive data. In all honesty even logging in is not recommended, as your password might get stolen, especially through a public Wi-Fi.<\/p>\n\n\n\n<p>Learn how to get a free domain and configure it <a href=\"https:\/\/codedoneright.eu\/?page_id=309\">here<\/a><\/p>\n\n\n\n<p>Learn how to get a free SSL certificate for your server <a href=\"https:\/\/codedoneright.eu\/?page_id=583\">here<\/a><\/p>\n\n\n\n<div style=\"height:56px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h4 class=\"wp-block-heading\">Conclusion<\/h4>\n\n\n\n<p>Setting up your very own cloud based file hosting is quite easy, takes about an hour if you understand the process. However, it is imperative that you use SSL encryption to protect your data. Now depending on your internet connection upload and download speeds might not be satisfactory for transferring larger files such as movies, music, your Photoshop PSD files etc. but it will be perfect for smaller documents. And more importantly \u2013 you will have access to them wherever you want, provided you paid your power and ISP bills on time.<\/p>\n\n\n\n<p>Is something unclear? Did I miss something? Have a question? Leave a comment below.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nextcloud is a service that mirrors functionality of cloud storage services like Dropbox or Google Drive, except you can run it on your own server. Forget about space restrictions, you will be bound only by the amount of storage plugged&hellip; <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":483,"menu_order":35,"comment_status":"open","ping_status":"closed","template":"","meta":{"footnotes":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v23.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Nextcloud \u2013 your own cloud service &#8212; Code Done Right!<\/title>\n<meta name=\"description\" content=\"Set up your very own Nextcloud service that is accessible from anywhere. Bypass Dropbox and Google Drive restrictions by using your own hard drive!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/codedoneright.eu\/?page_id=665\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:title\" content=\"Nextcloud \u2013 your own cloud service &#8212; Code Done Right!\" \/>\n<meta name=\"twitter:description\" content=\"Set up your very own Nextcloud service that is accessible from anywhere. Bypass Dropbox and Google Drive restrictions by using your own hard drive!\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/nextcloud.com\/media\/screenshot.png\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/codedoneright.eu\/?page_id=665\",\"url\":\"https:\/\/codedoneright.eu\/?page_id=665\",\"name\":\"Nextcloud \u2013 your own cloud service &#8212; Code Done Right!\",\"isPartOf\":{\"@id\":\"https:\/\/codedoneright.eu\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/codedoneright.eu\/?page_id=665#primaryimage\"},\"image\":{\"@id\":\"https:\/\/codedoneright.eu\/?page_id=665#primaryimage\"},\"thumbnailUrl\":\"https:\/\/nextcloud.com\/media\/screenshot.png\",\"datePublished\":\"2020-02-24T16:35:21+00:00\",\"dateModified\":\"2022-11-16T11:43:54+00:00\",\"description\":\"Set up your very own Nextcloud service that is accessible from anywhere. Bypass Dropbox and Google Drive restrictions by using your own hard drive!\",\"breadcrumb\":{\"@id\":\"https:\/\/codedoneright.eu\/?page_id=665#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/codedoneright.eu\/?page_id=665\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codedoneright.eu\/?page_id=665#primaryimage\",\"url\":\"https:\/\/nextcloud.com\/media\/screenshot.png\",\"contentUrl\":\"https:\/\/nextcloud.com\/media\/screenshot.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/codedoneright.eu\/?page_id=665#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/codedoneright.eu\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Server features\",\"item\":\"https:\/\/codedoneright.eu\/?page_id=483\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Nextcloud\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/codedoneright.eu\/#website\",\"url\":\"https:\/\/codedoneright.eu\/\",\"name\":\"Code Done Right!\",\"description\":\"Raspberry Pi server guides\",\"publisher\":{\"@id\":\"https:\/\/codedoneright.eu\/#\/schema\/person\/50378701e349dbd5d40888bc5b532568\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/codedoneright.eu\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/codedoneright.eu\/#\/schema\/person\/50378701e349dbd5d40888bc5b532568\",\"name\":\"CodeDoneRight\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/codedoneright.eu\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/codedoneright.eu\/wp-content\/uploads\/www_icon.png\",\"contentUrl\":\"https:\/\/codedoneright.eu\/wp-content\/uploads\/www_icon.png\",\"width\":120,\"height\":120,\"caption\":\"CodeDoneRight\"},\"logo\":{\"@id\":\"https:\/\/codedoneright.eu\/#\/schema\/person\/image\/\"},\"sameAs\":[\"https:\/\/codedoneright.eu\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Nextcloud \u2013 your own cloud service &#8212; Code Done Right!","description":"Set up your very own Nextcloud service that is accessible from anywhere. Bypass Dropbox and Google Drive restrictions by using your own hard drive!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/codedoneright.eu\/?page_id=665","twitter_card":"summary_large_image","twitter_title":"Nextcloud \u2013 your own cloud service &#8212; Code Done Right!","twitter_description":"Set up your very own Nextcloud service that is accessible from anywhere. Bypass Dropbox and Google Drive restrictions by using your own hard drive!","twitter_image":"https:\/\/nextcloud.com\/media\/screenshot.png","twitter_misc":{"Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/codedoneright.eu\/?page_id=665","url":"https:\/\/codedoneright.eu\/?page_id=665","name":"Nextcloud \u2013 your own cloud service &#8212; Code Done Right!","isPartOf":{"@id":"https:\/\/codedoneright.eu\/#website"},"primaryImageOfPage":{"@id":"https:\/\/codedoneright.eu\/?page_id=665#primaryimage"},"image":{"@id":"https:\/\/codedoneright.eu\/?page_id=665#primaryimage"},"thumbnailUrl":"https:\/\/nextcloud.com\/media\/screenshot.png","datePublished":"2020-02-24T16:35:21+00:00","dateModified":"2022-11-16T11:43:54+00:00","description":"Set up your very own Nextcloud service that is accessible from anywhere. Bypass Dropbox and Google Drive restrictions by using your own hard drive!","breadcrumb":{"@id":"https:\/\/codedoneright.eu\/?page_id=665#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/codedoneright.eu\/?page_id=665"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codedoneright.eu\/?page_id=665#primaryimage","url":"https:\/\/nextcloud.com\/media\/screenshot.png","contentUrl":"https:\/\/nextcloud.com\/media\/screenshot.png"},{"@type":"BreadcrumbList","@id":"https:\/\/codedoneright.eu\/?page_id=665#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/codedoneright.eu\/"},{"@type":"ListItem","position":2,"name":"Server features","item":"https:\/\/codedoneright.eu\/?page_id=483"},{"@type":"ListItem","position":3,"name":"Nextcloud"}]},{"@type":"WebSite","@id":"https:\/\/codedoneright.eu\/#website","url":"https:\/\/codedoneright.eu\/","name":"Code Done Right!","description":"Raspberry Pi server guides","publisher":{"@id":"https:\/\/codedoneright.eu\/#\/schema\/person\/50378701e349dbd5d40888bc5b532568"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/codedoneright.eu\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/codedoneright.eu\/#\/schema\/person\/50378701e349dbd5d40888bc5b532568","name":"CodeDoneRight","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/codedoneright.eu\/#\/schema\/person\/image\/","url":"https:\/\/codedoneright.eu\/wp-content\/uploads\/www_icon.png","contentUrl":"https:\/\/codedoneright.eu\/wp-content\/uploads\/www_icon.png","width":120,"height":120,"caption":"CodeDoneRight"},"logo":{"@id":"https:\/\/codedoneright.eu\/#\/schema\/person\/image\/"},"sameAs":["https:\/\/codedoneright.eu"]}]}},"_links":{"self":[{"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages\/665"}],"collection":[{"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=665"}],"version-history":[{"count":45,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages\/665\/revisions"}],"predecessor-version":[{"id":1783,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages\/665\/revisions\/1783"}],"up":[{"embeddable":true,"href":"https:\/\/codedoneright.eu\/index.php?rest_route=\/wp\/v2\/pages\/483"}],"wp:attachment":[{"href":"https:\/\/codedoneright.eu\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=665"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}