Brief Summary
This video provides a comprehensive guide on setting up Nextcloud using Nextcloud AIO (All-in-One) on a Linode server. It covers everything from initial server setup and domain configuration to installing Docker, running Nextcloud AIO, and basic usage. The guide emphasizes the performance and compatibility benefits of using Nextcloud AIO with Docker compared to other installation methods like manual installs or snap packages.
- Setting up Nextcloud AIO on a Linode server.
- Configuring domain settings and DNS records for Nextcloud.
- Installing Docker and running Nextcloud AIO containers.
- Basic Nextcloud setup, including user login and password changes.
The video introduces Nextcloud AIO (All-in-One) as a relatively new and improved method for setting up Nextcloud, highlighting its superior performance and compatibility compared to manual installations or snap packages, especially for office server applications. The tutorial will guide viewers through setting up Nextcloud AIO on Linode, though most steps are applicable to other environments like home labs or other cloud providers. The presenter also mentions a promotional offer for a $100 60-day credit for Linode, encouraging viewers to follow along.
The presenter walks through the initial setup of a Linode server, selecting Ubuntu 22.04 LTS as the operating system, choosing a server region, and opting for the Nanode 2GB plan. A label is assigned to the Linode instance, and a strong root password is set. The presenter also mentions having a separate video for setting up an Ubuntu server on local hardware.
The video explains how to set up a domain name for the Nextcloud instance to enable SSL certificates. While using a domain name is optional, it's recommended for security. The presenter uses Hopkey.net as the domain and guides viewers on adding A records to point the subdomain nextcloud.hopkey.net to the Linode server's IP addresses (both IPv4 and IPv6). It's noted that DNS propagation may take between 30 minutes to a day.
The presenter demonstrates how to connect to the Linode server via SSH using the root account. The SSH access information is copied from the Linode dashboard, and the presenter connects to the server using a terminal, accepting the server's authenticity and entering the root password.
To enhance security, a limited sudo user is created. The presenter uses the adduser command to create a new user named "Brandon," setting a strong password and skipping the optional personal information prompts. This new user is then added to the sudo group using the usermod command, granting them administrative privileges. The presenter then exits the root SSH session and reconnects using the newly created user.
The presenter emphasizes the importance of updating the server to ensure it has the latest security patches. The commands sudo apt update and sudo apt upgrade are used to update the package lists and upgrade the installed packages. The presenter confirms the installation of security updates and acknowledges that a kernel update is available, which will require a reboot later.
The video guides viewers through changing the server's hostname from the default "localhost" to the desired domain name. The hostname command is used to check the current hostname, and then the /etc/hostname file is edited using sudo nano -c to set the new hostname to "nextcloud.hopkey.net."
The presenter explains how to change the server's timezone using the timedatectl command. The current timezone is checked, and then the timedatectl list-timezones command is used to find the correct timezone. Finally, the sudo timedatectl set-timezone command is used to set the timezone to "America/Los_Angeles." The presenter notes the importance of matching the server's timezone to the selected region in Linode.
Before rebooting the server, the presenter demonstrates how to check if the DNS has propagated correctly using the nslookup command. By querying the subdomain "nextcloud.hopkey.net," the presenter verifies that the IP address is correctly resolved, indicating that the DNS settings are properly configured.
To further enhance security, the presenter disables SSH login for the root user. This is done by editing the /etc/ssh/sshd_config file using sudo nano. The PermitRootLogin option is changed from "yes" to "no," and the SSH service is restarted using sudo systemctl restart sshd. This prevents direct root login via SSH, forcing users to log in with a limited user account and then escalate privileges using sudo.
The video details the process of opening the necessary ports in the server's firewall to allow access to Nextcloud. The presenter first enables the UFW (Uncomplicated Firewall) using sudo ufw enable. Then, specific ports are opened using sudo ufw allow, including ports 80, 443, 8080, and 3478, covering HTTP, HTTPS, and Nextcloud Talk functionalities.
The presenter begins the Nextcloud AIO installation by installing Docker. This is done using a curl command to download and execute a script from get.docker.com, which automates the installation process. The presenter references the Nextcloud AIO GitHub page for more information and recommendations.
With Docker installed, the presenter runs the Nextcloud AIO master container using a sudo docker run command. This command pulls the Nextcloud AIO image from Docker Hub, sets up port mappings, defines volumes for persistent data, and configures the container to restart automatically. The presenter explains the importance of the port configurations and volume settings for the proper functioning of Nextcloud AIO.
After running the Docker container, the presenter explains how to access the Nextcloud AIO interface. Depending on whether a domain name is used, the interface can be accessed via the server's internal IP address at port 8080 or via the domain name at port 8443. The presenter navigates to the domain name with the specified port, emphasizing the need to use HTTPS. The initial password for the AIO instance is displayed in the Docker container logs, which the presenter copies and saves.
The presenter logs into the Nextcloud AIO setup dashboard using the initial password obtained from the Docker container logs. The initial setup involves entering the domain name (nextcloud.hopkey.net) and selecting either OnlyOffice or Collabora as the office suite. The presenter chooses the default Collabora option and starts the containers, which initiates the deployment of various Docker containers for Nextcloud AIO.
Once the containers are running, the presenter navigates to the Nextcloud instance and logs in using the initial username and password provided in the AIO dashboard. The presenter notes that the initial load may be slow but performance improves after the first load.
After successfully logging in, the presenter recommends changing the default password. This can be done in the settings under security.
The presenter provides a quick demo of Nextcloud Office, highlighting its performance and responsiveness compared to previous installation methods like Snap. The presenter opens a document and demonstrates the typing speed and lack of delay, emphasizing the improved user experience.
The video concludes with a thank you to the sponsor, Linode, and a reminder of the $100 60-day credit available through the link in the description. The presenter reiterates the benefits of using Linode for hosting Nextcloud and other services, mentioning the availability of one-click installers and the performance advantages of using Docker. The presenter encourages viewers to leave comments for more Nextcloud guides and provides a link to a text version of the video's steps.
Summarize any YouTube video in seconds
Get summaries like this one for any video, in your language, with the free Summ app.
Transcript
Full transcript of “DITCH Microsoft/Google with NextCloud AIO! - Server Setup Guide”. Click a timestamp to open the video at that moment. Need another video? Use the YouTube transcript generator.
0:00 hello everybody this is tekka in this video what we are going to be doing is setting up nexcloud and we're going to be doing this with nexcloud Allin one which this is a relatively new product I believe it was announced with the uh nexcloud Hub 2 update which that alone introduced a whole bunch of really cool updates features improvements just all around a fantastic release now personally I've set up nexcloud a number of ways I've done the manual install where you set up your databases the Apache server and everything like that yourself and I've used the snap package now with using nexcloud allinone compared to the other installation methods I found one the performance is substantially better especially on something like a office server whether if you're going to be using nexcloud
0:46 office or only office and in terms of compatibility the nexcloud allinone through Docker seems to be a little bit better than the snap package because the snap package does have issues with some of the plugins that use uh for example FFM Peg now what we're going to be doing in this video is setting it up on the Node the sponsor of today's video but majority of the steps in this can be replicated on a home lab Raspberry Pi another cloud service provider whatever it may be and I actually do have all the steps right here so if you go ahead and go down to the link in the description you could go ahead and easily copy and paste all of these commands so with that for a little note if you use the link in the description you get $100 60-day credit so you could follow along with this right now if you would like to but with that what what we're going to be doing is setting this up on a Ubuntu
1:32 server and we're just going to use the latest 22.4 LTS which is a relatively new release for region I'm going to select what is closest to me which that's this California server for our size I'm going to go with the nanode 2 gig which gives us 2 gigs of RAM and 50 gigs of storage which I honestly recommend this 2 gig plan over the 1 gig it will just run a little bit better and for me on my actual instance I used on a daily basis I'm using the dedicated 4 gig plan so from there we could go and scroll down we could give it a label I'm going to call this next cloud. Hop key. net that's the uh domain name that I'm going to be installing this on give yourself a good root password and if you do need to set up aunu server on some local hardware I do have a separate video going over the typical Ubuntu
2:17 Server installation so with all that looks good let's go ahead and create our Len Noe and now our Len no is being created it's provisioning so I'm going to be doing this with a domain name you don't have to do it with a domain name but I want to be able to have an SSL certificate and all that so if you're going to skip the domain name thing for now that's completely fine I will have timestamps below so you can skip around to the sections of this video that you actually need so with that in the node we have domains right here I'm going to open this up in a new tab and you can see the domains I already have set up you can't purchase domains through the node but you could go to name cheap GoDaddy whatever it may be buy your domain there and then link the name servers to the proper name servers for Len no which I will have on the screen now and below I will link to guides to
3:04 help you set all this up properly once you do have your domain name in here we're going to go over to it so I'm going to click on Hop key. net these are those name servers and what I'm going to want to do is add some a records so I'm going to go back over to our nextcloud instance we just created copy that IP address and then I'm going to add an a record and this is going to be our subdomain so this is going to be nexcloud dohop key. net paste in the IP address hit save and now this step's not completely necessary but you can see here when it you use the the node API it does the IPv6 stuff automatically for you so we might as well set that up too so we're going to go over here again type in nextcloud once again and then I'm going to copy the IPv6 address and paste that in right there click save so
3:51 now we have our subdomain completely set up now if you did just link your domain to Len Noe it might take anywhere from 30 minutes to a day to completely allow the DNS servers to propagate so just keep note of that and later in this video I will show you how to check to see if that is ready so over here on our l no dashboard we can launch the Lish console to make sure that it's completely booted up and right here you can see Ubuntu Local Host it's ready to go so we can copy this SSH access for the root account open up our terminal and from here we're going to go ahead and connect so I'm make this a little bit bigger than that paste this in hit enter this is our server so it's safe I'm going to say yes and then we're going to type in our
4:37 password and now before we actually set up Docker the next Cloud instance and all that there's some general server administrative stuff that we're going to want to do to make sure everything just works properly and is as secure as possible so the first thing we're going to do is create a limited sudo user so to do this we just want to type in add user and the username that you want to choose for this instance I'm going to go with Brandon hit enter here you're going to want to make sure give it a strong complicated and secure password and now it's going to ask for some basic information about yourself uh if there you don't have other accounts or other people accessing the server this really doesn't matter so I'm going to go ahead and just hit enter to skip these for now hit enter to confirm that's correct and now with that user created what we're
5:23 going to want to do is add this user to the pseudo users and to do this we're just going to type in user mod - A for add to the group and the group is going to be sudu and the user is going to be my username of Brandon so now with that added what we could do is actually type an exit to exit out of that SSH instance and now I'm going to go ahead and change this to the username I just created reconnect type in our password and now you can see I am in this pseudo user so now we can go ahead and update our server very important to make sure we have all the latest security pack patches so pseudo apt update and we can do a pseudo apt upgrade type in your password make sure you type it in correct all right and we
6:10 can see here there are some very important new packages that are going to be installed and we can see that there are 11 standard security updates so of course we're going to hit enter to confirm the installation of all these updates and now for this specific update it looks like there is a new kernel available we should consider rebooting we will be rebooting a little bit later so for now we'll hit okay Tab and okay so now what we're going to do is check our host name our host name right there is Local Host we can already see it but if you do want to check you can just type in host name and we're going to go ahead and edit that and change that to our domain name we're going to be using so to do this we're going to want to do pseudo nano-c and go into our host name file here you could see Local Host what we're going to want to do is change this
6:56 simply to nextcloud do pop.net or whatever domain name you are choosing to use so CR o to Output that and exit now before I reset the service and restart our uh server we're going to want to go ahead and change the time zone so type in time dat CTL hit enter to see if it's already set to the right time zone and you can see right now I'm at UTC plus 0 which that is not correct for what I want if you want to see a list of all the time zones you can just type in uh time date CTL list list Das time zones and then it will give you the full list and if you hold down enter you can kind of scroll through and find whatever it is that you're looking for which for me I'm going to want to change this to
7:41 America Los Angeles so contrl C to get out of there and enter so we're going to want to go pseudo time dat CTL set- time zone America and GES and another important note if you're doing this on like a len node make sure it's the same time zone with whatever server you selected it's just best practiced hit enter okay good to go and now with all that what we can do is a Pudu reboot this is going to disable our connection reboot our server so it should save all these changes and while we wait for it to reboot that's this is where we could actually check to see if our DNS has propagated and it's set up correctly so we can use the NS lookup command and
8:28 we're going to do next class cloud. hopy doet hit enter and you can see we have our IP address right there so everything is set up if it doesn't work for example if I um messed up the IP address it's going to say server can't find that specific domain name that I looked for but since we got this answer back uh we're good to go now as far as rebooting our server you can always go over to your nextcloud dashboard and launch the Lish console to see its progress on actually rebooting because this will show you the actual prompt and terminal before you have SSH access so there we go auntu
9:28 22.04.2012 user or whatever user you went ahead and created and now you can see here if I type in host name we do have the proper host name and then the at nextcloud is that shortened host name that we added to that host's file so now what we're going to do is disable logging into SSH via root this is actually a little security tip I learned from learn Linux TV I do recommend you check out that channel and I'll be linking to one of his videos down below going over some of the things to better secure your servers highly recommend that but this is of them so we're going to do pseudo Nano Etc SSH and then the sdore config file type in your password oh screwed up make sure it's actually s sh there we go okay so now what we're
10:15 going to do is go ahead and scroll down until you see the permit route lockin or log in we're going to want to say no to that save it make sure you didn't skip the step where we created that uh Limited pseudo user before you do this because you want to be able to log in so crl o to save CR X and now what we need to do is restart that service so pseudo uh system CTL and we're going to restart sshd hit enter and we're good to go we shouldn't be able to log in with the rout now so that's helpful and now what we're going to do is open up some ports now I'm going to open up all the ports that nexcloud can use you probably don't have to open up all of them if you're going to just use an IP address for
11:00 example if you want to see more information specifically on all the ports and everything it is on this GitHub page but with that first let's make sure our firewall is actually enabled so it's pseudo ufw here on auntu if you chose a different distribution this may be different go ahead and look up whatever um applications your drro is using so ufw enable just like that it may disrupt SSH connections it shouldn't so we're going to say yes and now it's active and enabled on Startup so now what we're going to do is ufw or pseudo ufw allow and we're going to open up some of these ports so the first one is Port 80 this is just your main nexcloud container and we're going to open up the TCP port and most of these are going to be TCP ports so hit enter the rules have
11:48 been added and now what we're going to do is add the 443 port and this is going to be the Apache container so hit enter and now what we're going to do is the 8080 port and this one for sure needs to be opened if you're going to be doing this just with your IP address hit enter and now what we're going to do is the 80 and 443 TCP port and this one for sure needs to be opened if you're going to be doing this through a domain name and you want to generate an SSL certificate so hit enter and now what we're going to do is open up the proper ports for the nexcloud talk instance and that is going to be 3478 and we're not going to do TCP or anything because we're just going to open both of the ports or both of the connection types so at this point we've done everything we need to do to set up
12:33 our server to get ready for the installation and now it's time for the actual installation this is very easy we're just going to install Docker first we're going to do this with the curl for the gd.com hit enter and then this little script is going to run through everything that it needs to do to properly install Docker and it's actually what's recommended over here on the uh nexcloud all-in-one GitHub page going forward all the information that I'm going to talk about in this video is simply here all right so we are now good to go Docker is installed so to run this what we're going to do is copy and paste this Command right here pseudo Docker run and this is going to be the next Cloud all in one master container restart always so if you restart your
13:20 server it will start up next Cloud then we have our ports for 808080 and 8043 all the volumes and this is going to be under the all-in-one latest you could could change latest if you'd like to but this is what I would recommend you go with refer to that GitHub page for more information hit enter and now it's going to go ahead and pull all the files it needs extract them and then boot up that Docker container or multiple containers you'll see what I'm talking about all right so there we go this is what it's going to look like when the actual Docker container is starting up and then you'll see right here initial start up and next code all inone is complete you can go either to the internal IP of the server at port 8080 or you could go to The Domain that points to this server at Port
14:05 8443 so depending on what you decided to do you're going to want to pick one of these for us we picked nextcloud do or nextcloud do hop. net so we're going to head over to that at Port 8443 if we scroll down here we can kind of monitor to see what it's doing and if there's any errors or Warnings but based on everything we've set up thus far there should not B and again if you want more details of what we're doing right now you can find this right here and if you're doing this on a Raspberry Pi this is the docker command that you're going to want to use or really any other arm CPU so with that I'm going to open up a new tab go to NEX cloud. hop. net at Port
14:51 8443 hit enter oh we're going to want to make sure we go to the https at that address hit enter if we do look at the console over here you can probably see it doing a lot of different stuff but now this is important this is your password to log into your all-in-one instance give this a copy crl C for me I'm actually going to go ahead and paste it into this notepad right here open up a new tab crl +v cuz I do not want to lose that you can change this if you want to but I generally just leave it what it gives me you could save this as an encrypted file print it have a hard copy whatever you need to do so with that copied we're going to want to open the nextcloud all-in-one login paste in our password go to login and then here is our setup dashboard so if
15:37 you've have have a backup you could go ahead and import that here this is our first time setting it up so we do not but what we're going to want to do simply is under the new all-in-one instance we're going to want to type in our domain name so for this it was nextcloud hop. net and if you didn't open up your ports properly and you hit submit you're going to get a little error message right here so if you do get an error at this point that is what is wrong but for here let's hit submit and now we have some additional options now here is where you want to pick either only office or cab collabora which this is the nextcloud office instance or I believe the base is actually lib office so it's super cool but only office is also an option if you do prefer that you're going to want to select one or the other and only office is only supported on x80 or x64 just so
16:25 I can show you what the defaults are uh Jen I like only office because I almost would select this but I just want to kind of go with the defaults for this video hit save changes and now once we click Start containers we're going to get this uh progress bar here now this takes a long time so if it even takes more than like 5 minutes uh that's fine but it should automatically redirect you to where you need to go all right so that took it a little bit we have our containers here and these are all the different separate Docker containers you have Apache database nextcloud and all the others if if you want to here you can stop the containers up here we have our initial nextcloud username and password so I'm going to grab this password real quick give that a copy we have the options for our backup and restore we can change the password of
17:12 this all-in-one dashboard right here if we would like to and additional options which we cannot change because it is currently running so what we're going to do is Click right here open your next Cloud opens up a new tab now the very first time everything loads it's going to be a little sluggish but after everything's loaded at least one time you're going to have some uh pretty good performance so I'm going to paste in that password check it real quick make sure there's no spaces or nothing good log in give that a save and here we go we are now in our very own nexcloud instance on the Node using the allinone docker image and here we go let's go ahead and Skip through this you can read all this if you'd like to and it's cool because you'll get the option to install
17:59 all these apps it all works properly I've been using the docker image for about a week now on my official Tech Hut domain name so if I start using nextcloud the one thing I'd recommend you do is uh I actually didn't but if you want to change the default password it gives you you can go into settings go into security and change it there as well as any other settings you'd like to change throughout here now the one thing I want to point out is if you install this on Snap or even if you do a manual installation a lot of the times the off off servers or like the writer Replacements or things like that is super sluggish like you'll hit a key or you'll hit a letter and there's like a half second delay from where it actually gets printed but in this case if I go ahead and open up this document this is going to open up in next Cloud office
18:45 again we have the only office option if we would like here is a little welcome so we can kind of explore through this if we would like to and it's saying everything is spelled wrong so that's one thing I'm going to have to change my settings but you can see here if I start typing it's instant there's barely any delay it's basically the same performance as like Google services or even like Microsoft 365 or 360 I forgot this specific numbers anyways this it performs remarkably well and when you have multiple people in here it's synced fairly instantaneously so like before it was laggy it was choppy you would be writing fast and it would be skipping along it it this performs really really
19:33 well and that's it for the basic uh installation if you'd like more nextcloud guides on things like setting up shared group folders and getting deck to work right and a whole lot more leave some comments down below and again anything you saw in this video there will be a text version of it linked down below and lastly thank you to the sponsor lenoe I'm doing the ad read at the end because we've used the service throughout the video but Len node is fantastic there are a ton of oneclick installers including a nextcloud one if you don't want to go through everything we just did however I personally prefer the performance of using Docker with the node you could set up various Game servers websites I use it to host my very own nextcloud instance as well as tech hut. TV and like I mentioned
20:20 earlier if you use that link in the description you can get a $100 60-day credit so with all that I do hope you enjoyed this video and I hope you have an absolutely beautiful day and goodbye