Services Status
- Backend API: Checking...
- Chat WebSocket: Checking...
- Stream HLS: Checking...
Features
- Real-time collaborative audio streaming
- WebSocket chat integration
- HLS video streaming
- Modern React frontend
--- # Deploy Veza V5 Ultra applications in containers (simplified version) # Builds and runs backend, chat, stream, and web services - name: Deploy Veza V5 Ultra applications hosts: edge become: true gather_facts: true vars: domain: "{{ domain | default('veza.talas.fr') }}" backend_container: "veza-backend" chat_container: "veza-chat" stream_container: "veza-stream" web_container: "veza-web" tasks: - name: Deploy Go Backend API block: - name: Install Go in backend container command: | incus exec {{ backend_container }} -- apt update incus exec {{ backend_container }} -- apt install -y wget git incus exec {{ backend_container }} -- wget https://go.dev/dl/go1.21.5.linux-amd64.tar.gz incus exec {{ backend_container }} -- tar -C /usr/local -xzf go1.21.5.linux-amd64.tar.gz incus exec {{ backend_container }} -- echo 'export PATH=$PATH:/usr/local/go/bin' >> /root/.bashrc register: go_install_result failed_when: false - name: Create backend application directory command: | incus exec {{ backend_container }} -- mkdir -p /opt/veza-backend register: backend_dir_result failed_when: false - name: Create simple backend server copy: content: | package main import ( "fmt" "log" "net/http" "os" ) func main() { port := os.Getenv("PORT") if port == "" { port = "8080" } http.HandleFunc("/api/health", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) fmt.Fprintf(w, `{"status":"ok","service":"veza-backend"}`) }) http.HandleFunc("/api/", func(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") w.WriteHeader(http.StatusOK) fmt.Fprintf(w, `{"message":"Veza V5 Ultra Backend API","version":"1.0.0"}`) }) log.Printf("Backend API server starting on port %s", port) log.Fatal(http.ListenAndServe(":"+port, nil)) } dest: /tmp/main.go delegate_to: localhost - name: Copy backend code to container command: | incus file push /tmp/main.go {{ backend_container }}/opt/veza-backend/main.go register: backend_code_result failed_when: false - name: Build backend application command: | incus exec {{ backend_container }} -- bash -c "cd /opt/veza-backend && /usr/local/go/bin/go mod init veza-backend && /usr/local/go/bin/go build -ldflags '-s -w' -o veza-backend main.go" register: backend_build_result failed_when: false - name: Create backend systemd service copy: content: | [Unit] Description=Veza V5 Ultra Backend API After=network.target [Service] Type=simple User=root WorkingDirectory=/opt/veza-backend ExecStart=/opt/veza-backend/veza-backend Restart=always RestartSec=5 Environment=PORT=8080 Environment=DATABASE_URL=postgresql://veza:password@localhost:5432/veza_db Environment=REDIS_URL=redis://localhost:6379 Environment=JWT_SECRET=super-secret-jwt-key Environment=JWT_REFRESH_SECRET=super-secret-refresh-key [Install] WantedBy=multi-user.target dest: /tmp/veza-backend.service delegate_to: localhost - name: Copy systemd service to container command: | incus file push /tmp/veza-backend.service {{ backend_container }}/etc/systemd/system/veza-backend.service register: backend_service_result failed_when: false - name: Start backend service command: | incus exec {{ backend_container }} -- systemctl daemon-reload incus exec {{ backend_container }} -- systemctl enable veza-backend incus exec {{ backend_container }} -- systemctl start veza-backend register: backend_start_result failed_when: false - name: Check backend service status command: | incus exec {{ backend_container }} -- systemctl status veza-backend register: backend_status failed_when: false - name: Display backend status debug: var: backend_status.stdout_lines rescue: - name: Backend deployment failed debug: msg: "Backend deployment failed, continuing with other services" - name: Deploy simple web application block: - name: Install Node.js in web container command: | incus exec {{ web_container }} -- apt update incus exec {{ web_container }} -- apt install -y curl nginx incus exec {{ web_container }} -- curl -fsSL https://deb.nodesource.com/setup_18.x | bash - incus exec {{ web_container }} -- apt install -y nodejs register: node_install_result failed_when: false - name: Create web application directory command: | incus exec {{ web_container }} -- mkdir -p /var/www/veza register: web_dir_result failed_when: false - name: Create simple web page copy: content: |
Collaborative Audio Streaming Platform