Articles about Raspberry Pi 3

A Raspberry Pi 3 is one of the things that you should consider getting if you are a computer programmer.

There are currently two versions of Raspberry Pi 3:

  1. Raspberry Pi 3 Model B
  2. Raspberry Pi 3 Model B+

Raspberry Pi 3 B and 3 B+ side by side

Both versions of Raspberry Pi 3 are single board computers that comes with WiFi and Bluetooth inbuilt. They are small and powerful enough for serving many of our computer needs at home.

On this page, you will find articles related to Raspberry Pi 3. Popular topics include building your own Raspberry Pi 3 reverse proxy server, building a Raspberry Pi 3 CCTV, setting up Raspbian Stretch Lite on Raspberry Pi 3 for running Python applications and more.

Building a reverse proxy server with Nginx, Certbot, Raspbian Stretch Lite and Raspberry Pi 3

The Nginx reverse proxy server runs well on Raspberry Pi 3 and you can use it behind a router to route HTTP traffic to upstream web applications.

A Raspberry Pi 3 reverse proxy server is a very useful appliance to help us host multiple websites from home.

Some examples of web applications that you may want to host at home includes:

This post discusses how you can build a reverse proxy server with nginx, Certbot, Raspbian Stretch Lite and Raspberry Pi 3 to proxy HTTP traffic directed at applications on your home network.

How to setup Raspbian Stretch Lite on Raspberry Pi 3 to run Python 3 applications

Raspbian Stretch Lite operating system is the Raspberry Pi Foundation’s official supported operating system for running headless software. It is a good operating system for different Raspberry Pi 3 use cases. Some examples include:

If you are planning to use Raspberry Pi 3 GPIO to interface with the real world, it is recommended that you setup Raspbian Stretch Lite to run Python 3 applications.

This post provides the steps to setup Raspbian Stretch Lite on Raspberry Pi 3 for running Python 3 applications.

How I setup Jenkins on my Raspberry Pi 3 with Raspbian Stretch Lite

Jenkins is a renowned open source automation server that can help offload programmers from performing repetitive tasks like:

  • running unit tests to make sure new code does not break existing codes.
  • compiling and packaging the binaries from codes and dependencies.
  • deploying new binaries to testing servers.
  • checking whether production server is up and running.
  • and etc.

If you have a Raspberry Pi 3 and you want to automate some of the tasks for your side projects, you may want to consider setting up Jenkins on your Raspberry Pi 3 with Raspbian Stretch Lite as the operating system.

This post documents how I setup Jenkins on my Raspberry Pi 3 with Raspbian Stretch Lite.

How to host multiple websites from home

A website is a collection of related web pages, including multimedia content, that people can access anytime from anywhere of the Internet.

A website facilities the exchange of information between multiple parties. For instance, when you read the content of this page, I would have, hopefully, share the information of how to host multiple websites from home.

With the proliferation of single-board computers, it is now inexpensive to deploy computing devices to serve web applications from home. If you do not switch off your Internet modem at home, you may want the option of accessing some of these devices when you are away from home.

For example, here are some web applications / websites that you may host from home:

This post documents some procedures that we can follow in order to host multiple websites from home.

Setting up WordPress on Raspberry Pi 3 with Raspbian Stretch Lite, Nginx, MariaDB and PHP 7 as the LEMP stack

Raspbian Stretch was released on 17th August 2017 and this will mean that we will be able to get a variant of Debian 9 on our Raspberry Pi. With Raspbian Stretch, we will be able to run WordPress or any PHP framework with PHP 7.0 which Zend had indicated a performance boost of up to two folds as compared to PHP 5.6.

Just like the benefits that blogging brings to a programmer, the performance boost that PHP 7 brings about is a good reason for me to port my blog over to PHP 7.

Before porting my blog over to PHP 7, it will make sense for me to perform a little proof of concept on my Raspberry Pi 3 first. With Raspbian Stretch Lite, I can see for myself that my blog runs well with PHP 7.0 before spawning a new Digital Ocean instance for Techcoil.

This post documents how I setup an instance of WordPress on Raspberry Pi 3 with Raspbian Stretch Lite, nginx, MariaDB and PHP 7 as the LEMP stack.

Setting up ProjectSend on your Raspberry Pi 3 for sharing files – the LEMP way

Do you have large files that you want to share with your friends or clients? Do you keep your Internet connection on 24-7?

Compared to using Google Drive, Dropbox or other on-the-cloud file sharing software, hosting your own file sharing software when you never switch off your Internet has a few advantages.

Provided that your friends don’t share your files with others, your files stay at home and on your friends’ machines. Furthermore, you are only limited by the amount of storage that you have on your machine.

If you have a Raspberry Pi 3 in your house, you may want to consider setting up ProjectSend on your Raspberry Pi 3 for sharing files with others. This post shows how to do it with a LEMP stack.

How to enable secured remote management of D-Link DIR series router with Certbot, nginx, Raspbian Jessie Lite and Raspberry Pi 3

If you have a Internet subscription at home, chances are you will have a router that helps to enable computers, big and small, to access the Internet concurrently. To enable my computers to access the Internet concurrently, my Internet service provider gave me a D-Link DIR-868L router which had been serving me well over 2 years.

One way for me to access the router when I was not at home is to enable remote management by checking the Enable Remote Management in the ADMINISTRATION section of the TOOLS tab.

However, this feature activate remote management through HTTP through a designated port. Since HTTP communication is not encrypted, it is not safe for me to use this remote management feature from an unfamiliar network.

Since I had created a reverse proxy server with nginx, Raspbian Jessie Lite and Raspberry Pi 3 and installed Certbot on it, I reckoned that I can enable remote management of my D-Link DIR series router to be performed in a secured manner.

This post documents how to enable secured remote management of D-Link DIR series router with Certbot, nginx, Raspbian Jessie Lite and Raspberry Pi 3.

How to setup a reverse proxy server with nginx, Raspian Jessie Lite and Raspberry Pi 3

If you plan to deploy multiple devices at home and made them publicly accessible from outside your home network, you may want to consider setting up a reverse proxy server that will route HTTP traffic from the internet to the respective devices residing in your home network.

Tagged with an affordable price tag with good specifications, the Raspberry Pi 3 is an ideal candidate for the hardware of a reverse proxy server at home. And since the nginx server is a powerful reverse proxy server that can run efficiently on commodity hardware, it is an ideal candidate for the software aspect of a reverse proxy server.

This post documents how to setup a reverse proxy server with nginx, Raspian Jessie Lite and Raspberry Pi 3.

How to setup Raspbian Jessie Lite on Raspberry Pi 3 to run Python 3 applications

The Raspbian operating system is the Raspberry Pi Foundation’s official supported operating system. As of this writing, Raspbian comes in two flavours – one with a graphical user interface for us to build a low cost desktop computer and the other without the graphical user interface.

If you intend to use your Raspberry Pi 3 with sensors and build a web interface for you to manage those sensors, Raspbian Jessie Lite is one operating system which you may want to install on your Raspberry Pi 3.

And with the versatility of Python 3, setting up Raspbian Jessie Lite on Raspberry Pi 3 to run Python 3 applications will be one of the first task that you will perform before you embark on your next sensor based project with the Raspberry Pi 3.

This post documents the steps that I took to setup Raspbian Jessie Lite on Raspberry Pi 3 to run Python 3 applications.