Static IP for WiFi

Running the latest screenly-ose image on a pi 3b+. Start out with a wired connection and want to move to a static wifi connection, but I can’t seem to get the device to take a static configuration. I have tried editing multiple files, no success. If I try to edit some files, then it completely disables the wifi connection and I have to remove those edits and try something different. When I do get the device to finally connect to the wifi I can not program a static ip. It’s like the os has the wlan0 interface locked to dhcp or something. I have notice when the wifi is actually working I get a couple of errors in the boot log, like “Failed to start Network Manager wait online” or something else that is related to the network manager. I’ve tried to edit the dhcpcd.conf, wpa_supplicant, and the interfaces files, but no success with any edits in those files. Looking for some answers if anyone has any leads.

I am not sure at all on the screenly side as I come from a networking background. Having said that, if you have access to your router/DHCP server, you can usually add a static based on the MAC of the WiFi.

That process will vary based on your hardware, but that is what I did using a Unifi Solution.

Yeah, Screenly OSE doesn’t really do anything fancy on the networking side (just Network Manager). The easiest way to accomplish this is either using nmtui (or nmcli if you’re feeling hardcore). Alternatively, you could st a static IP based on the DHCP lease as @lance correctly points out.

I don’t know if this is your issue, yet:
When you install Screenly, it gives you an option to install a network manager.
That network manager (I believe it comes from a Raspbian package?) randomizes the MAC address on every boot up.
What I did was install screenly, and answer NO when it asked to install the Network Manager package.

After that, I was able to assign a static IP on my DHCP server using the MAC address.