mirror of
http://git.nowherejezfoltodf4jiyl6r56jnzintap5vyjlia7fkirfsnfizflqd.onion/nihilist/selfhosting-blogposts.git
synced 2025-05-17 04:36:58 +00:00
117 lines
4.8 KiB
Markdown
117 lines
4.8 KiB
Markdown
# anonymousoverflow Setup
|
|
|
|

|
|
|
|
In this tutorial we're going to look at how to setup AnonymousOverflow, a privacy front-end for StackOverflow.
|
|
|
|
## **Initial Setup**
|
|
|
|
First git-clone it and run it via docker-compose:
|
|
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/srv]
|
|
→ git clone https://github.com/httpjamesm/AnonymousOverflow
|
|
Cloning into 'AnonymousOverflow'...
|
|
remote: Enumerating objects: 778, done.
|
|
remote: Counting objects: 100% (287/287), done.
|
|
remote: Compressing objects: 100% (92/92), done.
|
|
remote: Total 778 (delta 197), reused 255 (delta 177), pack-reused 491
|
|
Receiving objects: 100% (778/778), 133.76 KiB | 7.04 MiB/s, done.
|
|
Resolving deltas: 100% (432/432), done.
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/srv]
|
|
→ cd AnonymousOverflow
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/AnonymousOverflow]
|
|
→ ls
|
|
config docker-compose.example.yml Dockerfile env go.mod go.sum LICENSE main.go public README.md src templates
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/AnonymousOverflow]
|
|
→ cat docker-compose.yml
|
|
version: '3'
|
|
|
|
services:
|
|
anonymousoverflow:
|
|
container_name: 'app'
|
|
build:
|
|
context: .
|
|
environment:
|
|
- APP_URL=https://overflow.nowhere.moe
|
|
- JWT_SIGNING_SECRET=nlkdwadwawwadwawa
|
|
ports:
|
|
- '8081:8080'
|
|
restart: 'always'
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/AnonymousOverflow]
|
|
→ docker-compose up -d
|
|
Recreating app ... done
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/srv/AnonymousOverflow]
|
|
→ docker container ls
|
|
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
|
|
fd597c0798ca anonymousoverflow_anonymousoverflow "/anonymousoverflow" 16 seconds ago Up 15 seconds 0.0.0.0:8081->8080/tcp, :::8081->8080/tcp app
|
|
|
|
|
|
|
|
then we setup a reverse nginx proxy on it:
|
|
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/etc/nginx/sites-available]
|
|
→ vim overflow.nowhere.moe.conf
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/etc/nginx/sites-available]
|
|
→ cat overflow.nowhere.moe.conf
|
|
server {
|
|
listen 443 ssl;
|
|
server_name overflow.nowhere.moe;
|
|
|
|
ssl_certificate /etc/acme/certs/overflow.nowhere.moe/overflow.nowhere.moe.cer;
|
|
ssl_certificate_key /etc/acme/certs/overflow.nowhere.moe/overflow.nowhere.moe.key;
|
|
|
|
######## TOR CHANGES ########
|
|
listen 4443;
|
|
listen [::]:4443;
|
|
server_name overflow.daturab6drmkhyeia4ch5gvfc2f3wgo6bhjrv3pz6n7kxmvoznlkq4yd.onion;
|
|
add_header Onion-Location "http://overflow.daturab6drmkhyeia4ch5gvfc2f3wgo6bhjrv3pz6n7kxmvoznlkq4yd.onion$request_uri" always;
|
|
######## TOR CHANGES ########
|
|
|
|
location / {
|
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
proxy_pass http://localhost:8081;
|
|
}
|
|
|
|
}
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/etc/nginx/sites-available]
|
|
→ ln -s /etc/nginx/sites-available/overflow.nowhere.moe.conf /etc/nginx/sites-enabled
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/etc/nginx/sites-available]
|
|
→ nginx -t
|
|
2023/07/16 00:10:22 [warn] 200694#200694: "ssl_stapling" ignored, issuer certificate not found for certificate "/etc/acme/certs/nitter.nowhere.moe/nitter.nowhere.moe.cer"
|
|
2023/07/16 00:10:22 [emerg] 200694#200694: cannot load certificate "/etc/acme/certs/overflow.nowhere.moe/overflow.nowhere.moe.cer": BIO_new_file() failed (SSL: error:80000002:system library::No such file or directory:calling fopen(/etc/acme/certs/overflow.nowhere.moe/overflow.nowhere.moe.cer, r) error:10000080:BIO routines::no such file)
|
|
nginx: configuration file /etc/nginx/nginx.conf test failed
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/etc/nginx/sites-available]
|
|
→ systemctl stop nginx
|
|
|
|
[ nowhere.moe ] [ /dev/pts/1 ] [/etc/nginx/sites-available]
|
|
→ bash
|
|
root@Datura /etc/nginx/sites-available # history | grep acme | tail -n2
|
|
299 acme.sh --issue --standalone -d whoogle.nowhere.moe -k 4096
|
|
315 history | grep acme | tail -n2
|
|
root@Datura /etc/nginx/sites-available # acme.sh --issue --standalone -d overflow.nowhere.moe -k 4096
|
|
|
|
root@Datura /etc/nginx/sites-available # nginx -t
|
|
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
|
|
nginx: configuration file /etc/nginx/nginx.conf test is successful
|
|
|
|
root@Datura /etc/nginx/sites-available # systemctl start nginx
|
|
|
|
|
|
|
|
Then check if your instance is accessible:
|
|
|
|
 
|
|
|
|
Then contribute to the project by [listing your instance for other users](https://github.com/httpjamesm/AnonymousOverflow#clearnet-instances) like [so](https://github.com/httpjamesm/AnonymousOverflow/issues/43)
|
|
|