An online morse code chat, allowing users from all over the world to practice and communicate in morse code without the need for expensive equipment. Live at morse.halb.it
Copy the file env.example into .env
in the .env configure your app secret
clone this repository git clone https://github.com/robalb/morsechat.git
navigate into the repository cd morsechat
start the backend server in development mode cd backend && go run -race cmd/morsechat/main.go
start vite in development mode cd web && npm run dev
These steps are enough to get a local version of the app running.
The backend also includes unit, e2e, and fuzz tests, which you can run with the command go test ./...
The easiest way to run the webapp in a production environment is with the provided docker-compose.yml,
docker-compose up --build
Alternatively you can deploy the app on a k8s kluster using the manifests in kubernetes/base
but first you will need to
setup on your own a traefik ingress controller and certmanager.
The backend webserver is configured to handle X-Forwarder-For headers coming from an ingress with proxy protocol enabled.
You can configure it in flaskapp.conf
The live website on halb.it is built using github workflows, and deployed on a k8s cluster with argoCD