https://chattington.duckdns.org/
This repo contains the full stack for a real-time chat app with:
- a Spring Boot backend (REST + STOMP over RabbitMQ),
- a Vue frontend,
- PostgreSQL for persistence,
- RabbitMQ for messaging,
- Caddy for local HTTPS reverse proxying.
chat-app/- Spring Boot backendchat-vue/- Vue frontendrabbitmq/- RabbitMQ config (plugins)secrets/- local key material (not for production)Caddyfile- local HTTPS reverse proxy
- Add host entry (run PowerShell as Administrator):
echo 127.0.0.1 chat.local >> C:\Windows\System32\drivers\etc\hosts
ipconfig /flushdns- Start stack:
docker compose up --build- Trust Caddy local CA:
docker compose exec caddy cat /data/caddy/pki/authorities/local/root.crt > caddy-local-root.crt
certutil -addstore -f Root caddy-local-root.crtOpen: https://chat.local
- Add host entry:
echo "127.0.0.1 chat.local" | sudo tee -a /etc/hosts- Start stack:
docker compose up --build- Trust Caddy local CA:
docker compose exec caddy cat /data/caddy/pki/authorities/local/root.crt > caddy-local-root.crt
sudo cp caddy-local-root.crt /usr/local/share/ca-certificates/caddy-local-root.crt
sudo update-ca-certificatesOpen: https://chat.local
Before starting the stack, create a .env file from the example and adjust as needed:
cp .env.example .envKey variables:
DB_NAME,DB_PASSWORDBROKER_USER,BROKER_PASSWORDCLOUDINARY_URLDOMAIN_NAME(hostname for both Caddy and backend allowed origin, defaultchat.local)
The hostname is parameterized via DOMAIN_NAME (set in docker-compose.yml).
If you want a different local URL, update:
DOMAIN_NAMEin.env- the host entry in
C:\Windows\System32\drivers\etc\hosts
Copy .env.example to .env and adjust as needed.
- RabbitMQ STOMP is enabled via
rabbitmq/enabled_plugins. - The backend expects STOMP on port
61613.