@baris oh thank you, just done!
NodeBB wont stay up using systemctl
one important step which I have not seen here is:
systemctl enable nodebb
So for those wondering why it is not starting up after a reboot... this is the cause.
*side-note: Wait a few minutes for it to start up (if mongod/redis is on the same server)
@adam-poniatowski If you have to wait a few minutes for MongoDB to start up, then I bet there's some sort of systemd command to wait until the MongoDB process is up...
@julian yeah, its in the [unit] field in After= ... just add mongod.service and that should help, but it is not really needed.
It will keep restarting until it is working... if the service has been enabled
I tested it out a few weeks ago. One server has it, the other doesn't have it and both took the same amount of time, unfortunately. The reason is, mongod will report as started/alive/online... but the other dependencies did not start yet (one way to test, is to stop the mongod service, start it up again and immediately try to access the DB... mongod will report an error for a minute or 2, despite reporting that the service has started)
Understood. To reduce noise, I feel it is best to add the
After=line in. Will do so...
@julian Agreed... if it is documented, its documented
Thanks @Adam-Poniatowski -- sorry for the delay
@julian not a problem
Duke last edited by Duke
@adam-poniatowski I was thinking about your post and it was bugging me as I was sure i'd seen this command in the docs. Flipping through them, I found the command you describe but its in the wrong spot (install as opposed to auto run). Also realised we never actually tell the user to start Mongod service when describing how to make nodeBB autorun.
Which Ubuntu version? Pretty sure when we wrote up the docs mongod started itself on install.
In any case, we'll get that updated.
Duke last edited by
@julian Ubuntu 16.04.3 LTS
I will update the ticket
@duke The "After=" should be in the [unit] field, as you are specifying it to start after specified services. By default (sort of) it is network.service, so that the service will start, only after the network service has started (however, it does not check if there is network connectivity, just if the service has started).
I hope that clarifies things. Maybe one should add that to the docs, as some people will think that the After=network.service, anyotherservice.service will actually checks network connectivity or that the service is working.
Perhaps it's best if you edit the docs yourself? GitHub has a built-in editor that you can use to make changes
I created a pull request for the additions
teh_g last edited by
The new systemctl block in the documentation works wonderfully.
The ONE time that NodeBB went down on my forums, I was on vacation in Mexico. Logging into the server from my phone was atrocious. Now systemctl can do all the work for me