Episode 3: Setting up your personal server

121 views
Skip to first unread message

Michiel B. de Jong

unread,
Jan 1, 2013, 4:41:44 AM1/1/13
to unho...@googlegroups.com
Happy new year!

Thanks for all the feedback about the landing page and what should be on there, especially for first-time visitors.

First, as a quick-fix, I corrected the "link weight" which was probably 90% blog, 5% remotestorage and 5% unconference, to be equal
weights on https://unhosted.org/

I talked about it this morning with Sebastian, and I will make a new landing page that has:

1) summary
2) advantages
3) resources

where summary and advantages will be taken from https://unhosted.org/index-removed.html and resources will be
taken from https://unhosted.org/developer.html

Hopefully that will make everything a bit less confusing, especially for new arrivers. So since it's already Tuesday again,
here's the next episode in the official No Cookie Crew handbook! :)

> Episode 3: Setting up your personal server
> Why you need a server
>
> Last week we created an unhosted javascript/html/markdown editor that can run on a data URL, create other apps as data URLs,
> load files from the local file system, and (sort of clumsily) also save them again. This doesn't however allow us to
> communicate with other devices, nor with other users, let alone people in other "web 2.0 worlds". At some point we will want
> to send and receive emails and chat messages, so to do those thing with an unhosted web app, we need a sort of proxy server.
> [...]

Link: https://unhosted.org/adventures/3/Setting-up-your-personal-server.html

Feedback welcome!


Ciao,
Michiel

Leen Besselink

unread,
Jan 1, 2013, 5:17:05 AM1/1/13
to unho...@googlegroups.com
On Tue, Jan 01, 2013 at 03:41:44AM -0600, Michiel B. de Jong wrote:
> Happy new year!

Hi Michiel and others,

Happy new year for all of you !
I've been thinking, this might be a lot to set up for most people ?

a virtual private server (VPS),
a domain name registration (DNR),
a zone record at a domain name service (DNS), and
a secure server certificate (TLS).

So I was just thinking, what about "usability" and cost. I'm thinking could we improve on that even more.

Would it not be a good idea to have a provider setup a *.domain.tld which already has all these properties ?

Where people can register (pay for ?) their own VPS myname.domain.tld and myname.tld if all these applications support HTTP-redirection / discovery
then they could redirect from myname.tld to myname.domain.tld

There would be no TLS to pay and everything could be configured for them with node.js preinstalled.

But because everything is tied to their myname.tld they would be able to easily change providers.

Or maybe I'm just slightly crazy and this model doesn't fit the Unhosted-community at all. And they want more control of their fate ?

Could something like Nodejitsu not be more approprioate (yes, cheaper) ?

It even comes with the 'Free SSL on *.nodejitsu.com'

(I've never used Nodejitsu, I did use no.de from Joyent in the past and I believe they moved all their customers to Nodejitsu which now runs all their services on Joyent)

>
> Ciao,
> Michiel
>
> --
>
>
>

Leen Besselink

unread,
Jan 1, 2013, 5:53:21 AM1/1/13
to unho...@googlegroups.com
Have to admit, maybe it isn't such a great idea.

As there would be no HTTPS on domain.tld, to easy to hijack.

But more automation would make it easier.

> >
> > Ciao,
> > Michiel
> >
> > --
> >
> >
> >
>
> --
>
>
>

Jonas S Karlsson (☯大鱼)

unread,
Jan 1, 2013, 11:08:41 AM1/1/13
to unho...@googlegroups.com

This is interesting...

http://www.devworx.in/news/misc/chrome-apps-can-now-run-a-web-server-135711.html

Only no chrome apps on mobile and android :-(

I think running your own server on vps is to expensive, I'm starting to get more convinced that running/installing an app (webserver) on android device might be better... For sure simpler... we just need some redundancy built into storage and serving

--



Faried Nawaz

unread,
Feb 15, 2013, 3:40:22 PM2/15/13
to Unhosted Web Apps
I'm slowly going through the episodes, only this time actually setting
the software up. In this episode, using node-static 0.6.7, the server
needs be set up like

var file = new(static.Server)(config.contentDir, {
headers: {
'Access-Control-Allow-Origin': '*'
}
});

and not

var file = new(static.Server)(config.contentDir, {
'Access-Control-Allow-Origin': '*'
});


Thanks,

Faried.

Michiel de Jong

unread,
Feb 15, 2013, 11:41:09 PM2/15/13
to unho...@googlegroups.com
Hi Faried,

Thanks for the bugfix! Nice to hear you are setting up the code examples.

It was indeed actually not setting the header on my one either,
I corrected it:

https://unhosted.org/adventures/3/Setting-up-your-personal-server.html

Cheers!
Michiel


--

---
You received this message because you are subscribed to the Google Groups "Unhosted Web Apps" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unhosted+u...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.



Philipp Pirozhkov

unread,
Jul 4, 2013, 7:05:16 PM7/4/13
to unho...@googlegroups.com, mic...@michielbdejong.com
Hey Michiel,

Reading through unhosted, and https://unhosted.org/adventures/3/Setting-up-your-personal-server.html mentions that "you cannot create endless subdomains", why? You can get a free SSL certificate for each subdomain you wish to protect. Not sure if node.js can handle that, but you can set up nginx in front of it and this will do the job. nginx approach has yet another advantage: you don't have to run node as root. You can also keep certificate's private key out of reach of node application in case someone finds a hole in it. Simple as `apt-get install nginx` and editing a simple config file.

Some gotchas:
 - getting started leads to http://remotestorage.io/integrate with no return back to unhosted

BTW you can get 256mb hosting as low as $29.99/yr at serverdragon.

General question: what is the point of avoiding desktop applications? Some editors do a much better job than codemirror. That's a huge problem that most web applications are developed for being monetized and only some of them are open source. Even if they are open source, they are complicated to install and your server will end up being loaded with redis, postgres, mysql, memcached, solr/sphinx/elasticsearch and a bunch of other stuff.

Unhosted is a clever and transparent approach to how a web application should behave. Thanks for coming up with this.

BR, Phil

Philipp Pirozhkov

unread,
Jul 4, 2013, 7:38:18 PM7/4/13
to unho...@googlegroups.com, mic...@michielbdejong.com

Michiel B. de Jong

unread,
Jul 5, 2013, 5:19:07 AM7/5/13
to unho...@googlegroups.com
Hi Philipp!

On 2013-07-05 01:05, Philipp Pirozhkov wrote:
>
> https://unhosted.org/adventures/3/Setting-up-your-personal-server.html
> [1] mentions that "you cannot create endless subdomains", why? You
> can
> get a free SSL certificate for each subdomain you wish to protect.

Right, but it would be a hassle to go obtain a new cert each time you
want to install an app. Also, some browsers on older (Android, Windows)
devices still don't support SNI
https://en.wikipedia.org/wiki/Server_Name_Indication#Client_side

> Some gotchas:
> - getting started leads to http://remotestorage.io/integrate with no
> return back to unhosted

yeah, that route was a bit ad-hoc, maybe we can improve that at some
point. it's maybe a bit confusing that to get started building unhosted
web apps, we point you to getting started with remoteStorage, we could
put an inbetween step there maybe.

> - - https://unhosted.org/getstarted [2] redirects to
>
> https://unhosted.org/adventures/1/Personal-servers-and-unhosted-web-apps.html

any non-existing URL will redirect there, we use it instead of
displaying a 404. but yeah, a /getstarted/ page could be useful! i'll
try to improve it next time i change the nav.

> [3]
>
> BTW you can get 256mb hosting as low as $29.99/yr at serverdragon.

oh, that sounds attractive! i'll try it out and reference that instead
maybe, that's 6x cheaper than rackspace :)

> General question: what is the point of avoiding desktop applications?

Strictly avoiding them is mainly an experiment. If people move back to
using more desktop software again, then that is good for their freedom
because there is more free software available there. However, we want to
make sure there are free software options available for anything a
person might want to do with their computer, even if they choose to use
only web apps (for instance if they use a chromebook or have no root
access to the machine they happen to be using, or for whatever other
reason).

> Unhosted is a clever and transparent approach to how a web
> application
> should behave. Thanks for coming up with this.

thanks! :)


cheers,
Michiel

Michiel B. de Jong

unread,
Jul 5, 2013, 5:21:58 AM7/5/13
to unho...@googlegroups.com
On 2013-07-05 01:38, Philipp Pirozhkov wrote:
> Also Unhosted Music Player [1] is not relevant anymore on
>
> https://unhosted.org/adventures/8/Collecting-and-organizing-your-data.html

i wrote that episode when i was in Asia, so I really needed to have my
music locally. Now i'm in Berlin, and i prefer using
http://unhostedtunes.hellacoders.com/

But i think for people who don't have access to reliable bandwidth for
music streaming, http://music.unhosted.5apps.com/ is still a good
option, don't you think? What changed to make you say it's not relevant
anymore?


Cheers,
Michiel

Philipp Pirozhkov

unread,
Jul 5, 2013, 5:39:26 AM7/5/13
to unho...@googlegroups.com, anyt...@michielbdejong.com
Michiel,

> https://unhosted.org/adventures/8/Collecting-and-organizing-your-data.html 

i wrote that episode when i was in Asia, so I really needed to have my
music locally. Now i'm in Berlin, and i prefer using
http://unhostedtunes.hellacoders.com/
Returns:
An error has occurred: {"code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect"}

 
But i think for people who don't have access to reliable bandwidth for
music streaming, http://music.unhosted.5apps.com/ is still a good
option, don't you think? What changed to make you say it's not relevant
anymore? 
Probably it's Chrome messing up with certificates, it doesn't seem to accept certificate *. 5apps.com for https://music.unhosted.5apps.com/ 
And anyway, server returns 404 page.

I'm not really a big fan of online music players and am fully satisfied with my mpd+ncmpcpp/cmus setup.

BR, Phil

Philipp Pirozhkov

unread,
Jul 5, 2013, 5:55:30 AM7/5/13
to unho...@googlegroups.com, anyt...@michielbdejong.com
Michiel,

> [1] mentions that "you cannot create endless subdomains", why? You 
Also, some browsers on older (Android, Windows)

Makes sense.
 
> General question: what is the point of avoiding desktop applications?
Strictly avoiding them is mainly an experiment. 
if they use a chromebook or have no root access to the machine they 
happen to be using, or for whatever other reason)
Right. Hope more and more tools will be becoming open source, including the ones that offer hosting, and people will be able to choose between unhosted/selfhosted approach and using paid third party service. Cloud9 IDE (c9.io) is a good example of that. Gitlab vs Github is an example of what happens when community doesn't want to pay or needs and unhosted solution. Still, i prefer console based editor and command-line git. Webshell is a lifesaver when it comes to working from iPad, specifically GateOne you mention, thanks for pointing out, will check it out to compare its latency vs ssh.

BR, Phil

Michiel B. de Jong

unread,
Jul 5, 2013, 5:55:54 AM7/5/13
to unho...@googlegroups.com
On 2013-07-05 11:39, Philipp Pirozhkov wrote:
> Michiel,
>
>>
>
> https://unhosted.org/adventures/8/Collecting-and-organizing-your-data.html
> [3]
>
>> i wrote that episode when i was in Asia, so I really needed to have
>> my
>> music locally. Now i'm in Berlin, and i prefer using
>> http://unhostedtunes.hellacoders.com/ [1]
>
> Returns:
> An error has occurred:
> {"code":"ECONNREFUSED","errno":"ECONNREFUSED","syscall":"connect"}
>
>> But i think for people who don't have access to reliable bandwidth
>> for
>> music streaming, http://music.unhosted.5apps.com/ [2] is still a
>> good
>> option, don't you think? What changed to make you say it's not
>> relevant
>> anymore?
>
> Probably it's Chrome messing up with certificates, it doesn't seem to
> accept certificate *. 5apps.com for https://music.unhosted.5apps.com/
> [4]
> And anyway, server returns 404 page.

the links were http://, you probably have https-everywhere installed?

the first one is giving a 500 right now unless you're logged in,
apparently. I'll ask Dani about that. But you can get the second one
over https here: https://music-unhosted.5apps.com/ i updated the link in
episode 8 as well.

> I'm not really a big fan of online music players and am fully
> satisfied with my mpd+ncmpcpp/cmus setup.

ok, fair enough!


Cheers,
Michiel

Jan-Christoph Borchardt

unread,
Jul 8, 2013, 5:00:31 AM7/8/13
to Unhosted, Philipp Pirozhkov, Michiel de Jong
Hey Philipp


On Fri, Jul 5, 2013 at 11:55 AM, Philipp Pirozhkov <pirj...@gmail.com> wrote:
>> > General question: what is the point of avoiding desktop applications?
>> Strictly avoiding them is mainly an experiment.
>>
>> if they use a chromebook or have no root access to the machine they
>>
>> happen to be using, or for whatever other reason)
>
> Right. Hope more and more tools will be becoming open source, including the
> ones that offer hosting, and people will be able to choose between
> unhosted/selfhosted approach and using paid third party service. Cloud9 IDE
> (c9.io) is a good example of that. Gitlab vs Github is an example of what
> happens when community doesn't want to pay or needs and unhosted solution.
> Still, i prefer console based editor and command-line git. Webshell is a
> lifesaver when it comes to working from iPad, specifically GateOne you
> mention, thanks for pointing out, will check it out to compare its latency
> vs ssh.


Probably interesting for you: There’s a directory of open source
hosted web apps at http://libreprojects.net (disclaimer: I started
that). And those are only the ones which are sufficiently usable as
well, there’s many more in development.

As for desktop apps / web apps – I think the main problem is that web
app devs still don’t aim to make their apps fully offline-capable.
There’s AppCache, a local db (localStorage, IndexedDB etc) and then
remoteStorage (or dropbox.js) for syncing. If that’s properly utilized
then web apps essentially _are_ desktop/native apps. Especially with
Mozilla spearheading all the new APIs and doing Firefox OS, as well as
Google and Chrome OS, I think that situation will improve a lot in the
near future.
Reply all
Reply to author
Forward
0 new messages