A modern, opensource approach to collaborative tasks.
This software package is supposed to run on your home/office/ship/plane/ufo/*space’s board computer.
It initially grew out of frustration with existing navigation solutions for sailors, as none of these are really oriented towards sailing crews (i.e. multi-user setups), but we saw the potential for other ‘classic’ areas of collaboration and started extending it towards a more general application framework.
A lot of the included modules are still Work in Progress, so help out, if you’re interested in a powerful collaboration tool suite.
The system is modular, so you can install what you need and leave other things.
These are ‘official’ Hackerfleet developed modules. If you’d like to contribute your own, ping email@example.com, to get it added to the list.
|sails||Web UI, compatible with all modern browsers|
|alert||User alerting and notification system|
|countables||Count arbitrary things|
|dash||Dashboard information system|
|garden||Garden automation tools|
|ldap||LDAP user authorization|
|polls||Tool for lightweight internet voting|
|project||Simple project management tools|
|protocols||Miscellaneous communication protocols|
|robot||RC remote control unit|
|shareables||Shared resource blocking tool|
|wiki||Etherpad + Wiki = awesomeness|
Most of these are not yet fully usable, so please help out and perhaps take ownership of one (or more) of them!
Please research any bugs you find via our Github issue tracker for HFOS and report them, if they’re still unknown.
If you want to discuss distributed, opensource (or maritime) technology in general incl. where we’re heading, head over to our Github discussion forum ...which is cleverly disguised as a Github issue tracker.
You can also find us here:
First of all: The installation procedure is rather complex right now. We’re trying to simplify the process, but in the meantime, if you encounter any trouble/problems, just contact us via irc or email and we’ll happily try to help you get your installation running.
This is very important for us, since the system has not yet been deployed very often and we’re not yet aware of most of the pitfalls and traps on that route.
We encourage you to use Python >= 3.4 for HFOS, but the system is built (and checked against) 2.7, too.
Warning: HFOS is not compatible with Python 3.2!
Before doing anything with HFOS, be sure you have all the dependencies installed via your distribution’s package manager.
For Debian Unstable use this:
$ sudo apt-get install mongodb python3.4 python3-pip python3-grib \ python3-bson python3-pymongo python3-serial
If you want (and can), install the mongo and bson extensions for speedups:
$ sudo apt-get install python3-pymongo-ext python3-bson-ext
You will need to set up a bunch of more dependencies via npm to set up the frontend, so install npm and if necessary the nodejs-legacy-symlink package:
$ sudo apt-get install npm nodejs-legacy
The manage tool usually can install everything you need. This involves getting the frontend dependencies, installing the supplied modules, building and installing the documentation, etc.
We also create two folders in /var (lib/hfos and cache/hfos) for hfos’ tile- cache and other stuff as well as install basic default provisions into the database:
$ git clone https://github.com/hackerfleet/hfos $ git submodule init $ git submodule update $ cd hfos $ virtualenv -p /usr/bin/python3.4 --system-site-packages venv $ source venv/bin/activate $ pip install -Ur requirements-dev.txt $ sudo venv/bin/python hfos_manage.py -install-all $ python hfos_launcher.py
You may need to adapt permissions for the /var folders to accomodate the user you let hfos run with, until we re-add the daemon and package support foam, that does that automatically.
We strongly suggest generating a SSL certificate and invoke the launcher thus:
$ sudo ./venv/bin/python hfos_launcher.py --cert $YOURCERTIFICATE --port 443
Running the launcher as root to be able to open ports below 1024 should be safe, as it drops its root privileges, unless you specify –insecure, which is strongly discouraged.
The documentation is available online on ReadTheDocs.org. If you wish to build and install the included documentation for offline use, run these commands:
$ sudo ./venv/bin/python hfos_manage.py -install-doc
This installs all necessary documentation tools and copies the files to the expected HFOS web data folder.
You can also build the PDF file (and various other formats) by using the Makefile inside the docs directory.
$ cd docs $ make pdf
Just running make without arguments gives you a list of the other available documentation formats.
(Currently outdated, until we overhauled the docker setup)
There is a Docker image available. This is usually the quickest way to install HFOS:
$ docker run -i -t -p 127.0.0.1:8055:8055 --name hfos-test-live \ -t hackerfleet/hfos
We like to hang out on irc, if you want to chat or help out, join irc://freenode.org/hackerfleet :)
Please be patient or even better use screen/tmux or something to irc. Most of us are there 24/7 but not always in front of our machines.
Missing in the list below? Add yourself or ping us ;)
Copyright (C) 2011-2016 riot <firstname.lastname@example.org> and others.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU 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 General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.
– :boat: :+1: