by matlink

matlink /gplayweb

GPlayWeb: A Web interface for GPlayCli

132 Stars 21 Forks Last release: Not found Other 77 Commits 0 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

GPlayWeb: A Web interface for GPlayCli

Original work of @matlink forked to use latest versions of fdroid and gplaycli and providing a Dockerfile for easy install.

Docker install (gplayweb + fdroid)

First, install docker.

Then, to use the last version of container on dockerhub:

docker run --name gplayweb -p matlink/gplayweb

You can also build the container yourself

docker build -t gplayweb .

Then run it

docker run --name gplayweb -p gplayweb

To preserve gplayweb and fdroid data, mount a local folder as docker volume:

docker run --name gplayweb -p -v ~/fdroid/:/data/fdroid matlink/gplayweb

Then, you may want to expose your (static) fdroid repo using a nginx container

docker run --name fdroid-nginx -p 8080:80 -v ~/fdroid/repo:/usr/share/nginx/html:ro nginx

As a result, you can access gplayweb on localhost and the fdroid repository on your.ip.address:8080.

Installation (consider using a virtualenv)

For both methods, you'll need those packages

# apt-get install python-dev python-pip libffi-dev

pip method


pip install gplayweb
to install it. If you got a SandboxViolation for gplaycli, install it before with
pip install gplaycli
. After that, rename /etc/gplayweb/gplayweb.conf.example to /etc/gplayweb/gplayweb.conf and change parameters.

git method

  • Clone this repo:

    $ git clone
  • Install

    requirements with
    $ pip install -r requirements.txt
  • Copy

    and change the settings (you can comment unwanted lines out with #)
  • If you plan to add compatibility with F-Droid repo, ensure to uncomment the two config variables



$ ./gplayweb -h
usage: [-h] [-c CONF_FILE]

A web interface for GPlayCli

optional arguments: -h, --help show this help message and exit -c CONF_FILE, --config CONF_FILE Use a different config file than gplayweb.conf

FDroid Compatibility

Based on python-imaging may be needed to update FDroid repository, don't forget to install it.

  • create user gplayweb :
    adduser gplayweb --disabled-password
  • go to /opt directory :
    cd /opt
  • get android SDK :
  • untar it :
    tar xvfz android-sdk_r24.3.4-linux.tgz
  • give it to gplayweb :
    chown gplayweb android-sdk-linux -R
  • put ANDROIDHOME env variable to your .bashrc : `echo export ANDROIDHOME=/opt/android-sdk-linux >> ~/.bashrc`
  • put android tools to your PATH variable :
    echo 'export PATH=$PATH:$ANDROID_HOME/tools' >> ~/.bashrc
  • reload .bashrc :
    source ~/.bashrc
  • if you don't have java (
    java -version
    ) :
    apt-get install openjdk-7-jdk
  • install Android 22 SDK :
    android update sdk --no-ui -a --filter 4
  • install platform-tools :
    android update sdk --no-ui --filter platform-tools
  • clone fdroidserver :
    cd /opt && git clone && cd fdroidserver
  • install fdroidserver :
    sudo apt-get install fdroidserver
  • go to the folder where you want to host your fdroid repo :
    cd /opt/fdroid/
  • give it to gplayweb :
    chown gplayweb . -R
  • for android aapt to work, you need these packages :
    apt-get install lib32stdc++6 lib32z1
  • initialize fdroid repo :
    fdroid init
  • then in /etc/gplayweb/gplayweb.conf :




LSB script

It might still be a bit buggy. Change

for the user which will run the daemon (gplayweb in this example), and
for the path of the android-sdk you have configured earlier (/opt/android-sdk-linux in this example).
$ /etc/init.d/gplayweb {start|stop|restart|status}

Please me hard enough if you want a systemd unit :D



pip uninstall gplayweb
, and remove conf, templates and static files with
rm -rf /etc/gplayweb /usr/share/gplayweb
. Should be clean, except python dependancies for gplayweb and gplaycli.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.