How to set up nextcloud pi for external network

i managed to get the nextcloud 12 up and running with sd card where i flashed the nextcloudpi image…
it works great on LAN but is there some simple manual how to set it up for external network?
I want to use it as regular web cloud

I would like to benefit from the nextclodpi user friendliness but I have no idea how to set it up… if i need server or something like that … meaning i need to buy a domain … or i can run it without it…
i have no clue what NAS means or SSL or something …
Please can you help to understand what direction do I meed to focus my search for advice
thank you

First, I would recommend that you at least learn a bid about the terms you mentioned, before going to open you data to the internet. But as long I am on the bus, I try to give a rough overview.

Usually as home user you will have a dynamic IP address at which your local network is reachable through the internet, so it changes after some hours, a day or something, depending on the internet connection.
This means as long as you don’t want to remember and use the new IP every time for your nextcloud access/sync clients etc. you will eather need a static IP address (your internet provider might offer against certain charge) or a dynamic DNS provider, which is more usual in private cases. You would need to setup your router (e.g.) to sync your dynamic IP with the provider every time it changes and that provider will enable you to reach your local network/nextcloud by a static domain.

You should in between check if you have an IPv4 or IPv6 connection or both. Not every DNS provider offers IPv6 and it also would give you other options than the following. So I will go on, suggesting you have IPv4, which can be checked via router.

Based on your knowledge I guess you have a router in front of your local network where the server and your pc/whatever sits. So to reach the server by the domain instead of just the router, your will need to configure the latter to forward the usual HTTP (80) and HTTPS (443) port requests to the server.

After that is done, your server should be reachable via http requests (browser). To enable the highly recommended encrypted HTTPS for your server, you can most easily install and use letsencrypt/certbot, which is for free and also offered via nextcloudPi gui, as far as I know.

Hope that helps a bid :slight_smile:.


thank you a lot for your info… very helpful

one question still remains unanswered… do I need to buy a domain or is there some way I can create server without that ot get some free solution


Hi, look at these steps

You have to sign up with a DDNS provider but it’s free. NextCloudPi supports two choices: noip and more recently also freeDNS

Just follow the steps in the link

  • go to the NextCloudPi web interface on port 4443
  • update to the latest version with nc-update. Refresh
  • setup a free DDNS account with noip or freeDNS
  • open your ports with nc-forward-ports (NextCloudPi can do it automatically under certain conditions, try it)
  • get a signed certificate with letsencrypt
  • optionally, if you cannot use your domain from inside your house (only the IP), you may have to activate dnsmasq and do some network configuration. Read the link

That way you can access from outside. Don’t forget to change the default admin password before that.

edit: this is now covered in this section of the wiki

1 Like

I want to build on top of what these kind folks have said and give my $0.02. I have been using for my dynamic DNS service. You just sign up with a google/facebook account, enter the name you want (like epicfancypants), and they give you easy instructions on setting up the rest and boom. You have dynamic DNS set up and your dynamic domain name.

For SSL (Secure Socket Layer), or what is now called TLS (Transport Layer Security) I would also like to highly recommend lets encrypt ( If the nextcloud pi image doens’t have easy to use lets encrypt support, see if this works. I wish I could help you beyond what the nextcloud pi image offers, but I only know how to do manual configurations :grin:


Check out our shiny new wiki with a section ‘how to access from outside’

Hi @stratacast,

Thanks for the information

NextCloudPi does have support for letsencrypt (link)

DuckDNS seems a very popular provider and there is a long standing feature request, but none of the developers use it for ourselves. Maybe you can consider hopping in :wink:

It is very easy to add a new functionality. Check out this developer guide, (in progress, will finish it today)

According to what I have seen, it should be fairly similar to the code for freeDNS

This is how that little code looks

The idea behind NextCloudPi is to share our setups with less technically skilled people, so anyone is welcome to make a contribution, big or small.

@nachoparker wow that’s awesome to see! I’d love to see what I can contribute to that

1 Like


it’s pretty easy to create a new function if you can do some scripting. I’ll get back to you when we finish the developer documentation :smiley:

I can script :slight_smile: my only issue right now is I’ll have to bum off my friend’s wifi for this. My home setup is a little too…weird for it to be a good testbed for the average user’s configuration lol

awesome! I suggest you try NextCloudPi then, will get back to you soon

Please do! I have a preliminary script ready to go, when I get hands on a Pi I’ll test it myself. Otherwise I need to figure out how to use GitHub haha

sweet, your code is going to be really similar to the one for freeDNS (link above)

so you can get inspiration there :wink:

About the sections like install() and configure() and the format of the variables don’t worry right now. It’s easy, it will be explain in the dev documentation

Ask anything :stuck_out_tongue:

HI @nachoparker

I managed to connect it from outside I actually tried both versions the No-IP ans well as the Free DSN.
Question : which one is faster or better or what is the main difference. Just for me to understand which one to choose.

Then I tried to run the letsencrypt but with the free dsn i got an error message saying that there are too many requests from that domain and for no-ip it looks like it went ok but i also got a strange message (see picture)

I am bit worried now … (thats why i disabled the access from outside at the moment)… is the letsencrypt active or not.
how do i know it is active. is there a check next to letsencrypt in the WebUI ?

Thank you and your guide is very helpfull.

Good job!

Well I have only used noip. The bad thing about noip is that you have to click a link on an email once a month in order to continue using the free service. Not a big deal.

I think that with freeDNS you don’t have to do any of that, but idk if there’s other restrictions.

Your let’s encrypt certificates were sucessfully installed ( and it says they are not due for renewal = up to date ).

You can see that it is working fine by opening your Nextcloud instance. You should see your green lock that you can click and that means it’s ok.

You can learn more here

Actually the warning from your screenshot I had not seen before. I’ll fix it. Thanks!

this is the error i get from the free dns
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Obtaining a new certificate
Performing the following challenges:
http-01 challenge for ******
Using the webroot path /var/www/nextcloud for all unmatched domains.
Waiting for verification…
Cleaning up challenges
An unexpected error occurred:
There were too many requests of a given type :: Error creating new cert :: too many certificates already issued for:
Please see the logfiles in /var/log/letsencrypt for more details.

meaning exactly what you can read: apparenty letsencrypt issued too many certs for - it’s just unclear if it’s meant for today or in general. if it means for today: just try it again morning before noon. maybe even in the morning.

plus: it might me helpful to post the logfile.details in the given file(s)

HI @nachoparker
did anything changed in the manual or in the latest version in regards to the external usb drive.
I am not able to redirect the data from the sd card to the usb drive…
I follow the steps. format the drive… Label: myCloudDrive

but i get this screen

i tried the process mentioned below few times …

"First, you can format your external drive with the nc-format-USB feature. FAT32 or NTFS filesystems are not supported.

Then, you can enable the nc-automount feature. This will result in your drives being auto-mounted to /media

Finally, set your Nextcloud data folder in the drive using nc-datadir."

… and I kept the default values in …but no success… i tried to upload some files but then i got error message that the storage is full…

how can i solve this. … i tried the wiki but … found same thing…



I suggest that you use the web interface. It is easier that taking pictures from the TV :wink:

See this link to learn how to get the IP address (will be shown on the screen of your TV in your case)
See this link in the webUI section to see how to access the web interface.

Then, update to the latest version, using nc-update from the web or from nextcloudpi-config.

Then, try again nc-format-USB. In the web you get a red dot if there are errors.

Tell us how it goes!

one more thing,

if format fails, try to turn off nc-automount before doing nc-format-USB!

never happened to me but could be a reason