Server Playgrounds

Running a server just for you.

Server Playgrounds are, in a nutshell, some piece of server software running with a configuration you provide,
against which you get to run a series of commands.

This document applies to the following playgrounds:
nginx, Caddy, Apache2, HAProxy, LIGHTTPD Static Web Server

Available Backends & Isolation

Each execution spins up a fresh environment, isolated into an internal network.

Inside this network some backends are available for you to work with:

http://httpbin.org

A instance of httpbin.org, working just like the one publicly accessible.
Check out their exentsive endpoint documentation for details.

http://flask-tester.tech-playground.com

A instance of my flask-tester application
providing basic request inspection endpoints and routes to trigger specific backend response behaviours.

/var/www/html

There is a randomly generate assortment of HTML files in this directory.

commands.sh

commands.sh is your code! It is running using /bin/sh.
To give you some options all playgrounds have a wide variety of tools pre-installed.
A list of most, but not all:

  • curl
  • httpie
  • wget
  • telnet
  • jq

Reading & Writing Files

You can read and write files inside the working directory, which will be removed once your execution is finished.

Timeouts

Each playground execution has 5 seconds to start the server with your configuration, run your commands against it and exit.
Should it not finish within that time it will be forcefully stopped and whatever information could be gathered will be returned.

Advanced Options

Advanced options give you further control about how the playground behaves.

Caddy

  • Caddy config format: The format used by Caddy to load the provided configuration file