webserva

command module
v0.0.0-...-15584c2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2026 License: AGPL-3.0 Imports: 25 Imported by: 0

README

Artifact Hub

webserva

A user configurable and simple HTTP server

Features

  • Serve a folder as a website
  • Hostname and path redirects
    • Configurable statusCode, behaviour and destination
  • Dynamic reloading of configuration
  • Set headers
  • History mode for single page apps, with templating
  • Paths can be gated by basic auth, headers and query parameters
  • Configuration that has richness like a Kubernetes resource definition

Why?

I wanted to satisfy these requirements:

  • safely configure the webserver within the web root
    • simple and self-service
  • don't require a Docker build to customise the web server configuration
    • save time
    • enable rootless configuration

Installation

Install with Go

go install gitlab.com/bobymcbobs/webserva@latest

webserva

launch with Podman/Docker

podman run -it --rm -p 8080:8080 -v "$PWD:$PWD" --workdir "$PWD" registry.gitlab.com/bobymcbobs/webserva:latest

verify a container image with cosign

cosign verify \
    --certificate-identity-regexp 'https://gitlab.com/BobyMCbobs/webserva//.gitlab-ci.yml@(refs/heads/main|refs/tags/.*)' \
    --certificate-oidc-issuer-regexp 'https://gitlab.com' \
    -o text \
    registry.gitlab.com/bobymcbobs/webserva:latest

Use cases

Local web development

Launch webserva in the directory of the built/rendered/source of a website locally.

As a base layer

Serving a website as a container image

FROM registry.gitlab.com/bobymcbobs/webserva:latest
COPY public /var/run/ko

see deployment.

Serving a single page app

Use history mode to serve a single page app. Check out templating configuration.

Self-serve dotfile config

Using .webserva.yaml web root, configure the runtime of the web server. Check out dotfile configuration.

Documentation

Docs are located in the docs folder, as well as on GitLab pages.

License

Copyright 2026 Caleb Woodbine. This project is licensed under the AGPL-3.0 and is Free Software. This program comes with absolutely no warranty.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL