CarolinePascal commited on
Commit
64cdec8
·
unverified ·
1 Parent(s): c14dbab

first attempt at launching Unmute in a space

Browse files
Files changed (2) hide show
  1. Dockerfile +40 -0
  2. app.sh +46 -0
Dockerfile ADDED
@@ -0,0 +1,40 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ FROM nvidia/cuda:12.1.105-runtime-ubuntu22.04
2
+
3
+ # System deps
4
+ RUN apt-get update && apt-get install -y --no-install-recommends \
5
+ python3 python3-pip python3-venv git curl build-essential pkg-config ca-certificates \
6
+ && rm -rf /var/lib/apt/lists/*
7
+
8
+ WORKDIR /app
9
+
10
+ # --- Install uv (Python package/dependency manager) ---
11
+ RUN curl -LsSf https://astral.sh/uv/install.sh | sh \
12
+ && ln -s $HOME/.cargo/bin/uv /usr/local/bin/uv
13
+
14
+ # --- Install Rust + Cargo ---
15
+ ENV RUSTUP_HOME=/usr/local/rustup \
16
+ CARGO_HOME=/usr/local/cargo \
17
+ PATH=/usr/local/cargo/bin:$PATH
18
+ RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y \
19
+ && rustup default stable
20
+
21
+ # --- Install pnpm (Node package manager) ---
22
+ ENV PNPM_HOME=/usr/local/pnpm
23
+ ENV PATH=$PNPM_HOME:$PATH
24
+ RUN curl -fsSL https://get.pnpm.io/install.sh | sh - \
25
+ && ln -s $PNPM_HOME/pnpm /usr/local/bin/pnpm
26
+
27
+ # --- Python setup ---
28
+ RUN python3 -m pip install --upgrade pip
29
+
30
+ # Example: clone your external repo early
31
+ RUN git clone [email protected]:CarolinePascal/unmute.git /app/unmute
32
+
33
+ # Copy rest of your app
34
+ COPY . /app
35
+
36
+ # Ports
37
+ EXPOSE 7860
38
+ ENV PORT=7860
39
+
40
+ CMD ["/app/start.sh"]
app.sh ADDED
@@ -0,0 +1,46 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #!/usr/bin/env bash
2
+
3
+ # Function to handle cleanup on script exit
4
+ cleanup() {
5
+ echo "Cleaning up processes..."
6
+ # Kill all background jobs
7
+ jobs -p | xargs -r kill
8
+ wait
9
+ echo "All processes stopped."
10
+ exit 0
11
+ }
12
+
13
+ # Set up signal handlers for graceful shutdown
14
+ trap cleanup SIGINT SIGTERM EXIT
15
+
16
+ echo "Starting all services in parallel..."
17
+
18
+ # Start all services in the background
19
+ echo "Starting frontend..."
20
+ unmute/dockerless/start_frontend.sh &
21
+ FRONTEND_PID=$!
22
+
23
+ echo "Starting backend..."
24
+ unmute/dockerless/start_backend.sh &
25
+ BACKEND_PID=$!
26
+
27
+ echo "Starting LLM service..."
28
+ unmute/dockerless/start_llm.sh &
29
+ LLM_PID=$!
30
+
31
+ echo "Starting STT service..."
32
+ unmute/dockerless/start_stt.sh &
33
+ STT_PID=$!
34
+
35
+ echo "Starting TTS service..."
36
+ unmute/dockerless/start_tts.sh &
37
+ TTS_PID=$!
38
+
39
+ # Store all PIDs for monitoring
40
+ PIDS="$FRONTEND_PID $BACKEND_PID $LLM_PID $STT_PID $TTS_PID"
41
+
42
+ echo "All services started with PIDs: $PIDS"
43
+ echo "Press Ctrl+C to stop all services"
44
+
45
+ # Wait for all background processes
46
+ wait