How to set up Bob on DigitalOcean (mostly easy)

After executing wget https://gitlab.com/ooktech-tw/bobdocker/-/raw/main/install.sh edit the install.sh file using your favourite text editor, for example

nano install.sh
change the line:
sudo certbot certonly --standalone
to
sudo certbot certonly --standalone --verbose

1 Like

Ok, will try @saqimtiaz

That sounds like editing Jed’s file? Sorry I don’t know git or Linux, so trying to understand as I go. If I’m allowed to edit his file, that won’t do something bad for him or others I hope.

You are downloading a copy of Jed’s file, which you need to do anyway before you run that script. Before running your local copy of it, you are changing the certbot command in that local copy to provide more verbose output of what happens, so that hopefully the logs can help debug the problem.

Here is me retrying to install it in video form Bob Docker DigitalOcean - YouTube

Attached is the text from the console when completeInstallLog.tid (14.0 KB) (note this is with the --verbose added)

After recording the video, I re-read the instructions on the DNS side and re-added the “A” record per the instructions. I got confused during recording.

Could you also post the contents of /var/log/letsencrypt/letsencrypt.log ?

In the terminal/console, type the following and then copy the contents:
nano /var/log/letsencrypt/letsencrypt.log

letsencrypt.log.tid (22.1 KB)

This should be good, had to copy/paste screen-by-screen (just in case I overlapped accidentally)

I will take a look at the log a little later. However, any idea why your domain shows the following message?

image

Ha - no idea… I’ve traditionally just had it point to my linkedin account for business purposes (which worked fine), never heard of Gimkit. That’s a little worrying.

Apparently the security certificate is issued by gimkitconnect.com.

I have helped debug the problem and it should hopefully now be resolved, a bit hard to confirm as the DNS has not propagated to this part of the world yet and I can only visit the wiki via a proxy.

The initial problem was that the A name was pointing to an IP address from a previous installation attempt, i.e. a different droplet. I recreated the droplet and added the domain via the Digital Ocean control panel. Oddly, it did not create the A name record though that was my experience on my own account.

The certbot logs from the previous attempt showed that it had failed to bind to port 80 on ipv4, so I added an ipv6 address to the droplet and added both a A record as well as an AAAA record for ipv6.

Installation following @inmysocks directions then proceeded without any issues.

I cannot say for sure why this problem arose in the first place, some detail to do with the DNS and IP configuration on the Digital Ocean side.

I would like to suggest moving this debugging discussion to a separate thread to clean up this thread for others who might like to follow the instructions, while leaving a link for those that might run into the same problem.

Thanks again @saqimtiaz for helping me fix the setup and @inmysocks for putting this together!

I can confirm that this is working now across multiple browsers, and on my mobile phone. I’m excited to take advantage of multi-user with my small, trusted team. I can now take my shared team knowledgebase and add things like voting buttons, suggested changes, and use for team project management. I was getting hung up on the local version of BOB when now many of my team works remotely and the LAN version wasn’t enough.

Coming from BOB.exe version, it now occurs to me that I don’t know how to do a few things:

  • How do I change my password?
  • How do I upgrade to future BOB versions?
  • If it crashes, how do I restart it? (had to do frequently with BOB.exe)

I assume the answer is a series of commands typed into the “access console”. Is there already documentation somewhere @inmysocks that you can point me to?

1 Like

This is the first time I have put up Bob like this. The last time I tried I had a separate custom server handling background tasks and restarts.
So the short answer is that there isn’t a graceful way to do it yet, but I will write up instructions at some point.

For the next iteration I will set up a system that will restart everything if it crashes and have it periodically check for new updates.

What is going on when you need to restart Bob? I have been using it pretty much constantly since I made it and in the past two or three years I haven’t had to restart it aside from when I make it crash developing plugins.

Great - looking forward to having some documentation - I’ll just try to be careful in the meantime :slight_smile:

My situation is that I work in the office on a laptop, normally plugged in / docked for networking, but I have 5-10 meetings per day, and in each case that means I undock, close my lid, and then open it in the meeting room. My laptop connects to wifi then, and the BOB screen gives me the red bar with the reconnect button. Every time I click the reconnect button BOB crashed. Now, this is a few versions back and I haven’t tried it on the DigitalOcean, so it may not do that anymore, but I’m hesitant to try until I know how to restart it. Now I just know to refresh my browser those 5-10 times (once per move of my laptop). It’s not a big deal for me, but when previously using it with my team it was an annoyance because somebody would hit the button. I eventually hacked the file to remove the button and just tell people to refresh the browser.

I am planning on removing that button anyway, it is useful for me when I am developing bob itself but in almost every other case it is better to just refresh the browser.

Got it.

So if it does happen to crash, is my only option to destroy the droplet and start over right now?

no, you can open a terminal and restart it.
on digital ocean where the droplet is listed there are three dots all the way on the right, click on those and a little menu will drop down and one of the options is Access Console, click on that.
I need to look up the command to restart it, I will put that in when I get around to writing more documentation.

Hi @inmysocks - Do you think a future possibility would be to have the login screen more recognizable to password managers? It looks like I have to re-login quite frequently, but my password manager doesn’t pick it up. I don’t know if that’s anything you can control or not.

image

1 Like

that is from the http basic authentication used by the server, I believe that it controlled by the browser and I don’t think that I can do anything to change it.

1 Like

Are you thinking of restarting the docker container or just the Bob server?

You can restart the docker with docker-compose up -d but it would be good to verify that the docker configuration persists data past a restart.

I know very little about how docker actually works, so I was just planning on restarting the container. It is set to save the wikis outside the container, that should be everything that needs to be persistent.