mnutt_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
TwoJames has joined #sandstorm
mnutt_ has joined #sandstorm
TwoJames2 has quit [Ping timeout: 240 seconds]
mnutt_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mnutt_ has joined #sandstorm
<pdurbin>
sounds like a tricky problem
wolcen has quit [Ping timeout: 245 seconds]
isd has quit [Quit: Leaving.]
jadewang has joined #sandstorm
jadewang has quit [Remote host closed the connection]
mnutt_ has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
mnutt has quit [Quit: mnutt]
mnutt has joined #sandstorm
mnutt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
synchrone has joined #sandstorm
dograt has quit [Remote host closed the connection]
dograt has joined #sandstorm
e` has quit [Ping timeout: 240 seconds]
e` has joined #sandstorm
synchrone has quit [Ping timeout: 250 seconds]
Isla_de_Muerte has joined #sandstorm
NwS has quit [Disconnected by services]
Isla_de_Muerte is now known as NwS
NewbUK has joined #sandstorm
<NewbUK>
hey all - real newb question - I am trying to install on a VPS 64bit Ubuntu 14.04 - I log into putty - run the curl as told - I get a url - It is not right though - http://local.sandstorm.io:6080/admin/settings/458e7b... etc - What am I missing/ - Thanks in advance
<dwrensha>
NewbUK: You'll need to set the values of BASE_URL and WILDCARD_HOST in /opt/sandstorm.sandstorm.conf
<tbmb>
Other question :P I want to install sandstorm on my server. I already have a system. If I want to keep my mails can I just get my file ~/mail and copy it into the new installation of sandstorm ?
Tcf has joined #sandstorm
synchrone has joined #sandstorm
<dwrensha>
tbmb: hm. I'm not sure. Something like that might be possible. You could create a RoundCube grain and then copy some files over to it (in /opt/sandstorm/var/sandstorm/grains/<grainId> )
<dwrensha>
I don't know about the compatibility of the formats/protocols involved. If you poke around in a RoundCube's grain directory, you might be able to figure it out.
<asheesh>
canuky: You have a successful blank page there!
<asheesh>
I'm not sure what you're expecting different!
<canuky>
sorry ... I am trying to get the shared directory mapped to a domain ...
<funwhilelost>
(fwiw it wasn't a few seconds ago)
<canuky>
so all files in the shared directory will be publicly accessible
<canuky>
via a subdomain ... what am I missing?
<asheesh>
Gotcha - davros doesn't support listing all files yet
<funwhilelost>
I haven't been able to get my server to start since it updated to 142 on Thursday. "Install directory not owned by root, but you're running as root." Any ideas?
<funwhilelost>
It auto-updated to 142 and restarted now I can't get it to start. "Server monitor died. Aborting"
<canuky>
I see - I misinterpreted "You can publish this shared directory to the web" ... plus the 'Set up your own domain or subdomain:'
<kentonv>
funwhilelost: what does `ls -l /opt/sandstorm` say?
<funwhilelost>
sandstorm-142 is root/root, everything else is sandstorm/sandstorm
<funwhilelost>
Was the autoupdated running as root?
<funwhilelost>
*er
<kentonv>
funwhilelost: did you originally install as root or as non-root?
<funwhilelost>
Originally installed as root and chown'd to sandstorm
<kentonv>
when was that?
<funwhilelost>
A couple of weeks ago.
<asheesh>
canuky: Sounds like another bug worth filing; sorry for the confusion there. I can file a bug for you, if you like!
<asheesh>
FWIW each of the files are available. It's just that there's no listing.
<kentonv>
funwhilelost: I think what happened is you chown'd to sandstorm, but the server was already running, and was running as root. When the updater ran, it installed the new files as root, and then when it restarted itself, it saw the inconsistent ownership.
<funwhilelost>
Ah, interesting. Is there a separate process for the updater or is it all through `sandstorm start`?
mnutt has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<kentonv>
it's a child process of `sandstorm start`. It's supposed to start/stop along with the rest of the server.
<funwhilelost>
Is there a way to set the user it runs as or just normal Linux commands?
notevil has joined #sandstorm
<kentonv>
if you make sure every this is shut down, then chown everything to sandstorm again, then make sure to do `sandstorm start` as sandstorm, it should work
<canuky>
thanks asheesh - I understand now - not a big deal, just want to ensure I understand properly ... working with a bunch of educators in a few weeks and want ensure I can give them accurate instructions
<kentonv>
the updater runs as whatever user started sandstorm
raoulzecat has quit [Ping timeout: 276 seconds]
<dwrensha>
does SERVER_USER play into this at all?
<asheesh>
Great canuky !
<kentonv>
dwrensha: when started as root, sandstorm runs Node and such as SERVER_USER, but the updater has to run as root since it needs to replace the owned-by-root files. Unless the whole server is run as non-root, of course.
<kentonv>
note that Sandstorm checks at startup that the user running `sandstorm start` matches the ownership of the files and fails fast if not.
<asheesh>
canuky: Great. Any other weirdnesses you run into, let me know; making sure your deployment succeeds is honestly my #1 priority for the week.
<kentonv>
so "user who started sandstorm" and "user who owns the top-level sandstorm files" are the same thing
<funwhilelost>
Ah, good to know.
<funwhilelost>
When running as sandstorm I get a front-end crash, unfortunately.
<kentonv>
funwhilelost: no, SERVER_USER should stay sandstorm, but you'll need to change back the ownership of all the files *except for* `var`, and then go back to starting the server as root.
<maurer>
kentonv: Didn't see the whole discussion, but would this not be a good chance for setcap cap_net_bind_service ?
<kentonv>
(alternatively you could set up some sort of reverse-proxy to listen on the low-numbered ports and forward to Sandstorm)
<asheesh>
I guess I should document this, huh.
<kentonv>
maurer: That would break on the next update, because the new binary wouldn't have the capability and the updater, not being root, wouldn't be allowed to add it.
<maurer>
kentonv: oh, hm
<kentonv>
maurer: It's really, really hard to do anything useful with Linux "capabilities", unfortunately.
* maurer
makes a snide remark about package management
<maurer>
kentonv: Sure, it just seemed like a way to run sandstorm on 80 without root vov
<kentonv>
yeah in theory it seems great. In practice every time I try to do anything with them it just leads to tears. :/
<funwhilelost>
So you're suggesting just doing some `iptables` redirection?
<kentonv>
funwhilelost: no, I'm saying you could use nginx and/or sniproxy as middlemen
<kentonv>
it's a popular solution, but TBH I don't think it would buy you anything in this case
<funwhilelost>
Yeah, if it's just port-forwarding it seems like vanilla IP routing would work out. The machine is dedicated to my sandstorm instance.
raoulzecat has joined #sandstorm
<kentonv>
hmm, I guess I've never heard of someone doing that exactly, but it seems like it could work
<kentonv>
basically, if you start sandstorm as a user, then everything runs as that user, whereas if you start sandstorm as root, then most things run as SERVER_USER (usually `sandstorm`) but the updater runs as root.
<funwhilelost>
Thanks for clarifying.
<asheesh>
win 20
<asheesh>
...
<funwhilelost>
I'm really getting close to having this dialed in. When starting the server as 'sandstorm' through 'su' I'm getting an error where mongo is trying to open /var/mongo instead of /opt/sandstorm/var/mongo - any ideas? I'm running the command from /opt/sandstorm.
<kentonv>
funwhilelost: it's actually opening /opt/sandstorm/var/mongo, but it's inside a container where /opt/sandstorm is the root directory.
<funwhilelost>
Interesting. It's getting a permissions error there.
<kentonv>
what's the ownership on than directory and its contents?
<funwhilelost>
root/sandstorm - with g+rw
<kentonv>
normally all the stuff in that directory should be sandstorm:sandstorm
<funwhilelost>
Back in business. Thanks for walking me through that!
<kentonv>
note that probably everything under /opt/sandstorm/var is going to need to be owned by `sandstorm`. (Well, technically a default install has some of the top-level directories owned by root, but it's probably not important.)
<kentonv>
otherwise you'll have trouble when you try to open an app
<funwhilelost>
Perfect. I think a stray keystroke grabbed that during my chown.
<funwhilelost>
Now it's back up and running on 8080 with iptables NAT forwarding to 80. Works like a charm and no nginx setup involved.
<kentonv>
cool
mnutt has joined #sandstorm
<funwhilelost>
Man, I feel like a pest. All of my grains are working except one Paperwork grain is showing a 500 error. "Exception while invoking method 'openSession' Error: remote exception: expected result >= minBytes; Premature EOF"
<funwhilelost>
Other Paperwork grains work fine.
<kentonv>
funwhilelost: anything on the debug log? (Click the monitor icon in the top bar while the grain is open.)
<funwhilelost>
Hmm... nothing in the debug log for the grain.
<funwhilelost>
I restarted the server and it's working now.
<kentonv>
odd, but yay?
<funwhilelost>
Early in the server logs I also saw this: "capnp/rpc.c++:122: info: returning failure over rpc; exception = kj/async-io.c++:120: failed: expected result >= minBytes; Premature EOF"
<kentonv>
yeah, that error basically means "the app disconnected", which usually means "the app crashed".
<kentonv>
although Sandstorm should restart the app when it crashes
<funwhilelost>
Hmm.. there wasn't anything out of place in the grain's log and it appears to be intact now that I can access it.
jadewang has quit [Remote host closed the connection]
wolcen_ has joined #sandstorm
jadewang has joined #sandstorm
<kentonv>
chrome:chromium::sandstorm:?
<asheesh>
I figured Sandstorm was on the right-hand-side of that instead.
<zarvox>
if the relation is s/e/ium/, then sandstorm:sandstorm ;)
jadewang has quit [Remote host closed the connection]
<kentonv>
well, sandstorm is our trademark which, according to our license file, you can only use in conjunction with unmodified versions.
<kentonv>
my thought was that we should make unofficial builds automatically use some different name and logo
<maurer>
kentonv: that's more firefox : iceweasel than chrome : chromium
<maurer>
kentonv: chrome includes non-free code
<kentonv>
fair enough
<kentonv>
firefox:iceweasel::sandstorm:?
<kentonv>
although, iceweasel is a brand maintained by a whole separate entity
<kentonv>
(namely debian)
<asheesh>
meanwhile paroneayea uses GNU icecat, no joke
<maurer>
kentonv: Sure, I guess neither analogy was accurate, but I'll admit you had me worried with the initial one that some part of sandstorm was going to close
<asheesh>
Has the same width, so that you can just patch the ELF files manually!
<asheesh>
I was going to suggest stormstorm instead.
<kentonv>
maurer: FWIW we've said all along that we'd be building enterprise-oriented "addons" for Sandstorm which would likely be closed, but with the goal that this only covers features that aren't useful to individuals running personal servers anyway.
<maurer>
kentonv: sure
<dwrensha>
zarvox: interesting error from your test-4.spk: /usr/local/lib/python3.4/dist-packages/werkzeug/filesystem.py:63: BrokenFilesystemWarning: Detected a misconfigured UNIX filesystem: Will use UTF-8 as filesystem encoding instead of 'ascii'
<kentonv>
that said right now we're thinking that we'll make "Sandstorm for Work" actually be part of the regular open source build, yet behind a paywall. So you could technically do your own build and remove the paywall, but most people would probably rather pay.
<kentonv>
but as part of that I'd like to make sure that unofficial builds are not called "Sandstorm", so we should have a different name for them
<asheesh>
patchstorm
<asheesh>
sandspray
<asheesh>
sandbeach
<asheesh>
stormofonesown
<zarvox>
dwrensha: hmmm, not sure what causes that, but it seems to have no obvious ill effects
<asheesh>
(no particular real preference except that we try to make sure it's inoffensive)
<kentonv>
Is "Haboob" offensive? :)
<zarvox>
Haboob already refers to a web server package