Putting together new debian freedombox server

I think that my situation as an FB user is probably pretty common. I lay it out here in case there suggestions or recommendations.

I have been trying out a Freedom Box set up on an Olimex A20 Lime2 that I have had for 3 years. With help I found here, I got it set up and running on my lan and I have installed some of the apps. I did the install by downloading a fresh FB image and putting it on the Olimex supplied SD card. Once I had updated software, the install went smoothly. There has clearly been a lot of work put into this. Great stuff! The only other computer on my lan is my regular desktop which is Win11. I have an additional desktop pc, described below, which is sitting idle. I need to decide whether to go forward with the FB pioneer or set up the spare desktop to be a debian/FB server.

I have the pioneer behind a router (dmz) where my main desktop pc also lives. The uses I plan to try out and perhaps implement in more or less descending order of significance to me follow:

File sharing and backup: I have <1Tb, stored on OneDrive right now. That has been enough space for my regular files and for my photo collection. 2Tb would be ample for file storage for the foreseeable future. Local backups could fit in that 2Tb file storage. I have used Samba in the past and plan to set that up in FB for storing files that I want to keep but would be happy to fetch to my main desktop when needed rather than have them available on my local pc. I thought I would use Syncthing for files I want to have a local copy of in addition, including, possibly, my photos. Actually quick access to photos with the server on my local lan may mean photos need not be stored as well in my local pc desktop. If I had a couple of USB hard drives, could I use one for all FB storage and once in a while swap it with a duplicate so I always have the current version and the previous version. I don’t know if keeping an online backup this way is the way to go generally or whether having an off line backup is needed to protect from ransomware attacks? Do ransomware attacks affect FB installations?

Shaarli bookmarks: Will use this, it fills a long term need here.

Zoph: I have installed this but didn’t complete the setup for now. It involves changing some parameters. I see some like Zoph and others seem not to. I will give it a try once I have made the FB server changes I have in mind and see how it goes.

Janus: I am hoping the FB server will be able to host video chats with 3 or 4 people and avoid zoom/teams.

Chat: Will probably set this up and try it out but it may not go anywhere for me as the folks I talk with are set on WhatsApp and one or two on Signal not to mention some who prefer facebook messenger. That said, I would like to have it as an option when I say to people that huge companies should not control these things.

I have mozilla vpn and use it especially when mobile. I have not figured out whether mozilla vpn and FB work together or whether one makes vpn irrelevant on the other.

I have a .ca domain that I have used on runbox.com for years to send, receive and store email. I think that my email will stay there rather than fiddling with the intricacies of running an email server on FB for the time being. The email part of the domain points to (sorry, terminology?) runbox.com but I used to have a web site I had on another service using my .ca domain in the past. I am hoping to point that domain to my runbox server for mail and to my FB server for web and other services. FB wants a domain name for some of its apps. I want to be able to access the FB server away from home on a laptop or phone.

I am at the point where I need to decide whether to continue to set up my pioneer freedom box and add usb drive file storage to it or move to a debian/freedombox server. Reasons against moving to a pc desktop install for FB are the importance of fully open source instances and the greater power requirements of a pc compared to the pioneer box.

The desktop pc I would install it to is an HP with 12GB ddr4 ram and a 512 GB PCIe NVME SSD drive. I have physical access to the box but it would take some gymnastics and a component hunt to put a monitor/keyboard/mouse on the pc. It would be a fresh debian install with FB then added. The pc would be for FB only. I am looking into whether the install can be done without a monitor/keyboard attached to the install worked on the pioneer box.

Information

  • FreedomBox version: “You are running Debian GNU/Linux 12 (bookworm) and FreedomBox version 24.1. FreedomBox is up to date.”
  • Hardware: Olimex A20-OLinuXino-LIME2
  • How did you install FreedomBox?:bought pre-installed hardware, updated sd card software and did install from that

Hi @KenW

I’ve never used a plug server and just installed FreedomBox on a PC like you’re planning. You’ll have to take my comments with that lack of plug server perspective. I’m on my second one.

If you get hooked on FreedomBox I think it’s fine to migrate to PC platform because you’ll just have more to work with. I think it’s a good platform for a 24 hours per day server. Maybe the embedded platforms are as well, but PC’s do the job. I’d feel good having 12GB of RAM as you have. That will serve you well hosting video conferences.

You’re going to have to do something about the storage situation if you have a 512GB NVME but want 2TB of storage. I purchased all of my disks from goharddrive.com through NewEgg and had good luck with that. Here’s what I think:

  • Buy two 2TB disks and use BTRFS RAID1 in your server build (more than 2TB if that’s in budget)
  • Buy one 2TB disk today and plan on a second one later this year if you want to manage the expense
  • I am having a fine experience with 5600 RPM disks - cheap and good, not fast. With your memory you’ll get lots of caching to improve storage performance. Shop for NAS disks - they are more server like (more reliable, lower temperature, etc.) It’s okay to use new old stock, remanufactured, reconditioned, etc. If they work, they’ll work.
  • RAID1 with btrfs has saved the day more than once for me, I can’t recommend this highly enough
  • You can install on your NVME with
    – swap
    – /boot
    – / as btrfs
  • Then add your 2TB disk(s) to the BTRFS / volume and change to RAID1 and rebalance

I’d caution you that when you have a nice home server, you may want to consume more storage than you are thinking. Backing up your desktop and mobile devices to FB with syncthing is nice, you may start using I2P for torrents. It’s just so easy to fill a disk.

A key consideration for me is whether your PC is quiet, or if you can locate it where you can’t hear it. It will always be on. If it’s noisy you may consider a new and quiet power supply.

If your PC BIOS supports “restore last power state,” or some such it will boot automatically after a power outage. This is a wonderful option for your server if you have it.

Use your new FreedomBox as the router - ditch the DMZ. It works great. I plug FB right into my cable modem and then FB manages the home network. It’s beautiful, I’ve had no security issues, and it’s far more reliable than the consumer router products you have to restart all the time. You will need two network interfaces - one for the ISP connection and one for home network connection.

When you talk about the difficulty to round up a keyboard and monitor - that’s a good thing. You’ll need a keyboard and monitor to set FB up - but once your going just run without a keyboard and monitor. It’s an appliance. Mine’s just a cube over here in the corner. I just ignore it and it just works.

I think you’ll like this setup. Here’s the way you do it:

  • Get any necessary firmware packages and put them on a thumb drive.
  • Install the minimal debian net-inst
    – you may need the firmware packages to do that. Read the doco to get that right.
  • DEBIAN_FRONTEND=noninteractive apt-get install freedombox -y
  • take a picture of the freedombox first connection key with your phone
  • comment out your network cards in /etc/network/interfaces
  • reboot and you’re running
1 Like

Thank you Joseph, that is a big help. I have reached the point where I have a running debian box and I am ready to

I am trying to figure out just how to do that. sudo nano or sudo edit asks me for my user password and then tells me I am not in the sudoers file. . . .

Check your profile in plinth/sys/users and see if you have the

Access to all services and system settings (admin)

I believe that will add you as a sudoer. That’s the first option.

Second option: if you have your root password

$su -
password:
#nano /etc/network/interfaces

Third option: do you have another freedombox account that is an administrator?

Option 2 worked as I have the root password. I marked out the network cards and rebooted. I am now able to access the Freedombox screen that asks me to wait while it is installing from a web browser from another desktop on the lan via the ip number the FB box has. The link to freedombox.local did not connect.

I set the main drive to be LVM encrypted. Each time I reboot it asks for the encryption passphrase.

With any luck at all, I will soon be ready to start installing applications in FB. Thanks for all your help.

Cheers, Ken

1 Like

It has been more than an hour installing which seems odd. Once that is done, I will no longer need the monitor, keyboard, mouse on that box. Is it just a matter of unplugging them from the running box or is there a right way to make it headless?

Yes, just unplug them.

Are you waiting on the encrypted partition creation? That takes ages to complete. Hours and hours.

At the start of the debian install, it went through a process of writing data to the whole drive, something about the risk of meta data remaining. I guess that is because I chose LVM encryption. That took about 3 hours. The debian install that then completed seemed to take a normal time. Since I rebooted and the FB install started, it has been a couple of hours. There is probably a way for me to tell whether it is still actually doing something or has just stopped.

Well, the FB install has now been running for 12 hours. When I try to access the server over my lan in a browser pointed to the ip number of the FB server I still get the FB logo screen with a message at the top saying I need to wait until FB is installed to use it. That screen seems to auto refresh every few seconds as it has been doing for hours. I can wait on it to finish but I wonder if it is actually doing anything. When I look at the processes running on the server, I don’t see much activity at all. I think its stuck. I have now restarted the FB server. From my desktop accessing FB via a browser pointing to the ip number of the FB server, I get the same refreshing screen telling me I will be able to use FB once the installation is complete. Restarting doesn’t seem to have made a difference. Maybe I should start from scratch and not enable LVM disk encryption.

I did a fresh debian install using lvm but not encryption and it went smoothly. Busy playing around with apps now. Thanks for your help.

Happy to hear that, @KenW. When I install an operating system it usually takes me about three tries until I’m satisfied. I’d say you’re doing great. I think the encryption is great for laptops which some people like to steal, but I’m not using in on my FreedomBox which stays in the house. You’ll be fine without it. It’s one less thing to go wrong.

1 Like

Tucked it all away only to find the server goes to sleep. I should have thought of that before. I wonder if there is a way to shut that off without having to hook up monitor, mouse, etc. .

Check a couple things before you rearrange the furniture.

When you installed FreedomBox on Debian did you also install a desktop environment? If so there is a support thread on this where Gnome was putting the FreedomBox to sleep.

If you did not install a desktop environment, check the service targets in Cockpit. Go to Services and select the Targets tab.

Here’s hibernate. Use the search field in the targets tab:

Here’s sleep:

You’ll want to “mask” these services if they are active so they don’t trigger. Here’s what Google says about that:


You can mask these from Cockpit using the three dots menu in the service target…
image
(my browser doesn’t render that very well - but there’s a menu with Start, Mask, Pin unit)

If that’s not it, then I’d hook up the keyboard and monitor and look if there are BIOS settings for this.

I did install the regular desktop. Checking out the link you shared. Thanks.

I used this command in the terminal window provided by Cockpit:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

That seems to have taken care of it. Thanks again Joseph.

1 Like