Good luck, and enjoy building your own random‑video‑chat
# Clone the repo (replace URL with the one you chose) git clone https://github.com/deniskrumko/Chatroulette-Clone.git cd Chatroulette-Clone If you plan to contribute back, fork the repo on GitHub first and then clone your fork.
# Python example (recommended virtualenv) python -m venv .venv source .venv/bin/activate pip install -r requirements.txt chatroulette+github+repack
| Goal | What to edit | |------|--------------| | – custom logo, colors, title | Edit /client/src/assets/ or CSS/SCSS files. | | Feature toggle – disable certain UI elements | Modify React/Vue components. | | Self‑hosting – change URLs, enable HTTPS | Update .env variables ( SIGNALING_URL , STUN_TURN_SERVERS ). | | Performance – switch to a compiled front‑end | Run npm run build and serve static files via Nginx. | | Add your own analytics | Insert your tracking snippet in index.html . | Best practice: Keep a separate Git branch for each major change. git checkout -b my‑branding # edit files … git add . git commit -m "Add custom logo & colour scheme" 6️⃣ Build / Compile the Project 6.1 Front‑end (SPA) Build # For React / Vue / Angular npm run build # produces a /dist or /build folder The output is a set of static files (HTML, CSS, JS) ready to be served. 6.2 Back‑end Packaging | Language | Typical “re‑pack” method | |----------|--------------------------| | Node.js | Create a Docker image or a tarball of the node_modules + source. | | Python | Use pip wheel to create a wheel, or freeze dependencies in a Docker image. | | Go | go build -o chatroulette-server ./cmd/server (single binary). | Example: Docker‑based Re‑pack # Dockerfile (root of the project)
(Pick one that matches your goals.) # Choose a folder for your work mkdir ~/chatroulette-repack && cd ~/chatroulette-repack Good luck, and enjoy building your own random‑video‑chat
| Target | Recommended packaging | |--------|-----------------------| | | Docker image + docker‑compose.yml | | Linux server (no Docker) | Systemd service + pre‑compiled binary (Go) or virtualenv (Python) | | Windows desktop | Electron wrapper (if UI is web‑based) or packaged with pkg / nexe for Node.js | | Archive for manual install | .tar.gz containing README.md , LICENSE , compiled binaries, and a sample .env | Example: Minimal docker‑compose.yml version: "3.9" services: chatroulette: image: mychatroulette:latest restart: unless-stopped ports: - "80:3000" env_file: .env # place your custom env vars here Run:
# ---- Build stage ---- FROM node:20-alpine AS build WORKDIR /app COPY package*.json ./ RUN npm ci COPY . . RUN npm run build # static assets go to /app/build | | Self‑hosting – change URLs, enable HTTPS | Update
# ---- Runtime stage ---- FROM node:20-alpine WORKDIR /app # Copy only what we need for runtime COPY --from=build /app/build ./public COPY server/ ./server COPY package*.json ./ RUN npm ci --production # install only prod deps EXPOSE 3000 CMD ["node", "server/index.js"] Build & tag: