diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 8c4978c7..d9080062 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -9,10 +9,25 @@ jobs: steps: - uses: actions/checkout@v2 - - name: Set up Python 3 - uses: actions/setup-python@v4 - with: - python-version: '3.10' - - name: Check apps.json + + - name: Check JSON validity for apps.json run: | - python -m json.tool apps.json + cat apps.json | jq >/dev/null + + - name: Check all working apps have consistent app id / app url + run: | + FAULTY_APPS="false"; + for LINE in $(cat apps.json | jq -r 'to_entries[] | select ( .value.state=="working" ) | "\(.key)|\(.value.url)"') + do + APP=$(echo $LINE | awk -F'|' '{print $1}') + URL_END=$(echo $LINE | awk -F'/' '{print $NF}') + [ "$APP" == "$(echo $APP | tr [A-Z] [a-z])" ] || { FAULTY_APPS="true"; echo "$APP : app id should be lowercase" >&2; } + [ "$URL_END" == "${APP}_ynh" ] || { FAULTY_APPS="true"; echo "$APP : the url should end with ${APP}_ynh" >&2; } + done + [ $FAULTY_APPS = "false" ] + + - name: Check all working apps have a category + run: | + APPS_WITH_NO_CATEGORY=$(jq -e -r '.[] | select ( .state=="working" ) | select ( has("category") | not )' apps.json || true) + [ "$APPS_WITH_NO_CATEGORY" == "" ] || { echo "Some working apps are missing a category: $APPS_WITH_NO_CATEGORY" >&2; false; } + diff --git a/README.md b/README.md index c185bd68..dbbf1353 100644 --- a/README.md +++ b/README.md @@ -23,26 +23,36 @@ https://app.yunohost.org/default/. N.B.: The YunoHost project will **NOT** integrate in its catalog applications that are not based on free-software upstreams. +N.B.2: We strongly encourage you to transfer the ownership of your repository to +the YunoHost-Apps organization on GitHub, such that the community will help you +with keeping your app working and up to date with packaging evolutions. + To add your application to the catalog: * Fork this repository and edit the [apps.json](https://github.com/YunoHost/apps/tree/master/apps.json) file * Add your app's ID and git information at the right alphabetical place * Indicate the app's functioning state: `notworking`, `inprogress`, or `working` -* *Do not* add the level entry by yourself. Our automatic test suite ("the CI") will handle it. +* Indicate the app category, which you can pick from `categories.yml` +* Indicate any anti-feature that your app may be subject to, see `antifeatures.yml` (or remove the `antifeatures` key if there's none) +* Indicate if your app can be thought of as an alternative to popular proprietary services (or remove the `potential_alternative_to` key if there's none) +* *Do not* add the `level` entry by yourself. Our automatic test suite ("the CI") will handle it. * Create a [Pull Request](https://github.com/YunoHost/apps/pulls/) App example addition: ```json - "wallabag": { - "url": "https://github.com/abeudin/wallabag_ynh", - "state": "working" + "your_app": { + "antifeatures": [ + "deprecated-software" + ], + "potential_alternative_to": [ + "YouTube" + ], + "category": "pick_the_appropriate_category", + "state": "working", + "url": "https://github.com/YunoHost-Apps/your_app_ynh" } ``` -N.B.: We strongly encourage you to transfer the ownership of your repository to -the YunoHost-Apps organization on GitHub, such that the community will help you -with keeping your app working and up to date with packaging evolutions. - -N.B.2: Implicitly, the catalog publishes the `HEAD` of branch `master` +N.B: Implicitly, the catalog publishes the `HEAD` of branch `master` (this can be overwritten by adding keys `branch` and `revision`). Therefore, **be careful that any commit on the `master` branch will automatically be published**. **We strongly encourage you to develop in separate branches**, and only @@ -50,28 +60,9 @@ merge changes that were carefully tested. Get in touch with the Apps group to obtain an access to the developer CI where you'll be able to test your app easily. -### Updating apps' level in the catalog +### Updating apps levels in the catalog -App packagers should *not* manually set their apps' level. The levels of all the apps are automatically updated once per week on Friday. - -#### Helper script - -You can use the add_or_update.py Python script to add or update -your app from one of the 2 JSON files. - -Usage: - -```bash -./add_or_update.py apps.json [github/gitlab url OR app name [github/gitlab url OR app name [github/gitlab url OR app name ...]]] -``` - -### How to help translating - -Update on Nov. 2020: this part is broken / not maintained anymore for the -moment... - -We invite you to use [translate.yunohost.org](https://translate.yunohost.org/) -instead of doing Pull Request for files in `locales` folder. +App packagers should *not* manually set their apps' level. The levels of all the apps are automatically updated once per week on Friday, according to the results from the official app CI. ### Apps flagged as not-maintained diff --git a/add_or_update.py b/add_or_update.py deleted file mode 100755 index 33c72915..00000000 --- a/add_or_update.py +++ /dev/null @@ -1,88 +0,0 @@ -#!/usr/bin/env python2 - -import os -import sys -import json - -from urllib2 import urlopen -from urlparse import urlparse - -states = { - 1: "notworking", - 2: "inprogress", - 3: "working", -} - -if __name__ == '__main__': - if not len(sys.argv[1:]): - print("I need a json file as first argument and a list of github urls") - sys.exit(0) - - if len(sys.argv[1:]) < 2: - print("I need a list of github urls or app names after the json file") - sys.exit(0) - - if not os.path.exists(sys.argv[1]): - print("The json file '%s' doesn't exist" % sys.argv[1]) - - content = json.load(open(sys.argv[1], "r")) - - for url in sys.argv[2:]: - if not url.startswith("http"): - if url in content: - url = content[url]["url"] - else: - print "App name '%s' not in %s" % (url, sys.argv[1]) - sys.exit(1) - - if url.endswith("/"): - url = url[:-1] - - if url.endswith(".git"): - url = url[:-len(".git")] - - if not url.startswith("https://github.com"): - sys.stderr.write("WARNING: url '%s' doesn't starts with https://github.com, we will try with gitlab api\n" % url) - - owner, repo = filter(None, url.split("/"))[-2:] - project_name = filter(None, url.split("/"))[-1].replace("_ynh", "") - - if url.startswith("https://github.com"): - git_data = json.load(urlopen("https://api.github.com/repos/%(owner)s/%(repo)s/commits" % {"owner": owner, "repo": repo})) - revision = git_data[0]["sha"] - else: - parsed_uri = urlparse(url) - base_url = '{uri.scheme}://{uri.netloc}/'.format(uri=parsed_uri) - # Try with gitlab api - git_data = json.load(urlopen("%(base_url)sapi/v4/projects/%(owner)s%%2F%(repo)s/repository/commits/HEAD" % {"base_url": base_url, "owner": owner, "repo": repo})) - revision = git_data["id"] - - if project_name not in content: - content[project_name] = {} - else: - print("INFO: project already in '%s', I'm updating it" % sys.argv[1]) - - content[project_name]["url"] = url - content[project_name]["revision"] = revision - content[project_name]["branch"] = "master" - - if sys.argv[1] == "official.json": - content[project_name]["state"] = "validated" - - else: - got_state = False - while not got_state: - answer = input("Give me a state for this repository (digit or name) in:\n%s\n\nState: " % "\n".join(["%s: %s" % x for x in sorted(states.items(), key=lambda x: x[0])]) + "\n") - - if answer in states: - answer = states[answer] - got_state = True - elif answer in states.values(): - got_state = True - else: - print("Invalid state.\n") - - content[project_name]["state"] = answer - - open(sys.argv[1], "w").write("\n".join(json.dumps(content, indent=4, sort_keys=True).split(" \n")) + "\n") - os.system("git diff") diff --git a/apps.json b/apps.json index 3d31e6e4..87f0637a 100644 --- a/apps.json +++ b/apps.json @@ -23,7 +23,7 @@ "category": "system_tools", "level": 7, "state": "working", - "url": "https://github.com/YunoHost-Apps/2FAuth_ynh" + "url": "https://github.com/YunoHost-Apps/2fauth_ynh" }, "abantecart": { "category": "publishing", @@ -343,6 +343,15 @@ ], "url": "https://github.com/YunoHost-Apps/bookstack_ynh" }, + "bookwyrm": { + "category": "social_media", + "state": "working", + "maintained": true, + "potential_alternative_to": [ + "ActivityPub" + ], + "url": "https://github.com/YunoHost-Apps/bookwyrm_ynh" + }, "borg": { "category": "system_tools", "level": 6, @@ -391,6 +400,17 @@ ], "url": "https://github.com/YunoHost-Apps/cachet_ynh" }, + "calckey": { + "category": "social_media", + "state": "working", + "maintained": true, + "potential_alternative_to": [ + "Twitter", + "Mastodon", + "Pleroma" + ], + "url": "https://github.com/YunoHost-Apps/calckey_ynh" + }, "calibreweb": { "category": "reading", "level": 8, @@ -662,7 +682,7 @@ "category": "games", "level": 8, "state": "working", - "url": "https://github.com/YunoHost-Apps/Cubiks-2048_ynh" + "url": "https://github.com/YunoHost-Apps/cubiks-2048_ynh" }, "cypht": { "category": "communication", @@ -861,7 +881,7 @@ ], "url": "https://github.com/Jojo144/django_app_ynh" }, - "django_example_ynh": { + "django_example": { "category": "dev", "level": 7, "state": "working", @@ -2142,7 +2162,7 @@ "level": 0, "revision": "a38a83fea289f77910fd98b34ea58eea5f5909db", "state": "notworking", - "url": "https://github.com/YunoHost-Apps/LBCAlerte_ynh" + "url": "https://github.com/YunoHost-Apps/lbcalerte_ynh" }, "leed": { "category": "reading", @@ -2685,6 +2705,7 @@ "url": "https://github.com/YunoHost-Apps/modernpaste_ynh" }, "mongo-express": { + "branch": "main", "category": "system_tools", "state": "working", "subtags": [ @@ -3070,6 +3091,17 @@ "state": "working", "url": "https://github.com/YunoHost-Apps/openproject_ynh" }, + "opensearch": { + "category": "dev", + "state": "working", + "subtags": [ + "programming" + ], + "potential_alternative_to": [ + "ElasticSearch" + ], + "url": "https://github.com/YunoHost-Apps/opensearch_ynh" + }, "opensondage": { "category": "productivity_and_management", "level": 8, @@ -3577,7 +3609,6 @@ "potential_alternative_to": [ "TikTok" ], - "state": "working", "url": "https://github.com/YunoHost-Apps/proxitok_ynh" }, "psitransfer": { @@ -3731,7 +3762,7 @@ "remotestorage": { "category": "small_utilities", "state": "notworking", - "url": "https://github.com/YunoHost-Apps/RemoteStorage_ynh" + "url": "https://github.com/YunoHost-Apps/remotestorage_ynh" }, "restic": { "category": "system_tools", @@ -3998,7 +4029,7 @@ "category": "small_utilities", "level": 7, "state": "working", - "url": "https://github.com/YunoHost-Apps/Signaturepdf_ynh" + "url": "https://github.com/YunoHost-Apps/signaturepdf_ynh" }, "simple-hash-generator": { "category": "small_utilities", @@ -4022,7 +4053,7 @@ "subtags": [ "websites" ], - "url": "https://github.com/YunoHost-Apps/SitemagicCMS_ynh" + "url": "https://github.com/YunoHost-Apps/sitemagiccms_ynh" }, "slingcode": { "category": "dev", @@ -4166,6 +4197,11 @@ "state": "notworking", "url": "https://github.com/YunoHost-Apps/staticwebapp_ynh" }, + "statping_ng": { + "category": "system_tools", + "state": "working", + "url": "https://github.com/YunoHost-Apps/statping_ng_ynh" + }, "streama": { "category": "multimedia", "level": 6, @@ -4586,7 +4622,7 @@ "category": "multimedia", "level": 6, "state": "working", - "url": "https://github.com/YunoHost-Apps/UMS_ynh" + "url": "https://github.com/YunoHost-Apps/ums_ynh" }, "unattended_upgrades": { "category": "system_tools", diff --git a/check_id_unicity.py b/check_id_unicity.py deleted file mode 100644 index 53ab7605..00000000 --- a/check_id_unicity.py +++ /dev/null @@ -1,56 +0,0 @@ -import sys -import json -import requests - - -def get_json(url, verify=True, token=None): - - try: - # Retrieve and load manifest - if ".github" in url: - r = requests.get(url, verify=verify, auth=token) - else: - r = requests.get(url, verify=verify) - r.raise_for_status() - return r.json() - except requests.exceptions.RequestException as e: - print("-> Error: unable to request %s, %s" % (url, e)) - return None - except ValueError as e: - print("-> Error: unable to decode JSON from %s : %s" % (url, e)) - return None - - -def main(apps): - for app_id, app_data in apps.items(): - url = app_data["url"] - github_repo_name = url.split("/")[-1].replace("_ynh", "") - - if app_id != github_repo_name: - print "[%s] GitHub repo name is not coherent with app id: '%s' vs '%s' (%s)" % (app_id, app_id, url.split("/")[-1], url) - - owner, repo_name = url.split("/")[-2:] - - raw_url = "https://raw.githubusercontent.com/%s/%s/%s/manifest.json" % ( - owner, repo_name, app_data["revision"] - ) - - manifest = get_json(raw_url) - - if manifest is None: - continue - - manifest_id = manifest["id"] - if app_id != manifest_id: - print "[%s] manifest id is different from app id: '%s' vs '%s' (manifest_id" % (app_id, app_id, manifest_id) - - if manifest_id != github_repo_name: - print "[%s] manifest id is different from GitHub repo name: '%s' vs '%s' (%s)" % (app_id, manifest_id, url.split("/")[-1], url) - - -if __name__ == '__main__': - if not sys.argv[1:]: - print "Usage: python check_id_unicity.py list.json" - sys.exit(1) - - main(json.load(open(sys.argv[1]))) diff --git a/list_builder.py b/list_builder.py index 8e3debe2..dd049eb3 100755 --- a/list_builder.py +++ b/list_builder.py @@ -213,6 +213,16 @@ def build_catalog(): if "manifest" in app and "resources" in app["manifest"]: del app["manifest"]["resources"] + for appid, app in result_dict_with_manifest_v2.items(): + appid = appid.lower() + if os.path.exists(f"logos/{appid}.png"): + logo_hash = subprocess.check_output(["sha256sum", f"logos/{appid}.png"]).strip().decode("utf-8").split()[0] + os.system(f"cp logos/{appid}.png builds/default/v3/logos/{logo_hash}.png") + # FIXME: implement something to cleanup old logo stuf in the builds/.../logos/ folder somehow + else: + logo_hash = None + app["logo_hash"] = logo_hash + os.system("mkdir -p ./builds/default/v3/") with open("builds/default/v3/apps.json", "w") as f: f.write( diff --git a/logos/adguardhome.png b/logos/adguardhome.png new file mode 100644 index 00000000..78bf3496 Binary files /dev/null and b/logos/adguardhome.png differ diff --git a/logos/adminer.png b/logos/adminer.png new file mode 100644 index 00000000..65b3aab0 Binary files /dev/null and b/logos/adminer.png differ diff --git a/logos/aeneria.png b/logos/aeneria.png new file mode 100644 index 00000000..e1fe3662 Binary files /dev/null and b/logos/aeneria.png differ diff --git a/logos/agendav.png b/logos/agendav.png new file mode 100644 index 00000000..b0b44f6f Binary files /dev/null and b/logos/agendav.png differ diff --git a/logos/airsonic.png b/logos/airsonic.png new file mode 100644 index 00000000..b64ea9fe Binary files /dev/null and b/logos/airsonic.png differ diff --git a/logos/alltube.png b/logos/alltube.png new file mode 100644 index 00000000..6d83e053 Binary files /dev/null and b/logos/alltube.png differ diff --git a/logos/ampache.png b/logos/ampache.png new file mode 100644 index 00000000..91a6831a Binary files /dev/null and b/logos/ampache.png differ diff --git a/logos/anarchism.png b/logos/anarchism.png new file mode 100644 index 00000000..d160a61c Binary files /dev/null and b/logos/anarchism.png differ diff --git a/logos/archivebox.png b/logos/archivebox.png new file mode 100644 index 00000000..c6aa4cee Binary files /dev/null and b/logos/archivebox.png differ diff --git a/logos/audiobookshelf.png b/logos/audiobookshelf.png new file mode 100644 index 00000000..9ebf834f Binary files /dev/null and b/logos/audiobookshelf.png differ diff --git a/logos/backdrop.png b/logos/backdrop.png new file mode 100644 index 00000000..3682858e Binary files /dev/null and b/logos/backdrop.png differ diff --git a/logos/baikal.png b/logos/baikal.png new file mode 100644 index 00000000..5f59a9b3 Binary files /dev/null and b/logos/baikal.png differ diff --git a/logos/bazarr.png b/logos/bazarr.png new file mode 100644 index 00000000..5a120a6a Binary files /dev/null and b/logos/bazarr.png differ diff --git a/logos/beehive.png b/logos/beehive.png new file mode 100644 index 00000000..d6f220c1 Binary files /dev/null and b/logos/beehive.png differ diff --git a/logos/biboumi.png b/logos/biboumi.png new file mode 100644 index 00000000..c6e018c4 Binary files /dev/null and b/logos/biboumi.png differ diff --git a/logos/bicbucstriim.png b/logos/bicbucstriim.png new file mode 100644 index 00000000..a868cfcf Binary files /dev/null and b/logos/bicbucstriim.png differ diff --git a/logos/blogotext.png b/logos/blogotext.png new file mode 100644 index 00000000..d129893b Binary files /dev/null and b/logos/blogotext.png differ diff --git a/logos/bludit.png b/logos/bludit.png new file mode 100644 index 00000000..5a8c9328 Binary files /dev/null and b/logos/bludit.png differ diff --git a/logos/bookstack.png b/logos/bookstack.png new file mode 100644 index 00000000..5791636d Binary files /dev/null and b/logos/bookstack.png differ diff --git a/logos/borg.png b/logos/borg.png new file mode 100644 index 00000000..ee2667bd Binary files /dev/null and b/logos/borg.png differ diff --git a/logos/borgserver.png b/logos/borgserver.png new file mode 100644 index 00000000..ee2667bd Binary files /dev/null and b/logos/borgserver.png differ diff --git a/logos/cachet.png b/logos/cachet.png new file mode 100644 index 00000000..4aa39f6a Binary files /dev/null and b/logos/cachet.png differ diff --git a/logos/calibreweb.png b/logos/calibreweb.png new file mode 100644 index 00000000..a8424ee5 Binary files /dev/null and b/logos/calibreweb.png differ diff --git a/logos/castopod.png b/logos/castopod.png new file mode 100644 index 00000000..3fa43c8d Binary files /dev/null and b/logos/castopod.png differ diff --git a/logos/cinny.png b/logos/cinny.png new file mode 100644 index 00000000..495b004c Binary files /dev/null and b/logos/cinny.png differ diff --git a/logos/civicrm_drupal7.png b/logos/civicrm_drupal7.png new file mode 100644 index 00000000..d0657a5f Binary files /dev/null and b/logos/civicrm_drupal7.png differ diff --git a/logos/cockpit.png b/logos/cockpit.png new file mode 100644 index 00000000..4e5da1ba Binary files /dev/null and b/logos/cockpit.png differ diff --git a/logos/code-server.png b/logos/code-server.png new file mode 100644 index 00000000..795fc143 Binary files /dev/null and b/logos/code-server.png differ diff --git a/logos/codimd.png b/logos/codimd.png new file mode 100644 index 00000000..63e15b6a Binary files /dev/null and b/logos/codimd.png differ diff --git a/logos/collabora.png b/logos/collabora.png new file mode 100644 index 00000000..37814808 Binary files /dev/null and b/logos/collabora.png differ diff --git a/logos/commento.png b/logos/commento.png new file mode 100644 index 00000000..e85e509d Binary files /dev/null and b/logos/commento.png differ diff --git a/logos/concrete5.png b/logos/concrete5.png new file mode 100644 index 00000000..6813324d Binary files /dev/null and b/logos/concrete5.png differ diff --git a/logos/converse.png b/logos/converse.png new file mode 100644 index 00000000..bf2d8636 Binary files /dev/null and b/logos/converse.png differ diff --git a/logos/conversejs.png b/logos/conversejs.png new file mode 100644 index 00000000..bf2d8636 Binary files /dev/null and b/logos/conversejs.png differ diff --git a/logos/couchpotato.png b/logos/couchpotato.png new file mode 100644 index 00000000..a3f528d1 Binary files /dev/null and b/logos/couchpotato.png differ diff --git a/logos/cowyo.png b/logos/cowyo.png new file mode 100644 index 00000000..cd3f2496 Binary files /dev/null and b/logos/cowyo.png differ diff --git a/logos/cryptpad.png b/logos/cryptpad.png new file mode 100644 index 00000000..f74705bd Binary files /dev/null and b/logos/cryptpad.png differ diff --git a/logos/cypht.png b/logos/cypht.png new file mode 100644 index 00000000..05551674 Binary files /dev/null and b/logos/cypht.png differ diff --git a/logos/diagramsnet.png b/logos/diagramsnet.png new file mode 100644 index 00000000..38496678 Binary files /dev/null and b/logos/diagramsnet.png differ diff --git a/logos/diaspora.png b/logos/diaspora.png new file mode 100644 index 00000000..addb5017 Binary files /dev/null and b/logos/diaspora.png differ diff --git a/logos/discourse.png b/logos/discourse.png new file mode 100644 index 00000000..67154a2d Binary files /dev/null and b/logos/discourse.png differ diff --git a/logos/dokuwiki.png b/logos/dokuwiki.png new file mode 100644 index 00000000..1d2d0029 Binary files /dev/null and b/logos/dokuwiki.png differ diff --git a/logos/dolibarr.png b/logos/dolibarr.png new file mode 100644 index 00000000..b085a391 Binary files /dev/null and b/logos/dolibarr.png differ diff --git a/logos/domoticz.png b/logos/domoticz.png new file mode 100644 index 00000000..c92b7439 Binary files /dev/null and b/logos/domoticz.png differ diff --git a/logos/dotclear2.png b/logos/dotclear2.png new file mode 100644 index 00000000..48d4cc7e Binary files /dev/null and b/logos/dotclear2.png differ diff --git a/logos/droppy.png b/logos/droppy.png new file mode 100644 index 00000000..adbce012 Binary files /dev/null and b/logos/droppy.png differ diff --git a/logos/drupal.png b/logos/drupal.png new file mode 100644 index 00000000..e2947493 Binary files /dev/null and b/logos/drupal.png differ diff --git a/logos/drupal7.png b/logos/drupal7.png new file mode 100644 index 00000000..e2947493 Binary files /dev/null and b/logos/drupal7.png differ diff --git a/logos/duniter.png b/logos/duniter.png new file mode 100644 index 00000000..9316af7f Binary files /dev/null and b/logos/duniter.png differ diff --git a/logos/easyappointments.png b/logos/easyappointments.png new file mode 100644 index 00000000..089645c5 Binary files /dev/null and b/logos/easyappointments.png differ diff --git a/logos/ecko.png b/logos/ecko.png new file mode 100644 index 00000000..b747d48a Binary files /dev/null and b/logos/ecko.png differ diff --git a/logos/elabftw.png b/logos/elabftw.png new file mode 100644 index 00000000..87f9e6c0 Binary files /dev/null and b/logos/elabftw.png differ diff --git a/logos/element.png b/logos/element.png new file mode 100644 index 00000000..f6008e90 Binary files /dev/null and b/logos/element.png differ diff --git a/logos/emailpoubelle.png b/logos/emailpoubelle.png new file mode 100644 index 00000000..4835d488 Binary files /dev/null and b/logos/emailpoubelle.png differ diff --git a/logos/ethercalc.png b/logos/ethercalc.png new file mode 100644 index 00000000..64f8fde0 Binary files /dev/null and b/logos/ethercalc.png differ diff --git a/logos/etherpad_mypads.png b/logos/etherpad_mypads.png new file mode 100644 index 00000000..7ad54c13 Binary files /dev/null and b/logos/etherpad_mypads.png differ diff --git a/logos/excalidraw.png b/logos/excalidraw.png new file mode 100644 index 00000000..913c2396 Binary files /dev/null and b/logos/excalidraw.png differ diff --git a/logos/ffsync.png b/logos/ffsync.png new file mode 100644 index 00000000..618e316f Binary files /dev/null and b/logos/ffsync.png differ diff --git a/logos/filebrowser.png b/logos/filebrowser.png new file mode 100644 index 00000000..28f36cad Binary files /dev/null and b/logos/filebrowser.png differ diff --git a/logos/firefly-iii.png b/logos/firefly-iii.png new file mode 100644 index 00000000..42f2fbc4 Binary files /dev/null and b/logos/firefly-iii.png differ diff --git a/logos/flarum.png b/logos/flarum.png new file mode 100644 index 00000000..e7a4aacd Binary files /dev/null and b/logos/flarum.png differ diff --git a/logos/flood.png b/logos/flood.png new file mode 100644 index 00000000..eb8cb673 Binary files /dev/null and b/logos/flood.png differ diff --git a/logos/fluxbb.png b/logos/fluxbb.png new file mode 100644 index 00000000..2140dc4d Binary files /dev/null and b/logos/fluxbb.png differ diff --git a/logos/focalboard.png b/logos/focalboard.png new file mode 100644 index 00000000..d84d599a Binary files /dev/null and b/logos/focalboard.png differ diff --git a/logos/framaforms.png b/logos/framaforms.png new file mode 100644 index 00000000..1c2b3116 Binary files /dev/null and b/logos/framaforms.png differ diff --git a/logos/freshrss.png b/logos/freshrss.png new file mode 100644 index 00000000..0c0dc338 Binary files /dev/null and b/logos/freshrss.png differ diff --git a/logos/friendica.png b/logos/friendica.png new file mode 100644 index 00000000..7c9129ef Binary files /dev/null and b/logos/friendica.png differ diff --git a/logos/funkwhale.png b/logos/funkwhale.png new file mode 100644 index 00000000..075aa14f Binary files /dev/null and b/logos/funkwhale.png differ diff --git a/logos/ghost.png b/logos/ghost.png new file mode 100644 index 00000000..8a513763 Binary files /dev/null and b/logos/ghost.png differ diff --git a/logos/gitea.png b/logos/gitea.png new file mode 100644 index 00000000..e023d65b Binary files /dev/null and b/logos/gitea.png differ diff --git a/logos/gitlab-runner.png b/logos/gitlab-runner.png new file mode 100644 index 00000000..c11766e1 Binary files /dev/null and b/logos/gitlab-runner.png differ diff --git a/logos/gitlab.png b/logos/gitlab.png new file mode 100644 index 00000000..51468474 Binary files /dev/null and b/logos/gitlab.png differ diff --git a/logos/glowingbear.png b/logos/glowingbear.png new file mode 100644 index 00000000..46b2ec86 Binary files /dev/null and b/logos/glowingbear.png differ diff --git a/logos/gogs.png b/logos/gogs.png new file mode 100644 index 00000000..c07a24cc Binary files /dev/null and b/logos/gogs.png differ diff --git a/logos/gotify.png b/logos/gotify.png new file mode 100644 index 00000000..8711118f Binary files /dev/null and b/logos/gotify.png differ diff --git a/logos/grafana.png b/logos/grafana.png new file mode 100644 index 00000000..cd0a5b43 Binary files /dev/null and b/logos/grafana.png differ diff --git a/logos/grav.png b/logos/grav.png new file mode 100644 index 00000000..327ed0bb Binary files /dev/null and b/logos/grav.png differ diff --git a/logos/grocy.png b/logos/grocy.png new file mode 100644 index 00000000..d1b38ae1 Binary files /dev/null and b/logos/grocy.png differ diff --git a/logos/guacamole.png b/logos/guacamole.png new file mode 100644 index 00000000..66b42ae0 Binary files /dev/null and b/logos/guacamole.png differ diff --git a/logos/halcyon.png b/logos/halcyon.png new file mode 100644 index 00000000..410041b6 Binary files /dev/null and b/logos/halcyon.png differ diff --git a/logos/headphones.png b/logos/headphones.png new file mode 100644 index 00000000..ec8d5bc7 Binary files /dev/null and b/logos/headphones.png differ diff --git a/logos/hedgedoc.png b/logos/hedgedoc.png new file mode 100644 index 00000000..ba467e35 Binary files /dev/null and b/logos/hedgedoc.png differ diff --git a/logos/hextris.png b/logos/hextris.png new file mode 100644 index 00000000..8db52099 Binary files /dev/null and b/logos/hextris.png differ diff --git a/logos/homeassistant.png b/logos/homeassistant.png new file mode 100644 index 00000000..65bad62d Binary files /dev/null and b/logos/homeassistant.png differ diff --git a/logos/horde.png b/logos/horde.png new file mode 100644 index 00000000..e83c4b54 Binary files /dev/null and b/logos/horde.png differ diff --git a/logos/hubzilla.png b/logos/hubzilla.png new file mode 100644 index 00000000..c578ff10 Binary files /dev/null and b/logos/hubzilla.png differ diff --git a/logos/huginn.png b/logos/huginn.png new file mode 100644 index 00000000..c6ac85a8 Binary files /dev/null and b/logos/huginn.png differ diff --git a/logos/humhub.png b/logos/humhub.png new file mode 100644 index 00000000..58c95347 Binary files /dev/null and b/logos/humhub.png differ diff --git a/logos/ihatemoney.png b/logos/ihatemoney.png new file mode 100644 index 00000000..27beeb26 Binary files /dev/null and b/logos/ihatemoney.png differ diff --git a/logos/internetarchive.png b/logos/internetarchive.png new file mode 100644 index 00000000..48558334 Binary files /dev/null and b/logos/internetarchive.png differ diff --git a/logos/invidious.png b/logos/invidious.png new file mode 100644 index 00000000..a2b3d833 Binary files /dev/null and b/logos/invidious.png differ diff --git a/logos/invoiceninja.png b/logos/invoiceninja.png new file mode 100644 index 00000000..36235b1b Binary files /dev/null and b/logos/invoiceninja.png differ diff --git a/logos/invoiceninja5.png b/logos/invoiceninja5.png new file mode 100644 index 00000000..36235b1b Binary files /dev/null and b/logos/invoiceninja5.png differ diff --git a/logos/jackett.png b/logos/jackett.png new file mode 100644 index 00000000..05b992c7 Binary files /dev/null and b/logos/jackett.png differ diff --git a/logos/jappix.png b/logos/jappix.png new file mode 100644 index 00000000..80493819 Binary files /dev/null and b/logos/jappix.png differ diff --git a/logos/jeedom.png b/logos/jeedom.png new file mode 100644 index 00000000..45a3dd8c Binary files /dev/null and b/logos/jeedom.png differ diff --git a/logos/jellyfin.png b/logos/jellyfin.png new file mode 100644 index 00000000..4313ab74 Binary files /dev/null and b/logos/jellyfin.png differ diff --git a/logos/jenkins.png b/logos/jenkins.png new file mode 100644 index 00000000..cca8fce9 Binary files /dev/null and b/logos/jenkins.png differ diff --git a/logos/jirafeau.png b/logos/jirafeau.png new file mode 100644 index 00000000..2d942799 Binary files /dev/null and b/logos/jirafeau.png differ diff --git a/logos/jitsi.png b/logos/jitsi.png new file mode 100644 index 00000000..ae65d22e Binary files /dev/null and b/logos/jitsi.png differ diff --git a/logos/joomla.png b/logos/joomla.png new file mode 100644 index 00000000..452ba05e Binary files /dev/null and b/logos/joomla.png differ diff --git a/logos/jupyterlab.png b/logos/jupyterlab.png new file mode 100644 index 00000000..783706f2 Binary files /dev/null and b/logos/jupyterlab.png differ diff --git a/logos/kanboard.png b/logos/kanboard.png new file mode 100644 index 00000000..53d8e07a Binary files /dev/null and b/logos/kanboard.png differ diff --git a/logos/kavita.png b/logos/kavita.png new file mode 100644 index 00000000..7132bff9 Binary files /dev/null and b/logos/kavita.png differ diff --git a/logos/keeweb.png b/logos/keeweb.png new file mode 100644 index 00000000..9c429c61 Binary files /dev/null and b/logos/keeweb.png differ diff --git a/logos/kimai2.png b/logos/kimai2.png new file mode 100644 index 00000000..29118151 Binary files /dev/null and b/logos/kimai2.png differ diff --git a/logos/kiwiirc.png b/logos/kiwiirc.png new file mode 100644 index 00000000..356acc0b Binary files /dev/null and b/logos/kiwiirc.png differ diff --git a/logos/kodi.png b/logos/kodi.png new file mode 100644 index 00000000..fa81bf8f Binary files /dev/null and b/logos/kodi.png differ diff --git a/logos/komga.png b/logos/komga.png new file mode 100644 index 00000000..a121dfd0 Binary files /dev/null and b/logos/komga.png differ diff --git a/logos/kresus.png b/logos/kresus.png new file mode 100644 index 00000000..c3ae0137 Binary files /dev/null and b/logos/kresus.png differ diff --git a/logos/laverna.png b/logos/laverna.png new file mode 100644 index 00000000..86b9419c Binary files /dev/null and b/logos/laverna.png differ diff --git a/logos/leed.png b/logos/leed.png new file mode 100644 index 00000000..fb8211df Binary files /dev/null and b/logos/leed.png differ diff --git a/logos/librarian.png b/logos/librarian.png new file mode 100644 index 00000000..385e356f Binary files /dev/null and b/logos/librarian.png differ diff --git a/logos/librephotos.png b/logos/librephotos.png new file mode 100644 index 00000000..dbbce638 Binary files /dev/null and b/logos/librephotos.png differ diff --git a/logos/librespeed.png b/logos/librespeed.png new file mode 100644 index 00000000..a5b71d4e Binary files /dev/null and b/logos/librespeed.png differ diff --git a/logos/lidarr.png b/logos/lidarr.png new file mode 100644 index 00000000..973b368a Binary files /dev/null and b/logos/lidarr.png differ diff --git a/logos/limesurvey.png b/logos/limesurvey.png new file mode 100644 index 00000000..c234869d Binary files /dev/null and b/logos/limesurvey.png differ diff --git a/logos/lstu.png b/logos/lstu.png new file mode 100644 index 00000000..d1ab2142 Binary files /dev/null and b/logos/lstu.png differ diff --git a/logos/luckysheet.png b/logos/luckysheet.png new file mode 100644 index 00000000..2ca2155a Binary files /dev/null and b/logos/luckysheet.png differ diff --git a/logos/lufi.png b/logos/lufi.png new file mode 100644 index 00000000..f24397d8 Binary files /dev/null and b/logos/lufi.png differ diff --git a/logos/lutim.png b/logos/lutim.png new file mode 100644 index 00000000..37b6c1a6 Binary files /dev/null and b/logos/lutim.png differ diff --git a/logos/lxd.png b/logos/lxd.png new file mode 100644 index 00000000..bf8e0b21 Binary files /dev/null and b/logos/lxd.png differ diff --git a/logos/mailman.png b/logos/mailman.png new file mode 100644 index 00000000..326dc8f7 Binary files /dev/null and b/logos/mailman.png differ diff --git a/logos/make_logo_review.sh b/logos/make_logo_review.sh new file mode 100644 index 00000000..c9b27616 --- /dev/null +++ b/logos/make_logo_review.sh @@ -0,0 +1,57 @@ +cat << EOF > logo_review.html + + + + + + + + + + + + + + + +
+EOF + + +for APP in $(cat ../apps.json | jq -r '.[] | select ( .state=="working" ) | .url' | awk -F/ '{print $NF}' | sed 's/_ynh//g' | tr 'A-Z' 'a-z') +do + + ls $APP.* >/dev/null 2>/dev/null || { echo "Missingfor $APP" && continue; } + + cat << EOF >> logo_review.html +
+EOF + #

$APP

+ + for FILE in $(ls $APP.* 2>/dev/null) + do + cat << EOF >> logo_review.html + +EOF + + done + + echo "
" >> logo_review.html +done + +cat << EOF >> logo_review.html +
+ + +EOF diff --git a/logos/mantis.png b/logos/mantis.png new file mode 100644 index 00000000..d51590ae Binary files /dev/null and b/logos/mantis.png differ diff --git a/logos/mastodon.png b/logos/mastodon.png new file mode 100644 index 00000000..0557d0a4 Binary files /dev/null and b/logos/mastodon.png differ diff --git a/logos/matomo.png b/logos/matomo.png new file mode 100644 index 00000000..49d6ddc1 Binary files /dev/null and b/logos/matomo.png differ diff --git a/logos/mattermost.png b/logos/mattermost.png new file mode 100644 index 00000000..3468b0fe Binary files /dev/null and b/logos/mattermost.png differ diff --git a/logos/mediawiki.png b/logos/mediawiki.png new file mode 100644 index 00000000..e96f67db Binary files /dev/null and b/logos/mediawiki.png differ diff --git a/logos/minetest.png b/logos/minetest.png new file mode 100644 index 00000000..2f144560 Binary files /dev/null and b/logos/minetest.png differ diff --git a/logos/miniflux.png b/logos/miniflux.png new file mode 100644 index 00000000..60b24ee3 Binary files /dev/null and b/logos/miniflux.png differ diff --git a/logos/minio.png b/logos/minio.png new file mode 100644 index 00000000..4e17bf7a Binary files /dev/null and b/logos/minio.png differ diff --git a/logos/misskey.png b/logos/misskey.png new file mode 100644 index 00000000..30dc23e8 Binary files /dev/null and b/logos/misskey.png differ diff --git a/logos/mobilizon.png b/logos/mobilizon.png new file mode 100644 index 00000000..4567b3e3 Binary files /dev/null and b/logos/mobilizon.png differ diff --git a/logos/monica.png b/logos/monica.png new file mode 100644 index 00000000..80775656 Binary files /dev/null and b/logos/monica.png differ diff --git a/logos/moodle.png b/logos/moodle.png new file mode 100644 index 00000000..93643010 Binary files /dev/null and b/logos/moodle.png differ diff --git a/logos/movim.png b/logos/movim.png new file mode 100644 index 00000000..ec290c7c Binary files /dev/null and b/logos/movim.png differ diff --git a/logos/mumbleserver.png b/logos/mumbleserver.png new file mode 100644 index 00000000..55616ca3 Binary files /dev/null and b/logos/mumbleserver.png differ diff --git a/logos/mytinytodo.png b/logos/mytinytodo.png new file mode 100644 index 00000000..4f9db014 Binary files /dev/null and b/logos/mytinytodo.png differ diff --git a/logos/n8n.png b/logos/n8n.png new file mode 100644 index 00000000..3d52e303 Binary files /dev/null and b/logos/n8n.png differ diff --git a/logos/navidrome.png b/logos/navidrome.png new file mode 100644 index 00000000..0443d5d9 Binary files /dev/null and b/logos/navidrome.png differ diff --git a/logos/netdata.png b/logos/netdata.png new file mode 100644 index 00000000..dd02d8dc Binary files /dev/null and b/logos/netdata.png differ diff --git a/logos/nextcloud.png b/logos/nextcloud.png new file mode 100644 index 00000000..67312a36 Binary files /dev/null and b/logos/nextcloud.png differ diff --git a/logos/nodered.png b/logos/nodered.png new file mode 100644 index 00000000..f8d2b313 Binary files /dev/null and b/logos/nodered.png differ diff --git a/logos/onlyoffice.png b/logos/onlyoffice.png new file mode 100644 index 00000000..078c707e Binary files /dev/null and b/logos/onlyoffice.png differ diff --git a/logos/opensondage.png b/logos/opensondage.png new file mode 100644 index 00000000..ed28754b Binary files /dev/null and b/logos/opensondage.png differ diff --git a/logos/osticket.png b/logos/osticket.png new file mode 100644 index 00000000..94d095cb Binary files /dev/null and b/logos/osticket.png differ diff --git a/logos/peertube.png b/logos/peertube.png new file mode 100644 index 00000000..cb7e6040 Binary files /dev/null and b/logos/peertube.png differ diff --git a/logos/pgadmin.png b/logos/pgadmin.png new file mode 100644 index 00000000..06d533f1 Binary files /dev/null and b/logos/pgadmin.png differ diff --git a/logos/photoprism.png b/logos/photoprism.png new file mode 100644 index 00000000..b217bc34 Binary files /dev/null and b/logos/photoprism.png differ diff --git a/logos/photoview.png b/logos/photoview.png new file mode 100644 index 00000000..6a2e3e33 Binary files /dev/null and b/logos/photoview.png differ diff --git a/logos/phpldapadmin.png b/logos/phpldapadmin.png new file mode 100644 index 00000000..b377f960 Binary files /dev/null and b/logos/phpldapadmin.png differ diff --git a/logos/phpmyadmin.png b/logos/phpmyadmin.png new file mode 100644 index 00000000..9f3b1659 Binary files /dev/null and b/logos/phpmyadmin.png differ diff --git a/logos/pihole.png b/logos/pihole.png new file mode 100644 index 00000000..2ef59f39 Binary files /dev/null and b/logos/pihole.png differ diff --git a/logos/piwigo.png b/logos/piwigo.png new file mode 100644 index 00000000..c0846301 Binary files /dev/null and b/logos/piwigo.png differ diff --git a/logos/pixelfed.png b/logos/pixelfed.png new file mode 100644 index 00000000..ada4f1a0 Binary files /dev/null and b/logos/pixelfed.png differ diff --git a/logos/pleroma.png b/logos/pleroma.png new file mode 100644 index 00000000..5ceff5b5 Binary files /dev/null and b/logos/pleroma.png differ diff --git a/logos/plume.png b/logos/plume.png new file mode 100644 index 00000000..7853046b Binary files /dev/null and b/logos/plume.png differ diff --git a/logos/pluxml.png b/logos/pluxml.png new file mode 100644 index 00000000..c093c225 Binary files /dev/null and b/logos/pluxml.png differ diff --git a/logos/privatebin.png b/logos/privatebin.png new file mode 100644 index 00000000..84081676 Binary files /dev/null and b/logos/privatebin.png differ diff --git a/logos/prometheus.png b/logos/prometheus.png new file mode 100644 index 00000000..9acd80c6 Binary files /dev/null and b/logos/prometheus.png differ diff --git a/logos/prowlarr.png b/logos/prowlarr.png new file mode 100644 index 00000000..ef551e34 Binary files /dev/null and b/logos/prowlarr.png differ diff --git a/logos/psitransfer.png b/logos/psitransfer.png new file mode 100644 index 00000000..baa57df9 Binary files /dev/null and b/logos/psitransfer.png differ diff --git a/logos/pyload.png b/logos/pyload.png new file mode 100644 index 00000000..743f5b17 Binary files /dev/null and b/logos/pyload.png differ diff --git a/logos/radarr.png b/logos/radarr.png new file mode 100644 index 00000000..f6e01f45 Binary files /dev/null and b/logos/radarr.png differ diff --git a/logos/rainloop.png b/logos/rainloop.png new file mode 100644 index 00000000..b45dd3d7 Binary files /dev/null and b/logos/rainloop.png differ diff --git a/logos/retroarch.png b/logos/retroarch.png new file mode 100644 index 00000000..6a5b062d Binary files /dev/null and b/logos/retroarch.png differ diff --git a/logos/rocketchat.png b/logos/rocketchat.png new file mode 100644 index 00000000..e3851ebb Binary files /dev/null and b/logos/rocketchat.png differ diff --git a/logos/roundcube.png b/logos/roundcube.png new file mode 100644 index 00000000..064eaf7d Binary files /dev/null and b/logos/roundcube.png differ diff --git a/logos/rspamdui.png b/logos/rspamdui.png new file mode 100644 index 00000000..9ebdce75 Binary files /dev/null and b/logos/rspamdui.png differ diff --git a/logos/rss-bridge.png b/logos/rss-bridge.png new file mode 100644 index 00000000..58516e56 Binary files /dev/null and b/logos/rss-bridge.png differ diff --git a/logos/seafile.png b/logos/seafile.png new file mode 100644 index 00000000..bf063ec4 Binary files /dev/null and b/logos/seafile.png differ diff --git a/logos/searx.png b/logos/searx.png new file mode 100644 index 00000000..0bc8f2fb Binary files /dev/null and b/logos/searx.png differ diff --git a/logos/send.png b/logos/send.png new file mode 100644 index 00000000..cc69847a Binary files /dev/null and b/logos/send.png differ diff --git a/logos/shaarli.png b/logos/shaarli.png new file mode 100644 index 00000000..254569dd Binary files /dev/null and b/logos/shaarli.png differ diff --git a/logos/simple-torrent.png b/logos/simple-torrent.png new file mode 100644 index 00000000..30362e44 Binary files /dev/null and b/logos/simple-torrent.png differ diff --git a/logos/slingcode.png b/logos/slingcode.png new file mode 100644 index 00000000..950056d2 Binary files /dev/null and b/logos/slingcode.png differ diff --git a/logos/sogo.png b/logos/sogo.png new file mode 100644 index 00000000..f0de0ad4 Binary files /dev/null and b/logos/sogo.png differ diff --git a/logos/sonarr.png b/logos/sonarr.png new file mode 100644 index 00000000..17f016e3 Binary files /dev/null and b/logos/sonarr.png differ diff --git a/logos/streama.png b/logos/streama.png new file mode 100644 index 00000000..63c44269 Binary files /dev/null and b/logos/streama.png differ diff --git a/logos/strut.png b/logos/strut.png new file mode 100644 index 00000000..7be1e7c9 Binary files /dev/null and b/logos/strut.png differ diff --git a/logos/syncthing.png b/logos/syncthing.png new file mode 100644 index 00000000..bc7e36ee Binary files /dev/null and b/logos/syncthing.png differ diff --git a/logos/tandoor.png b/logos/tandoor.png new file mode 100644 index 00000000..35dc5e7a Binary files /dev/null and b/logos/tandoor.png differ diff --git a/logos/thelounge.png b/logos/thelounge.png new file mode 100644 index 00000000..3c70ee71 Binary files /dev/null and b/logos/thelounge.png differ diff --git a/logos/tiddlywiki.png b/logos/tiddlywiki.png new file mode 100644 index 00000000..82ee3f0d Binary files /dev/null and b/logos/tiddlywiki.png differ diff --git a/logos/transmission.png b/logos/transmission.png new file mode 100644 index 00000000..11566849 Binary files /dev/null and b/logos/transmission.png differ diff --git a/logos/trilium.png b/logos/trilium.png new file mode 100644 index 00000000..19696b79 Binary files /dev/null and b/logos/trilium.png differ diff --git a/logos/ttrss.png b/logos/ttrss.png new file mode 100644 index 00000000..3ac124aa Binary files /dev/null and b/logos/ttrss.png differ diff --git a/logos/tvheadend.png b/logos/tvheadend.png new file mode 100644 index 00000000..2659abfb Binary files /dev/null and b/logos/tvheadend.png differ diff --git a/logos/ulogger.png b/logos/ulogger.png new file mode 100644 index 00000000..4bfd7b84 Binary files /dev/null and b/logos/ulogger.png differ diff --git a/logos/vaultwarden.png b/logos/vaultwarden.png new file mode 100644 index 00000000..52746b5b Binary files /dev/null and b/logos/vaultwarden.png differ diff --git a/logos/vikunja.png b/logos/vikunja.png new file mode 100644 index 00000000..3ccb0055 Binary files /dev/null and b/logos/vikunja.png differ diff --git a/logos/wallabag2.png b/logos/wallabag2.png new file mode 100644 index 00000000..fbe8d551 Binary files /dev/null and b/logos/wallabag2.png differ diff --git a/logos/watcher.png b/logos/watcher.png new file mode 100644 index 00000000..f489ad57 Binary files /dev/null and b/logos/watcher.png differ diff --git a/logos/weblate.png b/logos/weblate.png new file mode 100644 index 00000000..410b8500 Binary files /dev/null and b/logos/weblate.png differ diff --git a/logos/webmin.png b/logos/webmin.png new file mode 100644 index 00000000..6eaa9cf8 Binary files /dev/null and b/logos/webmin.png differ diff --git a/logos/webtrees.png b/logos/webtrees.png new file mode 100644 index 00000000..b3fcaaf3 Binary files /dev/null and b/logos/webtrees.png differ diff --git a/logos/wekan.png b/logos/wekan.png new file mode 100644 index 00000000..1e7c77a9 Binary files /dev/null and b/logos/wekan.png differ diff --git a/logos/wemawema.png b/logos/wemawema.png new file mode 100644 index 00000000..5341b062 Binary files /dev/null and b/logos/wemawema.png differ diff --git a/logos/wetty.png b/logos/wetty.png new file mode 100644 index 00000000..3f559a4f Binary files /dev/null and b/logos/wetty.png differ diff --git a/logos/wikijs.png b/logos/wikijs.png new file mode 100644 index 00000000..4ce1e36d Binary files /dev/null and b/logos/wikijs.png differ diff --git a/logos/wireguard.png b/logos/wireguard.png new file mode 100644 index 00000000..4c6b8558 Binary files /dev/null and b/logos/wireguard.png differ diff --git a/logos/wordpress.png b/logos/wordpress.png new file mode 100644 index 00000000..72538f83 Binary files /dev/null and b/logos/wordpress.png differ diff --git a/logos/writefreely.png b/logos/writefreely.png new file mode 100644 index 00000000..fa3198b7 Binary files /dev/null and b/logos/writefreely.png differ diff --git a/logos/yeswiki.png b/logos/yeswiki.png new file mode 100644 index 00000000..11815cd8 Binary files /dev/null and b/logos/yeswiki.png differ diff --git a/logos/zabbix.png b/logos/zabbix.png new file mode 100644 index 00000000..b1c24bc1 Binary files /dev/null and b/logos/zabbix.png differ diff --git a/logos/zap.png b/logos/zap.png new file mode 100644 index 00000000..87c62bcf Binary files /dev/null and b/logos/zap.png differ diff --git a/logos/zerobin.png b/logos/zerobin.png new file mode 100644 index 00000000..d62933e0 Binary files /dev/null and b/logos/zerobin.png differ diff --git a/logos/zerotier.png b/logos/zerotier.png new file mode 100644 index 00000000..4e34c401 Binary files /dev/null and b/logos/zerotier.png differ diff --git a/logos/zwave-js-ui.png b/logos/zwave-js-ui.png new file mode 100644 index 00000000..3ed520f2 Binary files /dev/null and b/logos/zwave-js-ui.png differ