servus-social / servus

Minimalist social media server
GNU General Public License v3.0
67 stars 1 forks source link

My experenice in trying servus preview, posting and SSL errors #5

Closed damascene closed 1 year ago

damascene commented 1 year ago

I've found Servus on Nostr awesome repository. I was interested in checking it and I had to compile it to see what I'll get. I'm documenting my experience and suggestions.

No Live version or a Screen shot

For a web tool a user would benefit from seeing a live version or screenshot, I had to compile it to know what I'll get. I've seen a very simple html only page that I recorded but was unsure if I did something wrong.

What I see currently: https://github.com/ibz/servus/assets/411046/94471f10-ca5c-4448-8dd0-8875debffe66

SSL configurations

I've tried to run the server on port 443 as I thought the release version may render with some style but I got:

{"level":50,"time":1684213368898,"msg":"tls error","error":"received corrupt message"} {"level":40,"time":1684213378319,"msg":"Sending fatal alert AccessDenied"}

When I visit after server launch I see the following error in browser:

Error code: SSL_ERROR_ACCESS_DENIED_ALERT

Logs shows:

{"level":40,"time":1684213597783,"msg":"Sending fatal alert AccessDenied"}
{"level":50,"time":1684213597783,"msg":"tls error","error":"unexpected error: no server certificate chain resolved"}

I was testing locally so I thought it might need a live server with domain setup to get letsencrypt certificate but that was not clear in the documents, it actually says you only have to setup email.

How to post?

It says that I can use some compatible Nostr clients to post but how do I connect the client to my post, how does that work with relays. Is there away to post directly from Servus. I hope that documentations covers it.

Is it possible to chat with developers?

I suggest adding a communication method or have group for discussions related to this tool

I was happy to see a Rust tool for Nostr blogging and I hope it would be easier to test and examine for who's interested.

ibz commented 1 year ago

Yep, now that you say it, it becomes obvious to me that it is non-obvious for any newcomer. :) I'll address all these issues in the documentation, for sure.

Indeed, what you see is right. It is a theme named "blank" (see themes/blank), which I did more like a "hello world" to ship with. Planning to add more themes, but so far I focused more on the functionality. Jekyll themes are quite easy to port actually, although it takes some time due to the slight differences in template engines.

And yes, you can post locally (without Nostr), like you would do with Jekyll, the issue in that case is that the posts would not have a signature which is required for a Nostr event. Ideally, in order to "post locally" I will write a simple (web) Nostr client, so I could ship with "batteries included" - but so far it is either A) post using an external Nostr client or B) post like you would post in Jekyll (by creating files under _posts) but then... no Nostr events for you!

Thanks a lot for testing this out! Really appreciated!

damascene commented 1 year ago

Thank you for responding. one thing I've noticed is that my project had around 2.5 GB of files. Is it normal?

Also I wonder if you suggest a client for posting blog posts. apparently a client with NIP-23 support.

ibz commented 1 year ago

Indeed, I just checked the size, and yes, seems about that. Didn't expect Rust to produce so many artifacts during compilation. However, the final executable is 20M.

Yep, NIP-23 clients. I tested with Habla. But, like you noticed above, you would need to run on a VPS or otherwise be accessible from the outside for Let's Enrypt to be able to reach you and issue a certificate.

ibz commented 1 year ago

OK, I have added your suggestions to the README. See this: https://github.com/ibz/servus/commit/be6cbbacb58821fea5734cde768751718bbdf23b

Thanks a lot! Cheers!