I’m working in Foxconn. We want to develop our own internal apps. But in order to manage any kind of updates, we want to integrate our own App Store or Android Apps Repository in our servers.
I’m looking for a minimum hardware and software requirements to setup a functional F-Droid Server to manage +200 active users.
Hi rauojeda. I have a Nokia N1 made by Foxconn. It is the China version with Android 5.1.1 with bootloader locked. I’m using F-Droid but i would love to install Google Play. Once you work there, do you by any chance know how to unlock it or even rollback to 5.0 so that Google Play can be installed? Many thanks
fdroidserver name is a bit misleading. It does not serve any user requests. It builds apps and generates index file (that’s app repo metadata). Its output (file tree as is) is supposed to be transferred to a Web server, which serves end users. So fdroidserver is similar to a static Web site generator.
To answer your question, fdroidserver itself isn’t resource hungry at all. It requires Python3 and some modules from PIP.
@rauojeda for the actual HTTP server component, its really minimal since the server side is just static files served from a webserver. Any kind of CDN or webserver will do. For 200 users, you could probably run it on a Raspberry Pi just fine.
The more intensive part is generating the index and icons. The model there is that someone maintains the canonical app repository on their laptop or other machine. They included updates, and then publish the complete app repository onto the public webserver, or in your case, an internal webserver probably.
I forgot to mention, there is also the whole buildserver integration component. That needs to have enough resources to build the apps that you require. For most Android apps, that’s pretty minimal, like 2gigs RAM. For big apps like Firefox, you need at least 4gigs or more. If you want to publish new builds really fast, and have lots of apps, then of course you’ll need a pretty beefy build machine.