Hi Culprit,
did you already check out this (
https://wiki.factorio.com/Multiplayer)?
IMHO this describes the basic installation process pretty well.
After following these steps, you should be able to start and stop a headless server.
I assume you have some basic Linux skills to set up and modify firewall rules,
to manage users, to change config files upon your needs and to analyze different log files
if something doesn't work.
Afterwards you can start thinking about automation, just like you do in Factorio.
There are some pretty handy scripts out there which you can use to initialize, update and
manage your headless server (
https://github.com/Bisa/factorio-init or
https://github.com/narc0tiq/factorio-updater).
Setting up those scripts shouldn't be a big deal, if you read their README's carefully.
(Thanks to Bisa and narc0tiq, great work guys!)
Hopefully I could help you out a bit.
If you need any further help, just let me know.
Best regards,
saibotxd