Skip to main content

8 posts tagged with "Raspberry Pi"

View All Tags

· 8 min read
Dominik Nowak

GitHub Actions is a mature and extremely popular CI/CD tool. It allows you to create workflows for software deployment, testing, building ... whatever. In GitHub Actions you build your workflows by using blocks automating common tasks called Actions.

One of those building blocks is now Husarnet Action! 🎉

Learn how you can leverage Husarnet Action in your workflow to deploy code to devices with no public IP like laptop, Raspberry Pi, some random VM sitting on your server or even to ESP32 microcontrollers. All by adding a few lines to your existing GitHub Actions yaml file.

Deploy Code To Edge Devices At Scale With Husarnet Action For GitHub Action

· 13 min read
Dominik Nowak

In one of the previous blog posts we presented how to configure a reverse proxy in NGINX to provide public access to services hosted by Husarnet connected devices.

Today I will share my notes on how to do something similar, but using a nice user interface provided by Nginx Proxy Manager and your own custom domain with SSL certificates.

By combining two open source projects: Husarnet & Nginx Proxy Manager you can create your own, self-hosted secure tunnel service for localhosts, similar to ngrok.

🚀 I will show you also how to deploy the service in seconds, with the Infrastructure as Code approach powered by Ansible and GitHub Actions.

Let's go!

Cover image

· 9 min read
Dominik Nowak

In one of the previous blog posts I presented how to configure a Raspberry Pi to access it from anywhere without public IP or port forwarding on your router. It's quite easy, but still you need to make a few steps manually, like providing your Wi-Fi credentials, installing the Husarnet VPN Client (recently open sourced), and typing commands in the terminal to connect the board to your Husarnet VPN network.

If you have to confiture a single Raspberry Pi that might be a fun way of spending a time, but what if you would like to connect a dozen(s) of them? My math teacher in elementary school often said that "a good mathematician should be lazy". That's also a true sentence for engineers - if you can automate something that is repetitive and boring - do it.

In this blog post I'll show you how to create your own, customized system image to be burned on the SD card of your Pi, so that after you power on your board, it will be available via SSH over the Internet on the 1st boot! In the same way you can generate hundreds of similar images, without wasting your time to manually setup each board.

Cover image

· 9 min read
Paweł Kozubal
caution

Most of the content from this post was migrated to our Docker Platform tutorial. Content left here will be getting gradually more and more outdated.

In the recent blog posts we presented how to embed Husarnet VPN Client inside a Docker container. This solution is fine, however has a few drawbacks like:

  • you need to modify your existing containers
  • you need to install one instance of Husarnet Client for each of the containers you want to connect (and manage multiple hostnames)

To overcome those issues we introduced an official Husarnet Docker Image, that utilizes a sidecar Docker design pattern. You can run this container next to your existing containers to share the VPN network from a Husarnet Container to one or multiple other containers at once.

Husarnet Docker Contatainer VPN sidecar

· 14 min read
Konrad Przewłoka

Popular industrial and home monitoring systems are based on a central media server that connects cameras with the end users. This architecture is fine for most use cases, however have some drawbacks such as: higher latency, privacy concerns (if you use 3rd party server), and high cost.

In the article we present a peer-to-peer alternative: let's remove a media server and directly access a camera streaming service running on the camera itself.

The project is based on WebRTC for audio and video streaming to a web browser. Access to the server over the Internet is possible thanks to Husarnet VPN Client.

Here are some of the advantages of our solution:

  • low latency over the Internet
  • simple infrastructure architecture (only your laptop and Internet camera)
  • quick setup (everything is dockerized)

Basically all WebRTC infrastructure is hosted on the Internet camera (Single Board Computer + webcam) together with a simple web server.

Janus WebRTC server hosted inside a Docker container on Raspberry Pi with remote access over the internet

· 10 min read
Dominik Nowak

In this article I present how to host a web app on your Raspberry Pi (or other computers) with a couple of interesting features.

  • ⛔ no static IP address, Dynamic DNS or port forwarding on your router needed
  • 🚀 low latency access over the public Internet without server in the middle
  • 🔁 possibility to easily share access to that web app only to specific people

The web app will consist of two elements:

  • ✏️ front-end: using Bootstrap 4 and websocket client written in JS
  • ✏️ back-end: Python app with a websocket server providing a JSON API to the front-end part

I show a bi-directional connection over a single websocket. The demo application will be very simple - controlling a LED connected to Raspberry Pi using a button in web UI and controlling an indicator in the web UI over the button connected to Raspberry Pi.

💭 You can treat this app as a boilerplate code for your own, more sophisticated apps requiring a low-latency control over a web user interface.

Python backend and Bootstrap 4 front-end hosted on Raspberry Pi with remote access over the Internet

· 11 min read
Dominik Nowak

Remote Desktop Software helps you access your headless (without physical display, mouse or keyboard) computer or server desktop over the network.

There are many different solutions available using RDP, RFB (VNC) or proprietary protocols. Some of them are open source and free to use, but many of them are quite expensive. In this article I will show you how to configure one of them - TigerVNC which works great, is open source, multiplatform and is completely free.

I will also show you how to access remote desktop of your computer over the Internet even if it doesn't have a static IP, or is hidden behind a NAT or a firewall.

Tiger VNC server running on RaspberryPi with VPN access over the Internet

· 10 min read
Dominik Nowak

This blog post is an all-in-one setup guide for all of you interested in having both over the internet (remote) and LAN access to SSH terminal for your Raspberry Pi.

  • ⛔ no port forwarding on your router
  • ⛔ no static IP needed
  • ⛔ no VPN server configuration

We start from installing the Raspberry Pi system image, then go through configuration of Wi-Fi connection, finishing on establishing VPN network between your laptop and Raspberry Pi.

Let's start!

access raspberry pi ssh terminal remotely using a VPN