AIvoices/server-deno
2025-04-21 12:32:39 +01:00
..
.env.example updating readme 2025-04-21 12:32:39 +01:00
.gitignore v1 2025-04-08 14:05:27 +01:00
deno.json v1 2025-04-08 14:05:27 +01:00
deno.lock v1 2025-04-08 14:05:27 +01:00
Dockerfile v1 2025-04-08 14:05:27 +01:00
main.ts updating frontend 2025-04-18 14:15:56 +01:00
README.md updating vercel docs 2025-04-18 16:28:19 +01:00
supabase.ts updating frontend 2025-04-18 14:15:56 +01:00
types.d.ts v1 2025-04-08 14:05:27 +01:00
utils.ts updating readme 2025-04-21 12:32:39 +01:00

Elato AI WebSocket Server (Deno)

This directory contains the WebSocket server implementation for Elato AI, built with Deno.

Prerequisites

  • Deno installed on your system
  • Network access (for both local development and deployment)

Running the Server

Local Development

  1. Start the server:

    # 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
    • 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:
    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