Setting Up Ignition Gateway on Ubuntu VPS

I am very engaged with Ignition at work in a highly automated industrial environment. To ply what I have learned at work to the home front, develop some personal apps for myself, and also to give myself a sandbox to expand my own skill set, I purchased a Virtual Personal Server (VPS) to host my personal Ignition gateway. I had no trouble installing Apache and MySql. I have been struggling to get the Ignition gateway to work. After many hours and much effort, I have gotten the gateway itself to run. However, I can't seem to get it to listen for a connection. I feel like I am extremely close and that it is just some line in the configuration that I am missing or have wrong. I am trying to set it up on port 8089 and I do have this declared in the firewall. I have no problem accessing the Apache on port 80. Any suggestion or help would be wonderful.

First, you don't need Apache.

You probably should not run MySQL or any other DB on the same VPS.

You need to make sure the memory settings in ignition.conf are significantly less than the VPS's total RAM allocation. (You may be disappointed if you haven't purchased substantial RAM for your VPS. I wouldn't try to run Ignition with less than 4G total, 3G assigned to Ignition.)

Use tail -f wrapper.log in the /logs/ folder of the install to watch what Ignition is reporting.

I didn't install the Apache to work with Ignition. I was just pointing out that I did have one connection working with the outside world. (I have other plans for the Web Server that have nothing to do with Ignition), The VPS I have has 4 CPUs, 16 GB of memory, and 200 GB of disk space. I thought MySQL or SQLite would serve well for my initial projects (household inventory and such). Why do you advise against hosting that on the same VPS?

tail -f /usr/local/bin/ignition/wrapper.log is telling me
FATAL | wrapper | Unable to open configuration file: /path/to/your/actual/config/file.conf (No such file or directory)
FATAL | wrapper | Current working directory: /usr/local/bin/ignition
WARN | wrapper | Unable to write to the configured log file: /wrapper.log (Permission denied)
WARN | wrapper | Falling back to the default file in the current working directory: wrapper.log
FATAL | wrapper | The Wrapper will stop.
FATAL | wrapper | Unable to open configuration file: /path/to/your/actual/config/file.conf (No such file or directory)

systemctl status ignition reports:
● ignition.service - Ignition Service
Loaded: loaded (/etc/systemd/system/ignition.service; enabled; preset: enabled)
Active: active (running) since Sat 2024-10-05 19:23:59 UTC; 2ms ago
Main PID: 278159 ((-gateway))
Tasks: 1 (limit: 19150)
Memory: 312.0K (peak: 312.0K)
CPU: 1ms
CGroup: /system.slice/ignition.service
└─278159 "[(-gateway)]"

I have kept extensive notes of what I have done and learned so far and though I would try to consolidate a share what I've learned once I got thing going.
'
Any help would be deeply appreciated. I hit a wall and don't know what to try next.

How did you install Ignition? That it can't find its own config file is more than a bit disturbing, unless you tried to install manually with the zip format. (That's for people intimately familiar with what goes where.)

I have undoubtedly been fumbling around without being intimately familiar. I'm just a hacker with a goal and a willingness to learn. I appreciate the fact that there are people like you who do know and hope to benefit from that wisdom.

I have successfully installed Maker on several Windows machines and didn't have any problems.

I am on my third or fourth round of trying to install this on the VPS and each one took up most of my weekend. This time I did use the zip format (sorry). I started trying the installer but ran into some roadblocks that I couldn't at the time overcome. Anyway, I shift gears when I found some advice that suggestd using the zip file instead. That may have been bad advice but here I am.

Well, I started this as a learning experience so I guess I'm getting what I signed up for.

Consider uninstalling and starting over, with the executable installer.

Here's one of my recent install command lines (running as root):

./ignition-8.1.38-linux-64-installer.run -- location=/usr/share/ignition user=ignition serviceName=ignition textMode=true

Couple notes:

  • I always override the defaults for user, location, and service name. Do as you see fit, but note that what I show are not the defaults.

  • Always put the following in a SystemD override (not in the installed unit file):

[Service]
AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_RAW

That lets you commission to run on ports 80 and 443 without running as root.

Be aware that running Ignition on the public internet without SSL is extremely unsafe. If you can access via a VPN to set that up before enabling a public IP, you should.

1 Like

My friend, you are an experience Linus native, and I am just a naive immigrant. Can you instruct me on how to do a clear uninstall and how to successfully initiate a fresh install using the installer?

If you used the script inside the zip installer, you can do most of the uninstall with that. Then blow away all the stray files/folders, particularly anything ignition-related in /etc/systemd/.

Restart your VPS after that to make sure any brokenness shows up.

Then do the new install.