What is nextcloud?
Nextcloud Hub is the industry-leading, fully open-source, on-premises content collaboration platform. Teams access, share and edit their documents, chat and participate in video calls and manage their mail and calendar and projects across mobile, desktop and web interfaces.
Nextcloud offers to Put IT back in control
As a vendor of on-premises solutions, Nextcloud puts the customer in control over their data in the most literal and direct sense. Your data is in your data center, on a server managed by you, rather than floating somewhere in the cloud.
Our products integrate powerful capabilities to control and monitor data exchange and communication, including our unique File Access Control and workflow features, extensive audit logs, fine-grained sharing controls and more.
Unlike competitors, we offer hosting strictly through partners and have absolutely no incentive to lock our customers into a SAAS solution ( Source nextcloud.com )
Nextcloud – Security and compliance first
Security and compliance are Nextcloud customers’ greatest concerns and our prime advantage over competitors. By hosting our enterprise product on-premises or in a local data center, compliance questions are resolved in the most transparent way possible. Nextcloud features a host of unique, innovative security technologies from brute force protection to advanced server side and integrated end-to-end, client side encryption with enterprise-grade key handling and a wide range of security hardenings. Our security has been reviewed by trusted third parties and is backed by a USD 10.000 Security Bug Bounty Program, providing the confidence that data meant to stay private will stay private. ( Source nextcloud.com )
Nextcloud – User Focus
At Nextcloud, we believe that an open, transparent development process and a clear focus on the needs of users and customers results in a better product. By working in the open within and with the wider developer- and user community, development is sped up, quality improved and alignment with needs of users improved. Nextcloud Enterprise gives professional organizations software optimized and tested for mission critical environments. See our enterprise page for more information about our Nextcloud Enterprise. Our unique approach to support gives customers what no other vendor can offer: direct access to core Nextcloud engineering expertise without a layer of support people between the customer and the knowledge they need. Learn more on opensource.com. ( Source nextcloud.com )
My experience with Nextcloud
All the above information is from the Nextcloud website, Taken on the day of writing this article, and also user instructions on how to set Nextcloud on your own Linux server, It will take some time to set it up if you have a fresh Linux Dedicated server or VPS, but I will make that easy for you with a single Bash Script, that you will find in the setup guide it will point to my GitHub. Also, we will look into, how to set up Nextcloud using Docker It will be fast so we will start with that and then move to server VPS installation, but keep in mind as my Docker is using an Nginx reverse proxy, then it has some speed limitations of large files, if for some example you decide to also use Cloudflare to hide server location, etc. It will also limit the large file uploads as the free Cloudflare plan not only reduces the speed of file uploads but also limits how large files can travel through their servers. If you don’t like to read, but like to listen, then feel free to watch my YouTube setup guide and all the information:
I know that many companies use Nextcloud internally for file hosting and sharing, as it is easy to maintain can be hosted on Linux servers, and is user-friendly. Yes you can use a SAMBA server in your organization but face it SAMBA is Just file share, it doesn’t protect your user files, let’s imagine a scenario when some employee receives an email and downloads a file that is a locked bit vulnerability and locks the employee device by encrypting all and forcing your organization to pay up in bitcoin to recover the files, with Nextcloud you don’t need to worry about this kind scenario as you can reinstall employees device and download files from the cloud even in the right version, as Nextcloud offer version control for the files.
Therefore you are more secure and if you have a VPN ( How to setup a VPN ) or want to risk and keep Nextcloud open to the network, then your Nextcloud users can connect from any place and also use mobile ( Android and IOS ) apps. Also due to situations when a user needs to work from home, then you can also use Nextcloud even if a new office employee starts working and you don’t have a powerful laptop to provide then with Nextcloud you can save this issue, by Just providing a login as Nextcloud has a lot of great integrations and functions like an e-mail client, calendar, a built-in office suite ( Opensource Excel, Word, and Powerpoint ) and you can get more useful tools, like planers, tasks, ticket systems, etc. By the way, Nextcloud also offers voice, and video calls and Chats, and all are hosted on your server on your network all that is in your own or your System administrator’s control, and nobody outside can read or leak your data. The Nextcloud files can be encrypted you can turn on the function also you can encrypt the MySQL database there is no issue with that.
Some people don’t trust something that is free, as we all know even the cheese in the mouse trap isn’t for free. So the public clouds, that offer free services have proven that they aren’t great and that some things are better to be hosted by yourself or in your own house as then you can keep control of your data and security of your data and know that any organization is not reading your plans or what you are planning to do, as in the digital era all organizations that offer free services are just profiting from something else by selling something to the highest bidder.
I know organizations, that keep their data secure in their own house hosting on their own servers and using Nextcloud functions they connect massive data storages to have the needed space, one part is the data privacy as they are law firms and financial institutions and their privacy is client data, that they don’t trust to google or Microsoft, therefore, they host their own servers in secure data centers and have specific admins looking after them, at the same time they actually save in finances on this not only keep their data secure but don’t spend too much. I personally also use Nextcloud, but I host it on a VPS where I have encrypted all and have several security filters. I know that the data that I put there is secure and only accessible to me from my specific IP and I would say, that I like what Nextcloud offers and what they do, they are doing an amazing job, and their solution is good, sure not 100% perfect as there are some things that I personally think they should be adding, for example, Microsoft SQL as a database, better e-mail client were you can add signatures as the current one doesn’t allow that and some minor things, that I will not go into details here. I personally suggest that you try out Nextcloud if you have some VPS, Server, or Docker instance, you can also try it out on your Laptop and Desktop with VirtualBox or VMware has released some free virtualization as VirtualBox. As each person has their own needs, so try it out and maybe you will find a good solution for your personal or business use. With all that said let’s start setting it up ( installing ) it will be easy.
Use Nextcloud in a Docker container
First, we need a Working Docker environment, if you don’t have one then you can learn, how to set it up by clicking here
Second: If you want to use Docker with Nginx reverse proxy ( what is Nginx reverse proxy? That is what forwards you to the let’s say Nextcloud or website hosted on docker without entering :port for example if I use Nginx proxy I can go to http://valters.eu and it will open my website, if I don’t use Nginx reverse proxy, then I would need to know the port of container and go http://valters.eu:88 ( 88 is the port that would be assigned to the container ) The user guide on how to set up Nginx Proxy and also Let’s Encrypt to have automated https:// that is certified and encrypts your data you can find it by clicking here or watch the video by clicking here
The third thing is MySQL we need to Run a Docker Container with MySQL and create a MySQL database and MySQL user – the instructions can be found by clicking here ( if you don’t have an internal Docker network but would like to have one and have fewer headaches then by clicking here you can find a user guide on how to do that – It is fast and easy )
Once we have all the needed components, now we can execute, the following command to run a Nextcloud Docker container, at first it will download the needed Nextcloud latest image and then we will move to the installation part.
docker run -d --hostname=valters.eu --name=valters.eu --network=valters -p 330:80 -p 430:443 -e VIRTUAL_HOST=valters.eu -e [email protected] -e LETSENCRYPT_HOST=valters.eu -v /srv/containers/test/cache/nextcloud:/var/www/html -v /srv/containers/test/apps:/var/www/html/custom_apps -v /srv/containers/test/config:/var/www/html/config -v /srv/containers/test/data:/var/www/html/data nextcloud:latest
Now about the above command.
You need to replace valters.eu with your domain or subdomain, also the ports if you using Nginx reverse proxy and have already configured, the same is for the e-mail address and location on the server to keep the data, configuration, themes, etc. – More information can be found in the YouTube video Why such a way by clicking here
All Docker parameters can be found by clicking here but in the video explained.
Once we have done the above it should download the Nextcloud docker container’s Latest version. After that is done it will start your container and we can go into https://your-domain-name.com or https://your-subdomain-name.com and connect Nextcloud to our MySQL database and Create an Admin user
If all is correct, then you should see exactly the same as in the image. In the Username field enter your admin username ( don’t use admin administrator or root ) and in the Password field a secure at least 15-character long password, that contains Digits, Letters, and special characters.
When you click on storage & database then it will expend and we don’t change our data directory ( Only if you used the specific tag from Nextcloud Docker Hub then you do the change ) we need to specify our MySQL connection information – If you don’t know something then please take a look in the YouTube video as there are more detailed explanation.
If you have filed all successfully and the installer could connect to MySQL database when you clicked Install, then you should be in the next step where Nextcloud offers to install additional default modules, if you skip this part, yes you can install them later, but since it is quickly done, then I would suggest to continue by clicking the Install recommended apps
Now I can congratulate you on a successful installation of your Nextcloud and being a step closer to being the owner of your own data.
This is our default dashboard, which you can customize, on the functionality and usage, also customizations you will find more information in the YouTube video by clicking here I will not go into details, about how to set Android and IoS apps, but it is simple you Just download and install the apps from Google Play or IoS App store and specify hostname https://your-domain-name.com or https://your-subdomain-name.com and your login credentials it will ask to login to Nextcloud that you are hosting, allow the App to access file directory and that is it.
The YouTube Guide: https://youtu.be/IhTBrK8wWRE
My Twitter: https://twitter.com/valters_eu
Nextcloud homepage: https://nextcloud.com
Nextcloud Docker Hub: https://hub.docker.com/_/nextcloud
Nextcloud GitHub: https://github.com/nextcloud