Developers Guide
+Developers Guide
Introduction
-Introduction
+Freedombone consists of a set of bash scripts. There are a lot of them, but they're not very complicated. If you're familiar with the GNU/Linux commandline and can hack a bash script then you can probably add a new app or fix a bug in the system. There are no trendy development frameworks to learn or to get in your way. You might also want to consult the Code of Conduct, and there is a Matrix room at #fbone:matrix.freedombone.net
Adding extra apps
-Adding extra apps
+Suppose you have some internet application which you want to add to the system. To do this you need to create an app script which tells the system how to install/remove and also backup/restore. The script should be designed to work with the current stable version of Debian.
@@ -175,13 +266,13 @@ There's a command which you can use to generate scripts for new apps. Some examp-To create a script for a generic PHP plus MySql/MariaDB web app: +To create a script for a generic PHP plus MySql/MariaDB web app with a couple of extra packages:
freedombone-template --app [name] -e [email] -r [repo url] \ - -c [commit] --php yes -d mariadb > \ +freedombone-template --app [name] -e [email] -r [repo url] \ + --packages "cowsay libssl-dev" \ + -c [commit] --php yes -d mariadb > \ src/freedombone-app-myappname
freedombone-template --app [name] -e [email] -r [repo url] \ - -c [commit] --node yes -d mariadb \ - --dir /etc/myappname --daemon yes > \ +freedombone-template --app [name] -e [email] -r [repo url] \ + -c [commit] --node yes -d mariadb \ + --dir /etc/myappname --daemon yes > \ src/freedombone-app-myappname
freedombone-template --app [name] -e [email] -r [repo url] \ - -c [commit] -d postgresql \ - --dir /etc/myappname --daemon yes > \ +freedombone-template --app [name] -e [email] -r [repo url] \ + -c [commit] -d postgresql \ + --dir /etc/myappname --daemon yes > \ src/freedombone-app-myappname
freedombone-template --app [name] -e [email] -r [repo url] \ - -c [commit] --dir /etc/myappname \ - --daemon yes --portinternal 1234 > \ +freedombone-template --app [name] -e [email] -r [repo url] \ + -c [commit] --dir /etc/myappname \ + --daemon yes --portinternal 1234 > \ src/freedombone-app-myappname
freedombone-template --app [name] -e [email] -r [repo url] \ - -c [commit] --dir /etc/myappname \ - --daemon yes --port 5000 > \ +freedombone-template --app [name] -e [email] -r [repo url] \ + -c [commit] --dir /etc/myappname \ + --daemon yes --port 5000 > \ src/freedombone-app-myappname
freedombone-template --app [name] -e [email] -r [repo url] \ - -c [commit] --php yes -d mariadb \ - --onion yes > \ +freedombone-template --app [name] -e [email] -r [repo url] \ + -c [commit] --php yes -d mariadb \ + --onion yes > \ src/freedombone-app-myappname
man freedombone-template
make install
Customising mesh images
-Customising mesh images
+If you want to make your own specially branded version of the mesh images, such as for a particular event, then to change the default desktop backgrounds edit the images within img/backgrounds and to change the available avatars and desktop icons edit the images within img/avatars. Re-create disk images using the instructions shown previously.