srv: A simple web server for local usage.

[ apache, program, web ] [ Propose Tags ] [ Report a vulnerability ]

Please see the README on GitHub at https://github.com/thma/srv#readme


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1.0.0
Dependencies async (<2.3), base (>=4.7 && <5), bytestring (<0.12), containers (<0.7), directory (<1.4), raw-strings-qq (<1.2), wai (<3.3), wai-app-static (<3.2), warp (<3.4), warp-tls (<3.4), yaml (<0.12) [details]
License Apache-2.0
Copyright 2022 Thomas Mahler
Author Thomas Mahler
Maintainer thma@apache.org
Category Web
Home page https://github.com/thma/srv#readme
Bug tracker https://github.com/thma/srv/issues
Source repo head: git clone https://github.com/thma/srv
Uploaded by thma at 2022-12-18T10:39:32Z
Distributions
Executables srv
Downloads 100 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
Last success reported on 2022-12-18 [all 1 reports]

Readme for srv-0.1.0.0

[back to package description]

srv

srv is a tiny web server for local deployments

Installation

build from source


$ git clone https://github.com/thma/srv.git
$ cd srv
$ stack install 

-- or if you don't have stack installed

$ cabal install

Usage

$ srv

starting up srv...
srv.yaml not found, generating file with default config
Starting HTTP server on port 8080
Starting HTTPS server on port 8443

During the initial run, srv will create a config file "srv.yaml" in the current directory.

You can edit this file to change the port, the directory to serve, and also select whether host HTTP or HTTPS or both.

If HTTPS is selected, you can also provide a certificate and key file. If you don't provide both files, srv will use a predefined self-signed certificate which is meant for local demo use only. (using this demo certificate will result in a warning in your browser and some browsers will even refuse to connect.)

Configuration

Here is a sample configuration file:

documentRoot: .
handlers:
- - HTTP
  - 8080
- - HTTPS
  - 8443
pathToCert: certificate.pem
pathToKey: key.pem

How to generate your own certificate

openssl genrsa -out key.pem 2048
openssl req -new -key key.pem -out certificate.csr
openssl x509 -req -in certificate.csr -signkey key.pem -out certificate.pem