Recently I just got a Raspberry Pi Zero W to setup as my server for my apps apis or for just an Http webserver.
As soon as I bought I set it up in headless mode but still having desktop raspbian because I need to control it remotely with VNC because sometimes I need to have a desktop to test some sites and also run a download from torrent or any other thing to store to my web server and access it from everywhere.
How am I setting up public access?
I’m running a Telegram BOT with NodeJS and running its script on boot sending a message to Telegram that it is booted and running.
Then I’ve set up a lot of commands to execute. I could have used python for better performance but I am more proficient with JavaScript and till now I haven’t had any problems with it, running for a memory as low as 22 mb of RAM.
For every protocol (http,vnc,ssh) I’m creating a Ngrok tunnel by a command from Telegram.
Most of the command are self explanatory but why I use some of them.
- /status
- /statusAudio
It’s mostly for fun as I’m getting the same thing but with a Google Assistant voice reading it and sending to telegram as audio. - /screenshot
A lot of times when I start something on the Raspberry and it needs time to finish I don’t VNC to it to check the status but I just do this command and get a screenshot of the screen to check everything. - /restartBrain
Just reinitiate the node server in case of an error. - /extra
Gives to me some more useful commands to use.
The http server is not the only way I access it’s files.
I am using sftp (sshfs) on my phone using Solid Explorer so I can transfer files faster.
I’m using sshfs and found guides to setup in both windows and mac os so I can navigate to the Raspberry Pi folders.
I’m not open sourcing the code about this but I’m willing to share with anyone who may want this on his/her Raspberry Pi or any other system because I’m using these stuff even in my Mac. So if anyone wants it I m going to share and also guide anyone to set it up.
https://www.facebook.com/frankoprifti
Email: frankoprifti@gmail.com