4
2
Fork
You've already forked repomaker
0
[MIRROR] An easy-to-use web application to create your own F-Droid repositories, https://gitlab.com/fdroid/repomaker
  • Python 69.9%
  • HTML 15%
  • JavaScript 7.6%
  • SCSS 6.2%
  • Shell 1%
  • Other 0.3%
Find a file
2026年06月03日 17:21:10 +03:00
.idea Organize Python imports 2017年04月13日 13:02:33 -03:00
.well-known 💸 add .well-known/funding-manifest-urls 2025年05月22日 17:34:46 +02:00
debian fix merge conflics in all past commits 2026年04月21日 20:40:27 +03:00
doc Point to GitHub's deploy keys docs and add info on server SSH keys 2017年09月18日 10:04:33 -03:00
docker add CSRF_TRUSTED_ORIGINS in .env 2026年04月24日 12:21:24 +03:00
repomaker check out if coverage is being picked 2026年05月27日 19:18:16 +03:00
tests Compatibility for Django 2.0/2.1/2.2 and Debian/bullseye 2022年12月13日 19:59:43 +00:00
.dockerignore Add README for Docker deployment 2018年02月21日 17:45:21 -03:00
.gitignore add vagrant setup based on the .gitlab-ci.yml setup 2020年10月08日 13:49:42 +02:00
.gitlab-ci.yml remove coverage 2026年05月27日 19:58:00 +03:00
.pylintrc fix merge conflics in all past commits 2026年04月21日 20:40:27 +03:00
.weblate add .weblate to setup wlc 2020年10月07日 10:34:50 +02:00
CHANGELOG.md Add date to CHANGELOG.md 2026年05月28日 02:00:57 +03:00
CONTRIBUTING.md add markdownlint recommendations 2026年05月21日 18:41:03 +03:00
Dockerfile update DOckerfile to new format 2026年04月24日 00:33:46 +03:00
LICENSE First working prototype 2017年03月21日 12:44:44 -03:00
manage.py Make repomaker installable 2017年07月24日 15:41:22 -03:00
MANIFEST.in Include tests in source distribution and use new website 2018年01月18日 12:26:46 -02:00
package.json add autoprefixer, postcss and postcss-cli which are required for packageing 2026年05月24日 10:09:03 +03:00
pre-release.sh python packaging for repomaker 2026年05月24日 18:42:17 +03:00
purge.sh Add pre-release script and move stuff to data directory 2017年07月27日 18:29:13 -03:00
README.md add rclone to readme.md 2026年05月27日 19:40:23 +03:00
requirements-dev.txt make use of django 4.2.30 2026年05月27日 20:10:43 +03:00
requirements-gui.txt recitfy requirements 2026年05月27日 19:45:50 +03:00
requirements.txt explicit setting of androguard==4.1.3 2026年06月03日 17:21:10 +03:00
run-tests.sh Parallelize tests 2017年08月01日 09:43:47 +02:00
run.sh Download remote app icons in dedicated tasks 2017年08月07日 10:06:41 -03:00
setup.cfg fix descriptor_file 2026年05月24日 17:45:29 +03:00
setup.py check out if coverage is being picked 2026年05月27日 19:18:16 +03:00
setup.sh Compatibility for Django 2.0/2.1/2.2 and Debian/bullseye 2022年12月13日 19:59:43 +00:00
update-translations.sh Updated translations from Weblate 2018年01月25日 17:47:55 -02:00
Vagrantfile Compatibility for Django 2.0/2.1/2.2 and Debian/bullseye 2022年12月13日 19:59:43 +00:00

Repomaker

pipeline status coverage report translation status

Installation

There are several different ways to install Repomaker.

Flatpak

Repomaker is available as Flatpak and distributed on Flathub. Once you got Flatpak installed on your system, either go to your system's app store or execute the following commands (without sudo!):

$ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
$ flatpak install flathub org.fdroid.Repomaker
$ flatpak run --runtime=org.gnome.Sdk org.fdroid.Repomaker

On a server / Docker

There is a test image available in Docker for quickly trying out Repomaker. Note that you can run Repomaker on a server and make use of its multi user functionality. See Docker docs and the general docs for more information on that topic.

PyPi

If you don't want or can't install Repomaker with one of the mentioned methods, you can install it with pip from PyPi.

Requirements

Please make sure you have the following requirements installed before proceeding with the installation.

Install

  • pip for installation of Python 3 dependencies
  • virtualenv to create an isolated Python environment
  • Python development and build files for installing/building some dependencies

On Debian, you can simply run this:

apt install python3-pip python3-wheel python3-dev virtualenv build-essential

Runtime

  • keytool from Java Runtime Environment (JRE)
  • jarsigner from Java JDK for signing the repo indexes
  • libmagic for mime-type detection
  • rsync to publish repositories
  • git to publish repositories to git mirrors
  • rclone to publish repositories

On Debian, you can simply run this:

sudo apt install fdroidserver libmagic1 rsync rclone git \
 python3-pyqt5.qtwebengine python3-pyqt5.qtwebkit

Install into virtual environment

To not mess with other Python libraries you have installed, we will install repomaker into its own isolated Python environment.

virtualenv -p /usr/bin/python3 repomaker
source repomaker/bin/activate
pip install repomaker[gui]

You should now be able to start by typing:

repomaker

Troubleshooting

First check that you really have all dependencies from above installed.

If the installation fails with something about openssl, try to install libssl-dev with apt install libssl-dev.

If the graphical user interface fails to start, you can try running repomaker-server and repomaker-tasks. If that works, you should be able to open 127.0.0.1:8000 in your browser.

Development

To work on repomaker, you need npm to fetch CSS and JavaScript dependencies: apt install npm.

Then run npm install to install these dependencies.

If you want to run repomaker in your browser rather then using the GUI, you can start it like this:

virtualenv -p /usr/bin/python3 repomaker
source repomaker/bin/activate
./setup.sh
./run.sh

Vagrant VM

There also a Vagrant setup based on the GitLab CI setup, it is a quick way to get a development setup. First, set up Vagrant on your machine, then run:

$ cd repomaker
$ vagrant up
$ vagrant ssh
vagrant@basebox-buster64:~$ ip a | sed -En 's,.*inet +(192\.168\.[0-9]+\.[0-9]+).*,open http://1円:8000,p'
open http://192.168.121.37:8000
vagrant@basebox-buster64:~$ cd $CI_PROJECT_DIR
vagrant@basebox-buster64:/builds/fdroid/repomaker$ ./tests/test-units.sh

Translation

  • GNU gettext apt install gettext

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.

Translating

Everything can be translated. See Translation and Localization for more info.

  • To update translations, run ./update-translations.sh.
  • To add a new translation, run python3 manage.py makemessages -l <lg> where <lg> is the language code, e.g. de.

translation status