Quick Start
Get pyserve running in under 5 minutes.
1. Create Configuration File
Create a file named config.yaml in your project directory:
http:
static_dir: ./static
templates_dir: ./templates
server:
host: 0.0.0.0
port: 8080
logging:
level: INFO
console_output: true
extensions:
- type: routing
config:
regex_locations:
"__default__":
root: "./static"
index_file: "index.html"
2. Create Static Directory
Create a static folder and add an index.html:
mkdir -p static
echo '<h1>Hello from pyserve!</h1>' > static/index.html
3. Start the Server
pyserve
You should see output like:
Starting PyServe server on 0.0.0.0:8080
4. Open in Browser
Navigate to http://localhost:8080 — you should see your page!
Using CLI Options
Override configuration via command line:
# Use a different config file
pyserve -c /path/to/config.yaml
# Override host and port
pyserve --host 127.0.0.1 --port 9000
# Enable debug mode (verbose logging)
pyserve --debug
Example: Serve Documentation
Serve a documentation directory with proper caching:
http:
static_dir: ./docs
server:
host: 0.0.0.0
port: 8000
extensions:
- type: routing
config:
regex_locations:
"=/":
root: "./docs"
index_file: "index.html"
"~*\\.(css|js)$":
root: "./docs"
cache_control: "public, max-age=3600"
"~*\\.html$":
root: "./docs"
cache_control: "no-cache"
"__default__":
root: "./docs"
index_file: "index.html"
Next Steps:
- Process Orchestration — Run apps in isolated processes
- Configuration Guide — Full configuration reference
- Routing Guide — nginx-style URL patterns
- Reverse Proxy — Proxy to backend services