Developer Documentation


  1. How to make an App available on UBOS: Overview
  2. Setting up a UBOS development machine
    1. Prepare a PC to develop for UBOS using Arch Linux
    2. Prepare a VirtualBox virtual machine to develop for UBOS using Arch Linux
    3. Continuing the Arch Linux installation on a PC or virtual machine
    4. Finishing the Arch development installation by adding UBOS tools
    5. Testing your App in a UBOS container running on the Arch Linux development host
  3. Learning from the toy apps
    1. Hello World
    2. Glad-I-Was-Here (PHP, MySQL)
    3. An Accessory for Glad-I-Was-Here (PHP, MySQL)
    4. Glad-I-Was-Here (PHP, Postgresql)
    5. Glad-I-Was-Here (Java, MySQL)
    6. Glad-I-Was-Here (Python, MySQL)
  4. A more complex deployment example
  5. Testing UBOS Apps with "webapptest"
  6. Logging
  7. UBOS build and release process
  8. Technical details
    1. UBOS Manifest
    2. Site JSON
    3. UBOS Backup format
    4. UBOS Networking
    5. Format of the App Status JSON
    6. UBOS state
    7. Well-known ports for Apps and Accessories
    8. Understanding ubos-admin
    9. Differences between the ubos-target container and a typical UBOS production system
  9. Middleware-specific notes
    1. Node.js notes
    2. SMTP notes
  10. Potentially useful infrastructure
    1. The UBOS rsync server
  11. Tips and tricks for development
    1. Debugging a Java/Tomcat App
    2. Quickly setting up a Shepherd account in a UBOS container
    3. Rapid create/test cycle for UBOS Packages
  12. Developer FAQ
    1. Doesn’t apt / dpkg / yum / pacman etc. do this already already?
    2. Doesn’t puppet / chef / ansible etc. do this already?
    3. What about Docker?
    4. Why do you advise against using a Raspberry Pi or other ARM device as a UBOS development machine?
    5. Why do you recommend to use Arch Linux as the development host system instead of UBOS itself?