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!