Adapting FreedomBox for an Offline Community Hub in a Public Park

Use Case

I’m involved in a project in a popular community park in Latin America where we want to create a local offline server. The idea is to build a digital space that complements the physical space, where people can co-develop projects, access the park’s archive, and chat.

After researching discontinued projects like PirateBox, experimenting with OpenWRT, and initially setting up FreedomBox, I’m leaning towards FreedomBox for its simplicity and built-in apps. However, I know FreedomBox is designed as a general-purpose personal server, and I’m wondering if it can be configured to meet our needs.

Requirements

Specifically, it should:

  • Operate entirely offline as a self-contained network.
  • Avoid logging users to preserve privacy.

Ideally, it would support:

  • File sharing, particularly focused on accessing the sizeable park archive.
  • Collaborative document editing.
  • Chat functionality for connected users.

Questions

  1. Is FreedomBox a sensible starting point for this use case, or have you worked with alternatives better suited to similar projects?
  2. What configurations are needed for FreedomBox to operate fully offline and meet our specific needs?
2 Likes

From what I’ve read online, I believe @sunil and @njoseph have first hand experience in this.

I also believe there is a very good guide on how to achieve this; published by the Freedombox Foundation.

2 Likes

Overall, I think that FreedomBox may be is one of the best ways to setup offline networks.

Operate entirely offline as a self-contained network.

Day-to-day operation of FreedomBox does not require it to be connected to the Internet. Some applications (such as kiwix) in FreedomBox are specifically meant for offline networks.

Avoid logging users to preserve privacy.

By default system-wide logging (which is a feature for most apps) happens to memory and is kept for one day or until the system is rebooted. This can be easily changed to perform no logging at all. We are willing to work on fixes for the outlier apps that don’t confirm to this approach yet.

File sharing, particularly focused on accessing the sizeable park archive.

Depending on how you want to make the archive available and the type of data there are many apps in FreedomBox suitable for this: Nextcloud, Offline Wikipedia/Khan Academy (Kiwix), Web sharing (Sharing), Windows network sharing (Samba), single file sharing (bepasty), media streaming (minidlna), file synchronization (Syncthing), code sharing (Gitweb), etc.

Collaborative document editing.

We have Nextcloud and infinoted that can be used for offline text file editing.

Chat functionality for connected users.

We have Matrix Synapse, ejabberd (XMPP), Mumble for chat, audio/video calling.

We can setup an audio call to help you with advice and setup.

Caveats

  • You will need to connect FreedomBox to the Internet to download the initial set of apps. However, should your use case be significant, we can work on a FreedomBox OS image that will not require this.
  • You will need to connect FreedomBox to the Internet from time to time for security updates and fixes. Unfortunately, due to the nature of all networking software and hardware (including CPUs), a system can’t remain secure even when it is fully offline. New flaws are found all the time and will require security updates. This is somewhat of a less concern in tight-knit communities.
2 Likes

Hey there!

I’m looking to do a very similar project and am looking at the FreedomBox for Communities e-book, but am feeling a bit lost. I’d like the project to work offline, from a Pi 3, and function as a captive portal where people can view available resources from that first page that typically prompts people to log in, but for this they shouldn’t need to log in to engage with the content.

I looked through all the pages in the networking section of the ebook, but it didn’t seem like any of them touched on offline networks. Additionally, when I go to set up a static IP address, it requires interaction with my router, which is my home router, and won’t be useful when I leave my home with the project and deploy it without internet access. All this to say I’m unsure of how to proceed.

I’ve used pis before and have done a bit of web dev so I’m not completely new to all this, but I’m certainly not a network expert—I feel like I’m missing something here.