Skip to content

A Docker image for publishing your own Android application store using F-Droid

Notifications You must be signed in to change notification settings

MPTCP-smartphone-thesis/docker-fdroid

 
 

Repository files navigation

docker-fdroid

A Docker image for publishing your own Android application store using F-Droid.

The F-Droid server tools provide various scripts and tools that are used to maintain the main F-Droid application repository. You can use these same tools to create your own additional or alternative repository for publishing, or to assist in creating, testing and submitting metadata to the main repository.

This gotsunami/fdroid Docker image aims to ease the building of a "simple binary repository", as defined in F-Droid's server manual.

That means only publishing of binary APKs is supported at the moment. If all you want is easily making available a bunch of Android applications to users through an F-Droid repository, with automatic app updates, this Docker image might do the trick.

Quick Start

First, pull the Docker image:

$ docker pull gotsunami/fdroid

Then create a directory where all your Android .apk files will belong to:

$ export APK_REPO=~/apk
$ mkdir $APK_REPO

Copy some APK files there then build the F-Droid repository (static data) with:

$ docker run --rm -v $APK_REPO:/apk/repo gotsunami/fdroid

That's it! Your APK_REPO directory holds applications and metadata ready to be served with your web server.

Serving Files With nginx

If you need to install a web server for serving static content from this new repository, just grab nginx and run it:

$ docker pull nginx
$ docker run -d --name nginx-fdroid \
    -v $APK_REPO:/usr/share/nginx/html:ro \
    -p 8080:80 nginx

Customization

You might certainly want to customize the repo description and title, right? Just grab a copy of the config.py file:

$ wget https://raw.githubusercontent.com/gotsunami/docker-fdroid/master/config.py

Make the appropriate changes then use it when refreshing your application repository:

$ docker run --rm -v $APK_REPO:/apk/repo -v config.py:/apk/config.py gotsunami/fdroid

Signing Your Repository

Following the instructions for signing your repository, generate a key if you need one with:

$ keytool -genkey -v -keystore my.keystore -alias repokey -keyalg RSA \
    -keysize 2048 -validity 10000

Then edit your custom config.py by setting up the keystorepass, keypass, keystore and repo_keyalias variables accordingly.

Finally, run an update using your keystore with:

$ docker run --rm -v $APK_REPO:/apk/repo \
    -v config.py:/apk/config.py \
    -v my.keystore:/tmp/my.keystore \
    gotsunami/fdroid

About

A Docker image for publishing your own Android application store using F-Droid

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 92.7%
  • Shell 4.6%
  • Makefile 2.7%