Projects - nebulabio/protochip GitHub Wiki
There are a few small infrastructure projects to be worked on over the next few months. These are services that would help with collaboration and development. In no particular order:
service name | provider | namespace | nixos? | crucial? | date needed |
---|---|---|---|---|---|
vpn service | openvpn | vpn.nebula.bio | x | x | now |
file server | btsync | ?? | x | o | tbd |
private shell | shell | people.nebula.bio | x | x | now |
web server | jvm | web.nebula.bio | o | x | done |
git server | github | github.com/nebulabio | x | x | done |
build server | hydra | build.nebula.bio | x | x | 2016Q1 |
rss reader | tiny tiny rss | reader.nebula.bio | o | o | now |
chat service | mattermost | chat.nebula.bio | o | o (yet) | 2016Q4 |
email service | iredmail | mail.nebula.bio | o | o (yet) | 2016Q4 |
article reader | wallabag | paper.nebula.bio | o | o | tbd |
wiki server | Mediawiki | wiki.nebula.bio | o | o | tbd |
x = yes, o = no
“Crucial” simply means that it would improve our daily engineering work. Each service will first be defined with NixOS or Docker containers and tested in a VM. Then, once things are in a basic working state, I’ll create an “infrastructure” repo, or something like that, and keep all the Nix/Docker stuff in there.
I’ll further explain some of the projects:
The internet is not a very secure system. When working in an open network (for example, at a coffee shop) or when travelling internationally, it is beneficial to have a dedicated, secure network to connect to, regardless of whether you are doing sensitive work or just browsing facebook. A secure network is easy and cheap enough to provide with openvpn, it’s worth the few bucks a month for a server.
Some files are too large for git, or they are just not supposed to be stored in git. Examples of these files are:
- research papers, pdfs
- multimedia (images, videos, audio)
- binaries, etc
These could in theory be managed with Git LFS, but ultimately they are not source code and don’t need to be under version control. But we still want to share files. FTP, S3, and OwnCloud are nice, but btsync will keep our files available on demand while also keeping a central repository.
This server should have a decent amount of space on it, maybe even have elastic storage or something.
It would be nice to have a dedicated place to shell into. This will simply be a NixOS install with some predefined apps included, such as:
- tmux
- emacs & vim (or spacemacs)
- telegram-cli
- mutt
- lisp (sbcl or something)
- webserver (for
people.nebula.bio/~username
websites)
Access would be restricted to core nebula.bio contributors. Inspired by people.mozilla.org. Another possibility is urbit, which would effectively replace about 1/3 of the services here, but its also a lot to buy into.
For the website infrastructure, currently deployed via Heroku on www.nebula.bio.
For continuous testing of all our products. Hydra seems like the best custom choice, although we might go with Travis or CircleCI in the interim. Any deployment to any branch (or at least master) should be tested; this goes for all of our projects, not just web services. The protochip and gluco should be thoroughly tested as well.
Simply for staying on top of the news. The selected services might be single-user-only, however. I’m not sure.
Currently we just use github wikis, which I think are okay good enough. If we ever have so much content that we need a bigger wiki, we could move to mediawiki, or just have a static-content git repo or something like that.