2026-07-18 05:26:41 +02:00
2026-07-17 02:35:30 +02:00
2026-07-18 01:23:59 +02:00
2026-07-17 02:29:32 +02:00
2026-07-18 05:26:41 +02:00

teletraan

a static binary-based rootless dockerized web server that is so small, it is effectively braindead, while remaining featureful for most usecases.

the server can run rootless, read-only, and distroless, making it lighter and more secure than nginx. it serves everything in the /data folder

inspired by busybox httpd.

in less than 150 loc, it currently supports:

  • gzipped files
  • serving single page webapps like cinny nginx-style via the -s flag
  • serving formats other than html as the index with the -i flag.

it has extremely minimal dependencies, so minimal that you can tack on a crapload of compilation options and use nightly rust without harming binary functionality.

it is compiled with panic=immediate-abort.

example usage

compose file

in a compose file, you can use teletraan to run your static site stack:

services:
    site-with-index.txt:
        image: codeberg.org/gigirassy/teletraan:latest
        read_only: true
        volumes:
            - "./site:/data"
        command: "-i" # site made of txt files
        ports:
            - "127.0.0.1:9900:3000"
    spa-matrix-client:
        image: codeberg.org/gigirassy/teletraan:latest
        read_only: true
        volumes:
            - "./cinny:/data"
        command: "-s" # single page app
        ports:
            - "127.0.0.1:9901:3000"
    basic-html-site:
        image: codeberg.org/gigirassy/teletraan:latest
        read_only: true
        volumes:
            - "./basic-html-site:/data"
        # no command: flags needed!
        ports:
            - "127.0.0.1:9904:3000"

use external caddy or nginx to reverse proxy the host ports either way.

dockerfile

an image of cinny can be easily and quickly built with teletraan as the server. we just need to specify CMD ["-s"] at the end.

FROM ghcr.io/cinnyapp/cinny:v4.12.3 AS source

FROM codeberg.org/gigirassy/teletraan:latest AS runtime

COPY --from=source /usr/share/nginx/html .

EXPOSE 3000

CMD ["-s"]

a simple image for your static site can be built easily. you dont have to specify a cmd!

FROM codeberg.org/gigirassy/teletraan:latest

COPY /static .

EXPOSE 3000

if your static site is made of txt files, use the CMD ["-i"] flag to serve your index.txt file in the webroot as the index.

FROM codeberg.org/gigirassy/teletraan:latest

COPY /doc .

EXPOSE 3000

CMD ["-i"]

use external caddy or nginx to reverse proxy the host ports either way.

license

ISC

S
Description
No description provided
Readme ISC
38 KiB
Languages
Rust 71.5%
Dockerfile 28.5%