Cloudflare Tunnel Gotosocial
· ~radhitya · ⮕tech · #cloudflare #gotosocial
Table of Contents
Now, we can expose our localhost service to the public without a public IP or router setting with Cloudflare Zero Trust and it’s completely free. You need a credit card for registration.
I’m not explaining how to register zero trust, and you can read the documentation on the Cloudflare website .
We need CloudFlared, a lightweight server-side daemon, to connect a tunnel between the localhost and the CloudFlare server. You can download it as a Debian package, RPM, Docker, Mac, or Windows. Also, it has different architectures, like 64-bit, 32-bit, arm64-bit, and arm32-bit.
For Debian,
curl -L --output cloudflared.deb https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb && sudo dpkg -i cloudflared.deb
Then, install the Cloudflare service with your token.
sudo cloudflared service install xxx
Go to the Public Hostname menu and click “Add a public hostname”.
Choose which domain you are using and the port of service. Example: I set localhost:8080 because port 8080 will be a Gotosocial service port.
gotosocial
Fediverse is not just a mastodon, but more than that, one of them is gotosocial.
According to the project github, GoToSocial is a fast and lightweight activitypub social network server written in Golang. Gotosocial does not have a frontend and you have to use another client, like Tusky, Semaphore, and the others. Don’t worry, you will have the same experience: post, read, and follow other accounts.
I like to install Gotosocial via Docker Composer because I just paste the script and start the service.
Create docker-compose.yml for gotosocial.
version: "3.3"
services:
gts:
image: superseriousbusiness/gotosocial:latest
container_name: gts
user: 1000:1000
hostname: gts
environment:
GTS_HOST: domain.tld
GTS_DB_TYPE: sqlite
GTS_DB_ADDRESS: /gotosocial/storage/sqlite.db
GTS_LETSENCRYPT_ENABLED: "false"
GTS_LETSENCRYPT_EMAIL_ADDRESS: ""
GTS_ADVANCED_RATE_LIMIT_REQUESTS: 0
ports:
- "127.0.0.1:8080:8080"
volumes:
- ./:/gotosocial/storage
restart: "always"
You can change settings using environment variables.
Start the service
$ docker-compose up -d
You should be able to see your instance in the browser.
More information about creating an admin and user is there.
Congratulations! Now you can build you own GotoSocial Cloudflare Tunnel!
⚘
Questions or comments? Please feel free to contact me.