No description
  • Shell 42.2%
  • Go 22.4%
  • Just 14.6%
  • Dockerfile 12.8%
  • Python 5.2%
  • Other 2.8%
Find a file
Adam Štrauch 99e7ed41b4
All checks were successful
Test build / build (push) Successful in 32m47s
Release into production / build (release) Successful in 32m5s
Update techs.json to set default versions for Node, Python, PHP, Ruby, Deno, Bun, OpenJDK, and Golang
2026-06-04 00:02:11 +02:00
.github/workflows Reorder steps in GitHub Actions workflow to run tests before pushing 2026-04-18 01:40:52 +02:00
cmd/rosti New Rosti 2026-06-03 16:59:30 +02:00
etc Update SSH condition to include TTYD_TOKEN for enhanced session handling 2026-04-18 22:01:24 +02:00
examples New Rosti 2026-06-03 16:59:30 +02:00
scripts Fix redis config 2023-10-27 00:55:12 +02:00
.drone.off.yml Test pipeline 2023-11-26 02:52:15 +01:00
.gitignore Initial commit 2020-02-02 22:06:11 +01:00
activate_tech.fish A lot of new stuff 2024-08-13 19:59:45 +02:00
build_bun.sh A lot of new stuff 2024-08-13 19:59:45 +02:00
build_deno.sh New version of all techs, adding Deno and Ruby 2021-02-07 01:05:27 +01:00
build_golang.sh A lot of new stuff 2024-08-13 19:59:45 +02:00
build_node.sh Initial commit 2020-02-02 22:06:11 +01:00
build_openjdk.sh Bump up everything for 2024.10-1 2024-10-08 11:13:35 +02:00
build_php.sh webp support 2021-04-07 18:35:50 +02:00
build_php8.sh New Rosti 2026-06-03 16:59:30 +02:00
build_python.sh Initial commit 2020-02-02 22:06:11 +01:00
build_ruby.sh A lot of new stuff 2024-08-13 19:59:45 +02:00
build_techs.py New Rosti 2026-06-03 16:59:30 +02:00
Dockerfile New Rosti 2026-06-03 16:59:30 +02:00
generate_versions.py New Rosti 2026-06-03 16:59:30 +02:00
go.mod New Rosti 2026-06-03 16:59:30 +02:00
go.sum New Rosti 2026-06-03 16:59:30 +02:00
Justfile Update technology versions and add Justfile for runtime management 2026-02-22 01:16:55 +01:00
LICENSE Create LICENSE 2020-02-02 22:07:48 +01:00
Makefile New Rosti 2026-06-03 16:59:30 +02:00
README.md New Rosti 2026-06-03 16:59:30 +02:00
rjust Update technology versions and add Justfile for runtime management 2026-02-22 01:16:55 +01:00
rosti-actions.sh New Rosti 2026-06-03 16:59:30 +02:00
start.sh New Rosti 2026-06-03 16:59:30 +02:00
Taskfile.yml New Rosti 2026-06-03 16:59:30 +02:00
teams_message3.json Update Node.js, Python, PHP, Ruby, Deno, Bun, and Golang versions in Dockerfile; add ttyd web terminal setup in start.sh; update version in Taskfile; add teams message JSON file 2026-04-18 00:05:23 +02:00
techs.json Update techs.json to set default versions for Node, Python, PHP, Ruby, Deno, Bun, OpenJDK, and Golang 2026-06-04 00:02:11 +02:00
tests2.sh New Rosti 2026-06-03 16:59:30 +02:00

Roští.cz Runtime

Runtime image designed for our hosting service. It's designed for multiple versions of Node.js, PHP and Python interpreters. It runs SSH, cron daemon and supervisord as process manager.

The goal of the image is to deliver versatile environment different kind of applications.

The image is based on Debian 10 Buster and it's size is around 2.5 GB when it's squashed.

** Supported languages **

  • Python 3.8.2
  • Python 3.8.5
  • Node.js 13.12.0
  • Node.js 14.8.0
  • Node.js 12.14.1
  • Node.js 12.16.1
  • PHP 7.4.4
  • PHP 7.4.9

** Additional tools **

  • Memcached
  • Redis
  • crond
  • Supervisord
  • Nginx
  • Dropbear

Test

To run tests you can check integrated workflow, but all you need are those two commands:

make test

If you prefer Podman, use this command to build the image:

make DOCKER=podman test

This is useful in Fedora.

Development builds

The full build compiles or downloads every supported technology. For faster debugging you can skip selected technologies with build arguments:

task build BUILD_PHP=0 BUILD_PYTHON=0 BUILD_RUBY=0

For the fastest image, use the development preset. It disables all technology builds by default:

task dev

You can re-enable only the runtime you need:

task dev BUILD_NODE=1

Supported technology versions, labels, build scripts, extra build arguments, and default versions are configured in techs.json.

Runtime configuration tool

The rosti command is a Bubble Tea based TUI when run without arguments. It keeps the non-interactive CLI interface for automation:

rosti node
rosti node 25.9.0
rosti redis

The TUI binary delegates environment changes to rosti-actions.sh so the setup behavior stays shared between interactive and CLI modes.

Additional info

Default user

Image uses system user app to run the application code.

SSH password

The image runs dropbear at start along crond and supervisord. If you want to set password for next start of the container, save it into this file:

/srv/.rosti

Dynamically it can be set like this:

echo "app:PASSWORD" | chpasswd