MEDLab hosts its own software in order to participate in the free/open-source software (FLOSS) commons, and in order to protect our practices from surveillance-based business models. We are seeking to build a vanguard stack against digital colonialism.
What it is: Cloudron is a tool created by a small business that makes it easier to deploy and manage multiple open FLOSS tools on a server. We have a relationship with the company and they provide excellent support. It sits in the background and isn't really user-facing.
How it works: Cloudron automatically updates our apps and backs up their data. We don't need to worry about it too much. It is through Cloudron that we create accounts that can be used on the other apps we use, as it manages accounts centrally. Our Cloudron system is hosted on a DigitalOcean droplet.
What it is: This handbook! DokuWiki is a simple FLOSS wiki system that uses simple text files rather than a fancy database. It is hosted on Cloudron.
How it works: DokuWiki uses the same user account system as other apps on the Cloudron system. All MEDLab team members have edit access; Nathan has admin access.
What it is: GitLab is an open-source code collaboration platform, similar to GitHub.
How it works: Create an account on GitLab.com, and Nathan can grant you access to relevant projects.
We are in the process of shifting over to a self-hosted Git platform, Gogs (
git.medlab.host), but we have yet to replace some GitLab features we rely on (e.g., the Pages service).
What it is: GitLab is an open-source code collaboration platform, similar to GitHub. It is self-hostable on Cloudron, but it is resource-intensive, so we currently use the commercial instance, which is currently free for us. In addition to code hosting, we use it for some Web projects, such as CommunityRule, which is deployed through GitLab using Jekyll.
How it works: Create an account on GitLab.com, and Nathan can grant you access to relevant projects. Here are some basic docs on how GitLab and git in general work.
What it is: We send an occasional newsletter through a self-hosted platform called Listmonk.
How to use it: Simply copy the “template” from an earlier newsletter, update the content, and send it to email@example.com. Nathan is the admin and all posts must be manually approved.
One downside of the self-hosted email system is that it is more likely to get emails caught in spam than using the Colorado.edu system. But our list is too large for using SYMPA, and the university newsletter system is clunky.
What it is: NextCloud is a FLOSS platform for file-hosting and collaboration that is heavily extensible through plugins. We host it on Cloudron and use it to manage all our internal files and documents. It is also integrated with Collabora, a collaborative document editor.
How it works: Any MEDLab research fellows should be able to access our filesystem with their accounts. It works much like Google Docs. You can edit Mircosoft and OpenDocument office file formats (.docx, .odt, .pptx, .xlsx, etc.) online using the Collabora editor, but this is a bit clunky and slow. It might be easier to download such files to your computer, edit locally, and then re-upload. A faster and simpler collaborative editing tool, though less powerful, is NextCloud's built-in Markdown editor. To use it, create a “New text document” using the “+” button at the top, and create a file that ends with .md (as is the default). This is a good way to keep notes in simple rich text, though it is not a fully featured word processor.
Please use discretion in sharing access to files and folders. All files are available to MEDLab team members, but it may not be appropriate to share them externally. Please ask Nathan if you are uncertain about what would be appropriate.
NextCloud plugins give us a variety of tools, which you can access through the menu bar at the top of the Web interface. These include:
- Deck - A kanban-style tool for managing workflows. We use this mainly to manage logistics around grant reporting, but you can create your own deck for a project you're working on if it would help you with task management.
- Polls - Enables multiple choice polls, including Doodle-style time polls for meetings. The interface takes some getting used to.
- Forms - Enables the creation of forms akin to Google Forms. It's a bit buggy, and the data export format doesn't make it easy to extract data usefully. Hopefully this will improve with time. For forms that will acquire large amounts of input, it's better to use the form tool on our colorado.edu website.
- Element - This is our chat. See information on Matrix below.
You can access NextCloud through the Web interface or through mobile apps. Note that the NextCloud mobile app really only includes the Files tool, while the Web interface includes access to all the tools.
What it is: Matrix is a FLOSS communications protocol intended to be a highly secure backend for chat, email, social media, and other applications. It is still early-stage, but it a very promising project, and it has already been adopted by several European governments seeking to reduce their dependence on US-based software companies. Rather than relying on centralized companies, it enables both federated and peer-to-peer connections. Our own instance is currently not federated with the wider Matrix network, as we only use it internally, but we could add this functionality if we see fit. We use Element, which is the flagship Matrix client; Element used to be called “Riot,” which is why that's in the URL on NextCloud.
How it works: Access it through the Element client from within NextCloud, or using a Matrix-compatible mobile app (such as the one also called Element). The server is hosted on Cloudron at matrix.medlab.host (which you only need to know if you're logging in through a mobile client; the Web client already knows this). When first logging in, it will ask you to create a security key, which is a long series of characters. Keep that someplace safe. Hopefully you won't need to use it very often. Log in with the same credentials you use for NextCloud.
Element does not support threaded discussions, but you can reply to others' posts. Use lots of reaction emojis! If you want to send an email notification to everyone in the room, include
@room in your message. You can also notify individuals with
What it is: This is our main social-media account. It's not terribly active, but it's useful at times.
How it works: Nathan controls the account and shares it via Tweetdeck with anyone who is doing promotional work for MEDLab.
- Basic information about MEDLab projects and personnel
- Event pages and registration forms
- Blog posts on our work
How it works: Currently, only Nathan has admin access to the website.