bsky-app/bskyweb
Jake Gold 49840f3a27
bskyweb: gzip HTTP responses + some other minor improvements (#826)
* bskyweb: gzip HTTP responses + JSON logging + minor refactoring

* reduce timeout and max header size

* add a security.txt
2023-06-01 10:22:02 -05:00
..
cmd/bskyweb bskyweb: gzip HTTP responses + some other minor improvements (#826) 2023-06-01 10:22:02 -05:00
static add/serve .well-known files 2023-05-26 17:49:58 -07:00
templates Spelling (#772) 2023-05-30 14:46:43 -05:00
.gitignore Updates indigo golang packages post-lex-refactor (!), which fixes XRPC calls (#582) 2023-05-04 13:56:17 -05:00
Makefile bskyweb: run-dev-bskyweb in debug mode (#827) 2023-05-31 20:44:50 -07:00
README.md Spelling (#772) 2023-05-30 14:46:43 -05:00
example.dev.env Basic golang CI setup (#360) 2023-03-27 10:16:17 -05:00
example.env bskyweb: proof-of-concept golang daemon to serve SPA (#275) 2023-03-14 15:00:44 -05:00
go.mod bskyweb: gzip HTTP responses + some other minor improvements (#826) 2023-06-01 10:22:02 -05:00
go.sum bskyweb: gzip HTTP responses + some other minor improvements (#826) 2023-06-01 10:22:02 -05:00
static.go bskyweb additions (#296) 2023-03-20 14:41:15 -07:00
templates.go bskyweb additions (#296) 2023-03-20 14:41:15 -07:00

README.md

Build / Develop

SPA Bundle (monolithic static javascript file)

To build the SPA bundle (bundle.web.js), first get a JavaScript development environment set up. Either follow the top-level README, or something quick like:

# install nodejs 18 (specifically)
nvm install 18
nvm use 18
npm install --global yarn

# setup tools and deps (in top level of this repo)
yarn install --frozen-lockfile

# run yarn web dev server, if you wanted
yarn web

Then build and copy over the big 'ol bundle.web.js file:

# in the top level of this repo
yarn build-web

Golang Daemon

Install golang. We are generally using v1.20+.

In this directory (bskyweb/):

# re-build and run daemon
go run ./cmd/bskyweb serve

# build and output a binary
go build -o bskyweb ./cmd/bskyweb/

The easiest way to configure the daemon is to copy example.env to .env and fill in auth values there.