nsite-ts
v0.5.1
Published
A blossom server implementation written in Typescript
Downloads
66
Readme
nsite-ts
A Typescript implementation of nsite
Running with docker-compose
git clone https://github.com/hzrd149/nsite-ts.git
cd nsite-ts
docker compose up
Once 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-ts
image can be used to run a http instance locally
docker run --rm -it --name nsite -p 8080:80 ghcr.io/hzrd149/nsite-ts
Manual nginx setup
Before manually setting up nginx and nsite-ts you need a few things installed
Next your going to need to clone the nsite-ts repo and set it up
git clone https://github.com/hzrd149/nsite-ts
cd nsite-ts
# install dependencies
pnpm install
# build app
pnpm build
Then create a new .env
file for configuration
cp .env.example .env
Next 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 nsite
Then once nsite-ts 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.conf
http {
+ 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 tor
Setup hidden service
Modify the torrc file to enable HiddenServiceDir
and HiddenServicePort
HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080
Then restart tor
sudo systemctl restart tor
Next 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:4447