AIvoices/server-deno/README.md
2025-04-18 16:28:19 +01:00

62 lines
2.1 KiB
Markdown

# Elato AI WebSocket Server (Deno)
This directory contains the WebSocket server implementation for Elato AI, built with Deno.
## Prerequisites
- [Deno](https://deno.land/) installed on your system
- Network access (for both local development and deployment)
## Running the Server
### Local Development
1. **Start the server**:
```bash
# Navigate to the server-deno directory
cd server-deno
# Run the server (replace server.ts with your main file if different)
deno run -A --env-file=.env main.ts
```
2. **Verify the server**:
- The server should be running on port 8000 (default)
- You should see a message confirming the server is listening
### Production Deployment
1. **Deploy to Deno Deploy**:
- Create an account on [Deno Deploy](https://deno.com/deploy)
- Create a new project
- Connect your GitHub repository or upload your server code
- Deploy to a custom domain (e.g., `your-app.deno.dev`)
2. **Update firmware configuration**:
- In the firmware project, make sure `DEV_MODE` is NOT defined in Config.cpp
- The WebSocket server will be set to your Deno Deploy URL
3. **Get the Root CA Certificate using terminal**:
- To get the full certificate chain with the root CA:
```bash
openssl s_client -showcerts -connect your-app.deno.dev:443 </dev/null
```
- Copy the last certificate in the chain (the root CA certificate) including the BEGIN and END lines
- Paste this into the `CA_cert` variable in Config.cpp
## Troubleshooting
### Connection Issues
- Ensure your ESP32 device and development computer are on the same network
- Check if any firewalls are blocking port 8000
- Verify your local IP address hasn't changed (dynamic IPs can change after reconnecting)
### Server Errors
- Check the server logs for error messages
- Ensure Deno has proper permissions to access network resources
## Additional Resources
- [Deno Documentation](https://docs.deno.com/runtime/)
- [Deno Deploy Documentation](https://docs.deno.com/deploy/manual/)
- [WebSocket API Reference](https://developer.mozilla.org/en-US/docs/Web/API/WebSocket)