# anonymousoverflow Setup ![](0.png) 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: ![](1.png) ![](2.png) 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)