You are reading content from Scuttlebutt
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@mikey %wA/TFC6azj5c5AO7rhJhHm0nbUvw+beygGzTB44Bm5s=.sha256

what about an FTP server? each user could login with their own username and get their own home folder, which is then served by the server. with something like ftp-srv, i think you could handle each new login and automatically "create" the user if new.

User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
User has not chosen to be hosted publicly
@cel-desktop %DuQaxFDEyTTDpJrmsAlLypEsHvrV084Itx6ituoMPSE=.sha256

You could make a HTML form with a file input for uploading a zip file, and extract the zip file on your server. For authentication you can use HTTP Basic, and give each participant a link with a unique random username+password like

For a more advanced form, you could use JS to accept a directory from the client to upload, and send it to your backend one file at a time. From there you could iterate to e.g. show a progress bar, detect changes since the last upload, or add more file manager features.

For the username/passwords, you could even skip needing to store a list of them on your server by e.g. using for the password an HMAC of the username plus a secret on your server.

User has not chosen to be hosted publicly
@Hendrik Peter %xx82eO9LxV7yZD+IpxL3/KhPNPiVqKem3LpS5+S0pS8=.sha256
  1. Could install a raspberry pi with a fairly easy user and password.
  2. then create a "Sites" folder in the home directory
  3. sudo apt-get install nginx
  4. change /etc/nginx/sites-enabled/default to:
server {
    listen 80 default_server;
    listen [::]:80 default_server;
        server_name _;

    location / {
                root /home/your-pi-user/Sites;
        index index.html;
                autoindex on;


Then have them put their sites as their own "name" in that folder using visual studio's ssh enabled file tree.

That's all a bit hard and probably a bad idea. Plus actually dragging sites directly to servers rarely ever happens in real life situations. So here are some "better" options that I commonly use:

  • Have them create a free account on Heroku. Heroku is a host that allows you to git push to it. this easy article goes over the details.. basically you'd have to rename index.html to "home.html", then create an index.php with <?php include_once(“home.html”); ?> + a composer.js file with {} (this will make heroku trigger the simple-php built-stack). From there you can just heroku create 'your-app-name and git push heroku master
  • Install the beaker browser and create a new site project. once they're done they can share their unique hash around.
  • Github pages:

There are a lot of github options up there. The first thing we normally do on our bootcamp at global code after they get their pi and having them personalize the wallpaper of their desktop) is teaching students how to open a terminal, cd & use git & github, because it's just such an essential thing.

User has not chosen to be hosted publicly
@Matt Lorentz (desktop) %ztSfE2o7jBQVKGrevd2wMPAkjsnPJDCRhcdhXIgvRRU=.sha256


Seafile is able to host a simple upload page pretty easily. You can create a folder and share the "upload link" for it. Anyone with that link is presented with a pretty simple webUI to upload their file.

It's a heavyweight solution, but my self-hosted Seafile instanced has solved a lot of one-off file sharing needs for me.

User has not chosen to be hosted publicly
Join Scuttlebutt now