janeczku / calibre-web

:books: Web app for browsing, reading and downloading eBooks stored in a Calibre database
GNU General Public License v3.0
12.88k stars 1.38k forks source link

Beginners questions #957

Closed OzzieIsaacs closed 5 years ago

OzzieIsaacs commented 5 years ago

Hi everyone, I am new to Calibre-web and all code related stuff so please bear with me chaps!

I have started doing my own research on how to set everything up but the challenge here is I am not code oriented so I am struggling to understand most of the instructions here and it is taking me forever to progress any single step. I am running Windows if this helps.

Having in mind the vast majority of you are far ahead from my baby steps so counting on your proven expertise, that would be great if you could guide me through a quick start, some tutorials, useful links somebody with zero idea of coding can understand or maybe even pointing me at the right community or link to find out how to do it.

My questions are:

If any of you could throw some light on this I would be everlasting thankful 😀

Many thanks in advance for all your input, feedback, comments and guidance. Hope you all have a great day!

Originally posted by @MijacOnAir in https://github.com/janeczku/calibre-web/issues/327#issuecomment-508908280

OzzieIsaacs commented 5 years ago

@MijacOnAir let's discuss this in this issue, as it looks like it takes a bit longer and is not only about reverse proxying

OzzieIsaacs commented 5 years ago

The remote login feature was made for devices where it is hard to enter a lot of text, like on ebook readers. After enabeling this feature you see the magic link link on the login page: grafik On your ebook reader (or any other device you want to get logged in) you click on magic link. Afterwards you log in on you desktop computer with the account you want to get logged in on the reader and afterwards you enter the generated magic link (visible on your ebook reader) in the desktop computer. Magically after one or two seconds you are logged in on the ebook reader, too. But I'm not sure if this is your problem. To me it seems more you are "just" asking how to access your computer with calibre-web running from other computers/phones or whatever in your home net? What you have to do is find out your computers (= server) running calibre-web name.

OzzieIsaacs commented 5 years ago

On the server itself you can access it via: http://127.0.0.1:8083 or via http://localhost:8083 But from other computers this isn't working, because 127.0.0.1 or localhost is always the name of your own computer. In the ontrol-center unter system you can see the computers name:

OzzieIsaacs commented 5 years ago

grafik If you enter http://ultrabook:8083 (in my case) into a another computers browser in your home network you should be able to access calibre-web from the other computer (this isn't working from mobile networks, or from computers outside your home)

OzzieIsaacs commented 5 years ago

Please give me a "ping" if this going into the right direction, or if your problem is something different and I explain you stuff you already know.

ghost commented 5 years ago

Hello @OzzieIsaacs! Thanks for reaching out so soon to my mess of questions.

I think I understand now the use of the magic link. So the way to access through a kindle would be via http://localhost:8083 and then logging in with the desired account into my computer and after that input the link that pops up here into my Kindle to be able to log in right?

On the other side of things accessing in another computers inside my local network with their computer names is not working for me. Not sure if I need to apply anything else for it to work. This is the reason I cannot connect through a kindle either.

My ultimate idea is to be able to access remotely, mostly having this set up for family and friends to whom I can share my Calibre library with. I have seen some examples of people using a proper domain/remote/login site. Not sure if there are more alternatives than this for a remote connection and, also, I am now aware of the security vulnerabilities (if any) this method can have?

Either ways I would be using both local in different computers and remote connections. One for me in order to being able to admin locally and to share my library remotely with my people.

Hopefully this is not a lot of chores for you and can help with this.

Many thanks in advance 👍

OzzieIsaacs commented 5 years ago

I think I understand now the use of the magic link. You got it almost as "localhost" is the name of the server running calibre-web in your example calibre-web would run on the kindle itself, which it does not. On your kindle you go to: http://desktopcomputer:8083.

and then logging in with the desired account into my computer yes

and after that input the link that pops up here into my Kindle to be able to log in right? You have to manually enter the link displayed on your kindle into you computer after logging in on the computer. If you have calibre running on your desktopcompter with the name: desktop and a kindle you have to enter http://desktop:8083 on you kindle to access calibre-web. If this isn't working, there can be two basic problems:

1.) Name resolution isn't working. To figure this our you could go on your windows computer press "windows + r" then type "cmd" in the popup window press, "enter". You should see a black window poping up. Into this windows enter "ipconfig" and press enter. A long/short list of text should appear: grafik Depending on how you are connected to the network there should be entries like ethernet LAN connection or wireless-LAN Adpater ... (I don't know the exact english wordings as I'm working on german windows), there you should see your IPv4-address. It should be something like 192.168... or 10.10..... From your kindle or other computer you can than enter http://192.168.???.???:8083. You should than connect to your calibre-web program on your desktop computer. 2.) Windows firewall is blocking the traffic. In this case for testing you could deactivate the windows firewall (windows-defender-firewall) and try again (don't forget to turn it on after the test, it's not safe to enter the internet without firewall).

For making calibre-web accessible from anywhere you need a static ip-adress (which you normally don't have on "home" internet connections", or you need a "dyndns" service for providing a name resolution for your network. Of course your computer needs to be switched on all time to be accessible from the internet. The dyndns account is normally setup in your internet router (how to do this depends on your router). I recommend not to expose your computer to the internet if you are not an experienced user. Gain some knowledge about networks and how to handle firewalls and server services and afterwards do the next step.

ghost commented 5 years ago

I am now able to access my Kindle through the IPv4 Address. Does it mean I need to use that to access Calibre-web on my home devices? (OK, after trying I can confirm this. Is the IP going to be stable after the main server reboots?)

Also I am struggling SMTP email settings for send to kindle devices. Not sure about this. Can I do this from an email address account I have already i.e.: Gmail or does it need to be something else? Tried that with a personal gmail one applying exactly the recommended smtp config with no results. Also, can I make up the "From e-mail" section? Are there any servers working best than others for this feature to your knowledge?

For remote access, could I get a hosting and dump everything on there using a purchased domain? If so, how can this be ported? Or maybe just redirecting the whole thing to an owned domain... let me know if I am talking bollocks. These are just thoughts coming up as I type 💃

Thanks a lot mate, you are being of such a great help so far :)

OzzieIsaacs commented 5 years ago

Is the IP going to be stable after the main server reboots?

Depends on your router, normally same computer should always get the same ip address. Another option to find out the computer name is: Press "windows + r" then type "cmd" in the popup window press, "enter". You should see a black window poping up. Into this windows enter "hostname" and press enter. The program should respond with one line, with the computers name, this name should be stable.

Can I do this from an email address account I have already i.e.: Gmail or does it need to be something else?

Yes, but gmail is a bit complicated as google is taking security very serious. 1.) Easy and unsafe way is to go to: https://support.google.com/accounts/answer/6010255 and follow the step to enable less secure apps. Afterwards you can use googlemailaccount with your usual password: grafik 2.) Follow the steps in: https://support.google.com/accounts/answer/185833 and generate a app specific password. Enter this password as your password in calibre-web and it should work afterwards.

Also, can I make up the "From e-mail" section?

Some email provider are more strict than others with filling out the from field, from my knowledge the plain e-mail address always works. You could also try: " emailaccount@g-mail.com" (with your real gmail account name.

...could I get a hosting and dump everything on there using a purchased domain?

Yes this would work out, you just have to take care that your hosting provider allows python code, and normally this are linux machines. I have no experience with this

Or maybe just redirecting the whole thing to an owned domain

Using a dyndns service would be easier and cheaper (there are free ones, and depending on your internet router everything would be handled by your internet router)

But in both cases you have to take care about security of your server

ghost commented 5 years ago

Thanks! I managed solving the email sending by creating an account in another provider. It seems security is highest in Gmail.

The remaining task for me would be now focusing on how to make calibre-web live to share with family and friends. I am going to create a thread both here an in other places looking for help in this regard. I would like to know the differences between a web hosting which hosting providers have normally and a VPS server in terms of accessibility, if they accept Python...

The other question here is, having in mind it is possible to dump everything online, what will happen to my Calibre database? It will be online instead of in my computer? Should this be in local and I need to have my computer on 24/7? Not really sure how this will affect the way I import new books (just drag-drop on to my desktop client).

Last question for now is I have seen some posts around talking about a "Docker" for Calibre-Web. Do you mind to explain what this does and how the base installation of Calibre-web can benefit from it in a non-expert way?

Many thanks!!! :)

ghost commented 5 years ago

Also, can Calibre-web be installed on a NAS? I am wondering if it's possible to store both ebooks and the calibre library in there and this way I would not need to leave the computer on all day. Can't find any entry level info regarding all I am posting here so if you could educate me in this direction I would be delighted.

Thanks for your patience @OzzieIsaacs.

OzzieIsaacs commented 5 years ago

Looks like you figured out the answers to most of the questions from the post 3 days ago.

Last question for now is I have seen some posts around talking about a "Docker" for Calibre-Web.

A "docker" container is a program that capsules everything you need to run a special program (like all the dependencies you installed from the requirements.txt files). For the developer it makes sure that everything is working for all users, and for users it makes it easier to install.

Also, can Calibre-web be installed on a NAS?

Calibre-web can be installed on a NAS, easiest option there would be using a docker image (if possible), because depending on the type and operating system of the NAS installing cailbre-web can be tricky.