Crates.io | atproto-static-web |
lib.rs | atproto-static-web |
version | 0.2.1 |
created_at | 2025-08-06 00:16:59.506101+00 |
updated_at | 2025-08-09 00:33:47.785214+00 |
description | A web server that presents AT Proto posts without Javascript. |
homepage | |
repository | https://git.average.name/AverageHelper/atproto-static-web |
max_upload_size | |
id | 1783210 |
size | 680,811 |
A web server that presents AT Proto posts without Javascript.
[!WARNING] This project is a work-in-progress. Expect bugs and UI weirdness. Contributions welcome!
The server is configured using environment variables.
ADDRESS
: the IP address on which the server will listen for connections. Defaults to "[::]"
, the "unspecified" IPv6 address.HOST
: the domain name where the front-end is hosted, e.g. example.com
. Must be provided.HTTP_PORT
: the port on which the server will listen for HTTP connections. Defaults to 8080
.LOG_LEVEL
: the level at which log messages should be printed to the console. Must be one of error
, warn
, info
, debug
, or trace
. Defaults to warn
in Release mode and debug
in Development mode.PDS_URL
: the URL which should receive AT Proto API calls, e.g. https://public.api.bsky.app/
. Must be provided.SITE_NAME
: the name which the front-end should call this web service. Defaults to "AT Proto Static"
.When building in Development mode, environment values are read from a .env
file in the current working directory, if one exists. In Release mode, you should provide env values another way.
Create a compose.yml
file similar to the compose.example.yml
file provided, then run the following:
docker compose pull
docker compose up -d
With cargo
installed, clone the repo and run the following:
export HOST='example.com'
export PDS_URL='https://public.api.bsky.app/'
cargo run --release