Browse documentation

What is a Container?

Containers run your own code on FPS.ms in Python, Node.js, Go, Java, Rust and seven more runtimes. What you get on the free plan, what needs a paid plan, and where bot hosting went.

CanerAkar
On this page

A Container is a server on FPS.ms that runs your own code: a Discord or Telegram bot, an API, a website backend, a background worker or a script. You pick a runtime such as Python or Node.js, upload your code or connect a GitHub repository, and FPS.ms keeps it running. Discord bots and Telegram bots are no longer separate products: you host them on a Python or Node.js Container.

Run your Python script for free

Game Servers, Containers and Apps

When you create a server on panel.fps.ms/deploy, you first pick one of three categories:

Category What it runs Examples
Game Servers A game, set up for you Minecraft, Terraria, Hytale
Containers Your own code in the runtime you pick A Discord bot, a Telegram bot, an API, a web app
Apps A ready-made app, installed for you Vikunja, Navidrome

A Container is not a VPS. You do not get root access or SSH. You manage your code with the file manager, SFTP, the console and, on a paid plan, GitHub deploys. FPS.ms looks after the machine, the runtime and the network.

Runtimes you can pick

Runtime Good for Free plan
Python Discord and Telegram bots, scripts, Flask and FastAPI apps Yes
Node.js Discord and Telegram bots, Express and other web apps Yes
Bun Fast JavaScript and TypeScript apps Yes
.NET C# apps and ASP.NET Core Yes
Dart Dart servers and command-line apps Yes
Go APIs, bots and workers Yes
Java Spring Boot and other JVM apps Yes
Lua Lua scripts and tools Yes
Odin Odin programs Yes
Rust APIs, bots and workers Yes
Kotlin Ktor and other Kotlin apps No, paid plans only
Haskell Haskell programs No, paid plans only

The supported runtimes page shows which file each runtime starts and how it installs your packages.

What you get on the free plan

  • One free Container. You can have one free server per category, so one free Container in total, whatever the runtime. A Discord bot and a Telegram bot no longer get a free slot each. If you already had two free bot servers before the change, both keep running.
  • It does not sleep. A Container keeps running when nobody uses it, so a bot stays online. Free servers still need to be renewed.
  • Environment variables. Up to 8 on a free server. See environment variables.
  • A Public URL with a random name, like faint-forge.hostedbyfps.com, for web apps. See Public URL.

What needs a paid plan

Paid plans show a PRO badge in the panel. On a paid Container you also get:

  • Deploys from GitHub on every push, with a build log and rollbacks.
  • Up to 100 environment variables.
  • Your own name on hostedbyfps.com, and a domain you bought somewhere else.
  • More memory, CPU and disk.

Create a Container

  1. Click Deploy in the top bar of the panel, or go to panel.fps.ms/deploy.
  2. Click Containers.
  3. Under Choose a container, click the runtime you want.
  4. Under Choose a runtime version, pick the version your code needs, for example Python 3.12.
  5. Pick a plan and a location, then click Deploy Server.

When it is installed, the panel says: "Upload your code or connect a GitHub repository to start it."

Next steps

Run your Python script or bot for free.

Upload your code, add your environment variables and keep it running 24/7.

Run your script free