DEV Community

Natha Paquette
Natha Paquette

Posted on

Opensource Installation

Hey everyone! This is my first post on DEV but I wanted to know if anyone has recommendations for how to support non-technical users in installing open-source software.

Specifically, we have a python based server but we're struggling to support non-technical users installing and configuring it.

Edit [Lots of clarification]:
Target OS:
Linux generally, Ubuntu is the core of development. (would like to expand to windows eventually)
Installer:
no config interface right now, an ansible installer that installs and configures everything but a bit difficult to maintain and bound to a specific ubuntu version.
Configuration Interface:
tiered connfiguration supporting environment variables and a yaml file.
documentation:
https://freetakteam.github.io/FreeTAKServer-User-Docs/
Root:
currently requires root access but we're trying to address it

Top comments (4)

Collapse
 
rouilj profile image
John P. Rouillard • • Edited

Your question is short on details. So time to play 20 questions.

What exactly are they having issues with?

What OS are you expecting them to use?

  • windows - a NSIS installer maybe using github.com/takluyver/pynsist is a resonable route.
  • linux - allow them to download a shell script using wget/curl and do your install/prompts etc. there.

Does your service require root/admin access to the OS?

What is the configuration interface? Is it

  • environment variables
  • config file in .ini, yaml, json some other language
  • interactive to a database

What documentation do you provide to them?

With this info somebody may have some ideas.

Collapse
 
naman108 profile image
Natha Paquette •

changes added, thanks for the response!

Collapse
 
rouilj profile image
John P. Rouillard •

Ok, so your "Zero Touch Installer" is using the curl script | bash method for an Ubuntu 22 host (apparently cloud only is tested) or Raspberry PI.

This seems fairly straightforward. I assume your non-technical users are getting hung up on creating a PI image or an AWS host?

From what I have read about TAK, this is mission critical software and I would expect people running it to have system admin/technical resources available.

That said, in your "Installation Check" document, you have "connect a client" in "Check Voice server" without any details. Do you mean a VOIP client, or a TAK client or a....

Also you show a json dump ("Check The Video Server") of the config but don't link to a doc explaining the output/settings etc.

The only advice I can suggest is to listen to your users and enhance the docs as they bring up issues. I have been working with the diataxis framework to clarify docs on my project. That may give you some ideas.

Collapse
 
naman108 profile image
Natha Paquette •

Many of our users use the server for things like airsoft or camping so less than mission-critical and an associated lack of technical expertise. Very good points about the JSON dump and voice server docs, I'll get those fixed. I think this diataxis framework looks like a fantastic set of guidelines for documentation and I'll look at integrating it into our current system. Thanks for your responses and advice, it's really appreciated!