Skip to content

App Creation Guide

rgaudin edited this page Apr 4, 2024 · 1 revision

Kiwix Hotspot is a flexible docker-based platform that can run a variety of softwares. offspot-config Users have access to a catalog of apps for easy inclusion via image-creator.

Update policy of that Catalog is TBD. Please use package-requests in the mean time or to get more information.

Most Apps in the Catalog are packaged by us in container-images.

This document will eventually provide all required information on how to create and publish an Hotspot-compatible App yourself.

⚠️⚠️⚠️ This is an initial draft with notes. ⚠️⚠️⚠️ This document is not ready and everything is subject to change. If you are willing to create/publish an App for the Hotspot, it is recommended to get in touch to ensure information is up to date. Please open issues on this repo with your questions ; we'll update the document.

  • Mindful of CPU usage (runs on Pi)
  • Mindful of RAM usage. It's scare on many models (some have 512M) and there's no swap.
  • Mindful of Disk I/O (runs on SDcards)
  • Must be made available as a (public ATM) Docker (OCI) Image.
  • Image Tags should not be overriden (image-creator uses them for cache)
  • Integration withe Hotspot compose is implemented in add_app() of builder.py
  • Catalog exposes a few Compose-like customization:
    • volumes which source can be mapped to ${APP_DIR}
    • environ_map which is a map of general envs (ADMIN_USERNAME and ADMIN_PASSWORD only for now) that can be passed to the app as different ENVs
    • environ which can use a few dynamic values such as:
      • ${APP_DIR}
      • ${FQDN}
      • ${PACKAGE_IDENT}
      • ${PACKAGE_DOMAIN}
      • ${PACKAGE_FQDN}
      • ${REVERSE_NAME} (reverse-proxy)
    • links to create compose links and can use dynamic values
    • sub_services to expose other ports as different services in the reverse-proxy

Clone this wiki locally