# I am the Watcher. I am your guide through this vast new twtiverse.
# 
# Usage:
#     https://watcher.sour.is/api/plain/users              View list of users and latest twt date.
#     https://watcher.sour.is/api/plain/twt                View all twts.
#     https://watcher.sour.is/api/plain/mentions?uri=:uri  View all mentions for uri.
#     https://watcher.sour.is/api/plain/conv/:hash         View all twts for a conversation subject.
# 
# Options:
#     uri     Filter to show a specific users twts.
#     offset  Start index for quey.
#     limit   Count of items to return (going back in time).
# 
# twt range = 1 17
# self = https://watcher.sour.is/conv/th6zxhq
It's official, yarnpods is officially coming off of apache2 because I've completely fucked the reverse proxying šŸ˜‚ Now the question is, is Nginx of Traefik easier to learn?
This will also give me the opportunity to setup the docker-compose file to include yarnd as well as Gitea.
Nevermind, decided Traefik would fit best as I don't necessarily need a web server on my server, this can be handled inside docker.
@screem since one mate šŸ‘Œ borrow from my stacks repo šŸ¤£
@screem since one mate šŸ‘Œ borrow from my stacks repo šŸ¤£
@screem Iā€™m super lazy these days so I took the easy way out and use Nginx Proxy Manager šŸ˜‚
@prologic I'll definitely take a look!

@ullarah I'm hoping with Traefik it's only a few things to do in config for the reverse proxy to Docker containers šŸ˜‚ Apache unfortunately is a bit...dated

Got Traefik working for port 80 and the dashboard on 8080 for now. Will continue this after the little one is in bed
@screem Iā€™m currently looking at Traefik now. Holy moley am I in over my head LOL!
@ullarah @screem Traefik is actually not that hard to use once you get past the moutain of configuration options it has available to it.

I recommend you learn by example, My Traefik Stack šŸ‘Œ
@ullarah @screem Traefik is actually not that hard to use once you get past the moutain of configuration options it has available to it.

I recommend you learn by example, My Traefik Stack šŸ‘Œ
@prologic My TLS reverse proxy

package main

import (
\t"crypto/tls"
\t"flag"
\t"log"
\t"net/http"
\t"net/http/httputil"
\t"net/url"
\t"os"
)

func main() {

\tf := flag.String("f", "", "listen host")
\tt := flag.String("t", "", "connect host")
\tcrt := flag.String("c", "", "path to cert file")
\tkey := flag.String("k", "", "path to key file")

\tflag.Parse()

\tif *f "" {
\t\tflag.Usage()
\t\tos.Exit(1)
\t}
\tif *t
"" {
\t\tflag.Usage()
\t\tos.Exit(1)
\t}
\tif *crt "" {
\t\tflag.Usage()
\t\tos.Exit(1)
\t}
\tif *key
"" {
\t\tflag.Usage()
\t\tos.Exit(1)
\t}

\tproxy := httputil.NewSingleHostReverseProxy(&url.URL{
\t\tScheme: "http",
\t\tHost: *t,
\t})

\tcert, err := tls.LoadX509KeyPair(*crt, *key)
\tif err != nil {
\t\tlog.Println(err)
\t\tos.Exit(1)
\t}

\tconfig := &tls.Config{Certificates: []tls.Certificate{cert}, NextProtos: []string*
@prologic My 63 LOC TLS reverse proxy

https://envs.sh/EN0.bin
@prologic My 63 LOC TLS reverse proxy

https://envs.sh/Er1.bin
@ullarah I'm right there with you!

@prologic So, I'm guessing a config file may be an easier way to manage all of these?
I think I'm going to need a course on how to correctly define services, routers and just everything Traefik. This is making my brain implode šŸ˜…
@screem Jump on a call with me or call me up on Signal, happy to walk you through it šŸ‘Œ
@screem Jump on a call with me or call me up on Signal, happy to walk you through it šŸ‘Œ