clubpi.net BETA
PI 3B+

a little internet of tiny servers

share a web app on your Raspberry Pi with the world using only ssh. easy as 🥧.

No fiddling with firewalls or router port forwarding. No static IP needed. It just works.

Make your raspberry pi web app available to the public. Try it out - use the command below to serve an app running on port 3000 on your pi. The trial connection is not persistent and will automatically close after 3 minutes. You can try it out 3 times per hour. Want a persistent domain? Sign up for clubpi premium.

try it:

ssh -p 3141 -R0:localhost:3000 [email protected]

example output:

> ssh -p 3141 -R0:localhost:3000 [email protected]
Allocated port 50001 for remote forward to localhost:3000
Welcome! Your *thing* is now available at: 50001.clubpi.net

Sign up for clubpi premium

It's just $2.00 per month. billed monthly. If I had a degree in marketing, and not engineering, I'd probably tell you it was only about $0.07 per day.

You get

  1. An API key to connect to our servers with no timeout
  2. An exclusive clubpi.net domain (sequentially numbered on a first come first serve basis, see below)

How it works

  1. Pay using the link below
  2. domains are sequentially administered - the 1st user will get 1.clubpi.net, the 2nd user gets 2.clubpi.net, etc... No custom domains here folks - the point is to build a little internet of servers that is enables discoverability. If your subscription payment fails or is cancelled you will lose your domain number and it will be administered to a new user on a first come first serve basis.

  3. Receive an email with your api key
  4. keep this secret!

  5. connect your app!
  6. spin up an app on your localhost and connect it to clubpi!

    ssh -p 3141 -R0:localhost:3000 apikey:<your-api-key>@ssh.clubpi.net

Getting Started Guide

How to host a web app on your raspberry pi and make it publically available without a static ip. Just one simple ssh command!

  1. Code a simple app! Here is a simple python hello world
  2. # hello_clubpi.py
    import http.server
    import socketserver
    from http import HTTPStatus
    
    port = 3000
    class Handler(http.server.SimpleHTTPRequestHandler):
        def do_GET(self):
            self.send_response(HTTPStatus.OK)
            self.end_headers()
            self.wfile.write(b'Hello world')
    
    print('Serving at port %d' % port)
    httpd = socketserver.TCPServer(('', port), Handler)
    httpd.serve_forever()

  3. serve the app
  4. python hello_clubpi.py  

  5. connect to clubpi.net. Note the port number localhost:3000. This should match the port configured in the previous step!
  6. ssh -p 3141 -R0:localhost:3000 apikey:<your-api-key>@ssh.clubpi.net

  7. Open a browser anywhere and go to your_number.clubpi.net

Make sure you always stay connected

If you are a paid subscriber, its recommended to use autossh or a systemd file to stay connected to our servers. You want to do this in case our server crashes or your pi crashes. Use the steps below to ensure you web app is always up!

  1. Write a systemd file to launch your webapp
  2. use autossh or the systemd unit below to stay connected
  3. [Unit]
    Description=AutoSSH tunnel service
    After=network.target network-online.target graphical-session.target ssh.service
    Wants=network-online.target
    
    [Service]
    Environment="AUTOSSH_GATETIME=0"
    ExecStart=/usr/bin/ssh -vvv -o ServerAliveInterval=30 -o ServerAliveCountMax=3 -o ExitOnForwardFailure=yes -o UserKnownHostsFile=/home/<username>/.ssh/known_hosts  -p 3141 -R0:localhost:3000 apikey:<your-api-key>@ssh.clubpi.net
    Restart=always
    RestartSec=10
    StandardOutput=syslog
    StandardError=syslog
    SyslogIdentifier=autossh-tunnel
    
    [Install]
    WantedBy=default.target
  4. run cmd: systemctl --user daemon-reload
  5. run cmd: systemctl --user enable ssh_clubpi.service
  6. run cmd: systemctl --user start ssh_clubpi.service

Browse existing projects

Currently viewing: (click to open in a new tab)

Frequently Asked Questions

  • Why?

    For fun! The goal is to capture some of the early internet via connecting people to interesting, absurd, and bizarre stuff served on personal hardware. Host your portfolio website, make a web app, or be the first person to run doom on raspberry pi + clubpi.net (if you are the first to run doom here I'll give you a free api key). If you are hitting server limits getting a version of doom to run, lets talk ;).

  • Will this work on other single board computers / machines?

    Yes, however, we would like to keep it to Raspberry Pis and other single board computers.

  • Can I serve whatever?

    No. We reserve the right to take down any server for violating our terms of service and revoke your api key without refund. We are not responsible for any data loss or damages. All content should be SFW and not violate any laws.

  • Are there limits?

    try out: 3 minute tunnels 3 times/hour per IP. Only 250 free users allowed at a time, so expect delays during high traffic.

    subscription: no limits on tunnel duration. the only limit that exists is a maximum 1Mb for the entire request body reaching your app. If a request's body exceeds this limit, our servers will reject it in an effort to curb abuse and exessive bandwidth usage. What does this mean exactly? It means if you serve an app through this service clients can only send you 1Mb at a time.

  • Is it secure?

    The command ssh -p 3141 -R 0:localhost:3000 apikey:@ssh.clubpi.net forwards requests from our server to your local machine. Specifically, it takes requests coming in on a designated port on our server and directs them to localhost:3000 on your computer. The public URL we provide (e.g., 1.clubpi.net) maps directly to this port, effectively linking it to your local application at localhost:3000. Only the port you specify is accessible; no other ports on your machine can be accessed by clubpi or anyone else. For more information about SSH, we recommend this guide on the topic.

    Remember ANYBODY can see your website. It's as secure as https and ssh. However, we do not make any gurantees. This is only for fun, so we recommend that you use this exclusively for fun stuff you want to share with the world. We strongly recommend to not serve any sensitive information or collect any sensitive information through this tunneling service. If you deploy a malicious app or an app that obviously is a threat to users or their personal information, you will be shut down without refund.

  • How do I get customer support?

    Email us at [email protected]. We will get back to you within 12 hours.

  • Where do I report a server?

    email us at [email protected] and include "reporting server on clubpi" in the subject

  • I lost the email with my api key, how do I retrieve it?

    For lost api keys, just put your email in the field below and we will resend it :)

  • Can I get a custom domain?

    At this time we dont support fully custom domains (strings). The point of clubpi is to easily find other peoples servers, which is why they are simply numbered from 1 to TBD (one day we hope to host thousands of users).

  • Can I resell my domain or give it to someone else?

    Not at the moment. But we are working on this feature!

  • How can I cancel my subscription?

    No dark patterns here - just click the link and login to the stripe dashboard to cancel! If you have any issues reach out to us @ [email protected] and we will get it squared away asap.
    click here to manage your subscription

  • How is this different than ngrok, pinggy.io, or serveo.net

    Clubpi.net is a platform that makes it easy to share web apps running on your Raspberry Pi with the world. Designed for makers and tinkerers, it's a fun way to showcase your Pi-based projects online and discover others doing the same - it's like a little internet on the internet. Our mission is to provide a simple and accessible way for Raspberry Pi enthusiasts to share their creations, whether it’s a personal blog, a multiplayer game, or any other web-based project. Clubpi.net isn’t a professional service for complex business needs; it's a project by a couple of developers who wanted to build a community around Raspberry Pi web projects. We're all about having fun and helping others do the same. If you want to get your Pi-hosted app online and discoverable, you’re in the right place. And if another service suits you better, that’s fine too! Clubpi.net is here to explore, share, and celebrate the creative possibilities of small computers.