Any ideas about self hosted tools for trying out code snippets?

I could use something like the typical w3schools example site, but self hosted and ideally, with support for a couple of files simultaneously. For example, editing a HTML and CSS files, or web-framework script and the HTML template file.

The use case is, that I upload some examples and my students can experiment with them and see the output without altering the originals.

Is there something like that already available, or does it involve implementing it by yourself?

  • What sort of programming languages are you interested in? – Mawg says reinstate Monica Mar 15 '18 at 11:48
  • HTML, CSS, and Python/Bottle. It would be good to have for example, some frame for the python code, and another one for the HTML template. When one of them is modified, the output is accordingly updated. – Julen Larrucea Mar 15 '18 at 11:50
  • yes, that sort of thing is supported by the Fiddle sites – Mawg says reinstate Monica Mar 15 '18 at 12:30

You don't state which prorammong languages interest you, but there are lots of XXfiddle sites - just Google for JSfiddle, PhpFiddle, SqlFiddle, etc, etc

You can register for free and create an example which each student can then fork.

[Update] I just saw your comment. JsFidddle will handle HTML & CSS (Google for HMTL fiddle for more) and Python fiddle will handle ... errr, Python :-)

  • Wow! nice... but, is there any documentation on how to get the Python fiddle running and customized? – Julen Larrucea Mar 15 '18 at 12:16
  • I am nit sure that I understand - just code it and save it (you have to be registered), this will give a URL which you can share and every change (by you or one of your students) makes a new fiddle, with a new URL - do that help? Try it & see – Mawg says reinstate Monica Mar 15 '18 at 12:29
  • Sure. But the nice thing would be, to have it self-hosted, on my own internal servers. You know... those crazy rules about not using 3rd party servers... Etherpad, for example, can be self hosted as well. – Julen Larrucea Mar 15 '18 at 12:37
  • The search GitHub, SourceForge, etc now that you know that you are looking for a "fiddle". if you find something good, please come back, post it as an answer and accept it, as that will help others in future – Mawg says reinstate Monica Mar 15 '18 at 13:08
  • 1
    Well... thank you anyway. It did help a little bit :) – Julen Larrucea Mar 15 '18 at 13:45

Cloud9 IDE https://en.m.wikipedia.org/wiki/Cloud9_IDE would be my choice. It's been acquired by amazon but the codebase is available under GNU GPL.  It covers hundreds of programming languages, including C, C++, PHP, Ruby, Perl, Python, JavaScript with Node.js as well.


  • This does not appear to be self-hosted, as the OP requires. Also "A valid credit card is required for new user registration, and the service cannot be used without one", which might be a problem for students. – Mawg says reinstate Monica Mar 16 '18 at 13:20
  • I added the github repo. Credit card is required for an aws account. But you are not charged. They simply screen bots and scammers. – Lefty G Balogh Mar 16 '18 at 15:30
  • 1
    @Mawg actually it can be too... and Lefty, it is actually also possible to get around the credit card thing. Check out this link: cloud9-sdk.readme.io/v0.1/docs/running-the-sdk – Julen Larrucea Mar 16 '18 at 17:48
  • It looks really good, but the multi-user support feels still a little weak, if not non-existent for local users. Besides that, the only little downside is, that it looks a little too commercial, with Amazon trying continuously to push you to log in into their service. But otherwise, looks quite good... – Julen Larrucea Mar 16 '18 at 17:51
  • Then, are you going to accept this as the answer? – Mawg says reinstate Monica Mar 18 '18 at 13:53

Well... after considering and testing (python) Fiddle and Cloud9, I noticed that the are either missing the self-hosting part, or the multi-user part.

I just remembered that good old ipython, together with the jupyter web-interface and the jupyterhub support for multi-user.

They can also be used with other languages than python, graphical libraries, ... and come on... if I coordinate a little bit the port allocation, they can even run their own development servers directly from the Jupyter Notebooks!

Actually, I noticed that tons of other people are using it too, for the same purpose of introductory programming teaching. So, I am going for the combination of those three.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.