Posts published by Clivant

Clivant a.k.a Chai Heng enjoys composing software and building systems to serve people. He owns techcoil.com and hopes that whatever he had written and built so far had benefited people. All views expressed belongs to him and are not representative of the company that he works/worked for.

How to host your own file sharing website on Raspberry Pi 3 with Raspbian Stretch Lite, Nginx, ProjectSend, MariaDB and PHP

While experiencing Northern Lights in Finland, you may capture some Northern Lights pictures with your DSLR. In case you want to share them with friends through your own file sharing website, have a look at ProjectSend.

Since a Raspberry Pi 3 is energy efficient and affordable, you may want to setup ProjectSend on a Raspberry Pi 3. With this in mind, this post discusses how to do so with Raspbian Stretch Lite, Nginx, MariaDB and PHP as the LEMP stack.

Setting up your own Raspberry Pi 3 git server with Go Git Service (Gogs) and Raspbian Stretch Lite

When Microsoft bought Github, some developers who had trusted GitHub with their code, are considering ditching it. In case you have the same thought, you may want to consider hosting your own Git server. After all, that is the best approach to ensure that your code repository stays under your control.

In view of hosting your own code repository, you may want to setup a Raspberry Pi 3 Git server. Together with Go Git Service and Raspbian Stretch Lite, you can get a Git server with decent performance.

Given these points, this post discusses how you can setup your own Git server on a Raspberry Pi 3 with Go Git Service (Gogs) and Raspbian Stretch Lite.

How to configure Nginx on Raspberry Pi 3 as a reverse proxy server for Synology DiskStation Manager

Raspberry Pi proxy Synology DSM network architecture

When you get a Synology NAS like DS218j or DS418, you will also get the Synology DiskStation Manager. Eventually, you may want to access websites other than Synology DiskStation Manager from outside your home. In that case, you may want to use Nginx as a reverse proxy server for your websites.

Without a doubt, Raspberry Pi 3 is one single-board computer that packs enough computing power for many use cases. For example, you can setup a Raspberry Pi 3 reverse proxy server with Nginx, Certbot, Raspbian Stretch Lite. Thereafter, you will be able to host multiple websites from home.

In case you have both a Raspberry Pi 3 and a Synology NAS, read on to see how you can configure Nginx on Raspberry Pi 3 as a reverse proxy for Synology DiskStation Manager.

How to send a HTTP GET request to an API endpoint and add the response as HTML elements to the DOM with jQuery

jQuery is a JavaScript library that simplify client-side scripting of HTML.

In case you want to augment your webpage with data from an API endpoint, you may want to look at jQuery.

With this purpose in mind, this post discusses how to send a HTTP GET request to an API endpoint and add the response as HTML elements to the DOM with jQuery.

How to setup your own Wiki site on a Raspberry Pi 3 with Dokuwiki, Raspbian Stretch Lite, Nginx and PHP

Dokuwiki and Raspbian icon

As a result of the proliferation of single-board computers like the Raspberry Pi 3, we get energy-efficient computers. In addition to being energy-efficient, Raspberry Pi 3 is small and priced affordably. Therefore, the Raspberry Pi 3 is an ideal gift for programmers.

Given that you had received one as a programmer, you may be wondering what you can do with it. In case you are yearning for your own Wiki site, you may consider setting up your DokuWiki site on your Raspberry Pi 3.

With this in mind, this post walks through how you can setup your own Wiki site on a Raspberry Pi 3 with Raspbian Stretch Lite, nginx and PHP.

How to setup Jupyter Notebook on Raspberry Pi 3 with Raspbian Stretch Lite, Supervisor and Virtualenv to run Python 3 codes

By taking Andrew Ng’s Deep Learning Coursera course, you can get a better understanding of deep learning. In addition, you will also get many Jupyter Notebook documents that you can reference to build models that can solve interesting problems.

In order to readily access these documents, you may want to setup Jupyter Notebook on a single board computer like the Raspberry Pi 3. With this in mind, this post shows how you can setup Jupyter Notebook on Raspberry Pi 3 with Raspbian Stretch Lite, Supervisor and Virtualenv to run Python 3 codes.

How to setup Taiga project management platform on Raspberry Pi 3 with Raspbian Stretch Lite

Taiga and Raspbian icon

A project management platform is useful for us to keep tabs on what we want to build. Taiga is a popular open source project management platform that is highly recommended by opensource.com to be the top open source alternative to Trello.

Taiga runs well on a Raspberry Pi 3. If you want to setup something at home to help you manage the projects that you are working on, you can consider setting up the Taiga project management platform on a Raspberry Pi 3 with Raspbian Stretch Lite as the base operating system.

This post is adapted from Taiga’s installation guide to serve as a guide to setting up Taiga project management platform on Raspberry Pi 3 with Raspbian Stretch Lite.

How to install Postfix as the SMTP server for applications in Raspbian Stretch Lite to send email

Postfix Raspbian icon

Email is a good medium for the applications that we deploy on our Raspbian Stretch Lite to send us notifications.

By default, a fresh installation of Raspbian Stretch Lite does not include a SMTP server for programs to send email. Thankfully, we can install Postfix as the SMTP server for the applications that we deployed on Raspbian Stretch Lite to send out email when necessary.

This post documents how you can install Postfix as the SMTP server for applications in Raspbian Stretch Lite to send email.

How to paginate MongoEngine records in your Python 3 Flask application

Flask and MongoEngine help makes development work easier.

One common task in the development of backend applications is the pagination of database records. Without pagination, the application server can run out of memory while generating a response from the database records.

This post discusses a way to paginate MongoEngine records in your Python 3 Flask application using the facilities provided by the Flask-MongoEngine extension.