nsite-gateway v0.7.0
nsite-gateway
A Typescript implementation of static websites on nostr
Running with docker-compose
git clone https://github.com/hzrd149/nsite-gateway.git
cd nsite-gateway
docker compose upOnce the service is running you can access the cached version at http://localhost:8080
If you need to test, you can directly access the ts server at http://localhost:3000
Running with docker
The ghcr.io/hzrd149/nsite-gateway image can be used to run a http instance locally
docker run --rm -it --name nsite -p 8080:80 ghcr.io/hzrd149/nsite-gatewayManual nginx setup
Before manually setting up nginx and nsite-gateway you need a few things installed
Next your going to need to clone the nsite-gateway repo and set it up
git clone https://github.com/hzrd149/nsite-gateway
cd nsite-gateway
# install dependencies
pnpm install
# build app
pnpm buildThen create a new .env file for configuration
cp .env.example .envNext copy and setup the systemd service
sudo cp contrib/nsite.service /etx/systemd/system/nsite.service
# edit the service and set the working directory path
sudo nano /etx/systemd/system/nsite.service
# reload systemd service
sudo systemctl daemon-reload
# start service
sudo systemctl start nsiteThen once nsite-gateway is running, next you need to configure nginx
Start by modifying the /etx/nginx/nginx.conf file and adding a proxy_cache_path to the http section
sudo nano /etc/nginx/nginx.confhttp {
+ proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=request_cache:10m max_size=10g inactive=60m use_temp_path=off;
}Next modify the default site config (usually /etx/nginx/sites-enabled/default or /etc/nginx/conf.d/default.conf) to be one of
Once that is done you can restart nginx and you should have a new nsite server running on port 80
Tor setup
First you need to install tor (sudo apt install tor on debian systems) or Documentation
Then able the tor service
sudo systemctl enable tor
sudo systemctl start torSetup hidden service
Modify the torrc file to enable HiddenServiceDir and HiddenServicePort
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080Then restart tor
sudo systemctl restart torNext get the onion address using cat /var/lib/tor/hidden_service/hostname and set the ONION_HOST variable in the .env file
# don't forget to start with http://
ONION_HOST="http://q457mvdt5smqj726m4lsqxxdyx7r3v7gufzt46zbkop6mkghpnr7z3qd.onion"Connecting to Tor and I2P relays and blossom servers
Install Tor (Documentation) and optionally I2Pd (Documentation) and then add the TOR_PROXY and I2P_PROXY variables to the .env file
TOR_PROXY=127.0.0.1:9050
I2P_PROXY=127.0.0.1:44478 months ago