I felt my mind getting stiff and I couldn’t care less about possible consequences. I went straight to dokku’s github’s page https://github.com/dokku/dokku
PS: DOKKU is a very very wonderful server agent and very powerful, this was all my fault
Before, I started following the processes of installing, I checked to see which web-server was running on the server. To my greatest surprise, neither was apache2 nor nginx running, Ok? How is that even possible, how come the APIs are running? How come PHPmyAdmin is stating the active web server as Apache?
Nonchalantly, I decided to go on with my installation, I followed the procedures on dokku’s page and in about 2mins, voila! My dokku was successfully setup. I suddenly felt the edges of my lips moving upward, the were forming an arc. I was feeling fly. I had no idea that was the beginning of my frozen-water adventure.
Before i continue with the installation of letsencrypt and other plugins and finally move to deploying that little application, I decided to check the state of all APIs, I told my colleague who had subtly warned me from the start to help check if the APIs were good. You know the funniest thing? I was expecting a “all good” cos, my fingers were about to start typing deployment commands.
Adeyinka Adediji (a snr swift dev and my colleague) suddenly said “They are not going through again ooo. The pages are showing something different”. I thought he was playing a prank on me, nevertheless, I rushed from my seat to his to check his screen and I saw a dokku configuration page asking to save and accept configuration. Just there and then did it strike me “wait a min, isn’t dokku suppose to stay and run on a bare server?”
All APIs were down! No customer could pull updates, no new customer could setup their account, no user could sync their data, the company was set to get loads of complaint-calls the next day. And I WAS THE CAUSE!
I rushed back to my seat, my survival instinct came onto me, I had to revert the installation. I ran an “apt purge dokku* docker* letsencrypt*” command as root. I immediately became a prayer warrior; as I was typing the commands, I was mumbling prayer, I was PANICKING! Within seconds the commands ran successfully, I told him to refresh the page again, guess what was there now…
NGINX Error 502 Bad Gateway
Oh My G*d! Dokku installs nginx, I had to stop it… I ran “service nginx stop”. This time, I was going bananas already, I could not settle down to think or process anything, I just wished I had Dr Strange’s time stone. Told my colleague to refresh the page. This time it was:
This site can’t be reached
Ok, the sh*t is damn real now, I am in deep trouble, can I just go back to when I was about to pull out that laptop the second time? And slap that hand. I totally forgot I was going home. I was going to work or rather, fix overnight!
To cut it all short lol, with the help of Adeyinka Adediji, we did a lot of research and learnt a lot in one night. Learnt how I could have just used serverpilot to deploy my app and how serverpilot had its own custom apache and nginx (reason why i couldn’t see any running when I checked earlier), and how they work together.
WHAT WE DID TO RESOLVE IT
We spent two days straight at the office, two nights. At last we ran a dump command for the whole database, zipped the whole project files and downloaded them and reverted to a previous snapshot and executed the dump file, updated the project files and the server was up and running back.
And Yes, I still deployed my little application, but now on serverpilot and No, I wasn’t fired, rather, my MD and HOD were just making fun of my panicks.
PLEASE TRY THIS AT WORK. lol.
Well, please don’t.