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.
ssh -p 3141 -R0:localhost:3000 [email protected]
> 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
How to host a web app on your raspberry pi and make it publically available without a static ip. Just one simple ssh command!
# 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()
python hello_clubpi.py
ssh -p 3141 -R0:localhost:3000 apikey:<your-api-key>@ssh.clubpi.net
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!
[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
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 ;).
Yes, however, we would like to keep it to Raspberry Pis and other single board computers.
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.
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.
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.
Email us at [email protected]. We will get back to you within 12 hours.
email us at [email protected] and include "reporting server on clubpi" in the subject
For lost api keys, just put your email in the field below and we will resend it :)
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).
Not at the moment. But we are working on this feature!
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
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.