https://github.com/chneau/remoteav
Remotely access cameras and microphones
https://github.com/chneau/remoteav
Last synced: 12 months ago
JSON representation
Remotely access cameras and microphones
- Host: GitHub
- URL: https://github.com/chneau/remoteav
- Owner: chneau
- License: mit
- Created: 2022-07-10T11:42:13.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2023-07-31T11:47:07.000Z (almost 3 years ago)
- Last Synced: 2025-06-19T02:49:35.227Z (12 months ago)
- Language: TypeScript
- Size: 1.15 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# remoteav
[](https://github.com/chneau/remoteav/actions/workflows/publish.yml)
Remotely access cameras and microphones
## Run with docker
```bash
docker run --privileged -p 7777:7777 --rm -it ghcr.io/chneau/remoteav
```
## Objectives
### Project
- [ ] Access cameras and microphones remotely
- [x] Frontend: Vite, React
- [x] Backend: Go
- [x] Api: GraphQL
- [x] Container: Docker
- [x] Container registry: GitHub Container Registry
- [x] Continuous delivery: GitHub Actions
- [ ] Authentication: JWT
### Ease of life
- [x] Developer mode
- [x] One container that does both frontend and backend
## Dev logs
```bash
# Init go main then
go mod init
# Init frontend
npm create vite@latest
# Add yourself to these groups
sudo adduser $USER video
sudo adduser $USER audio
exec sudo su -l $USER
# Start backend
npm exec --yes -- nodemon@latest --ignore frontend --ext go,graphql,html --exec 'fuser -k 7777/tcp; go run ./dev || false'
# Start frontend
npm --prefix frontend run dev
# Automatically regenerate frontend graphql schema
npm --prefix frontend run graphql-codegen
# Simulate production build
npm --prefix frontend run build && rm -rf dist/dist && cp -r frontend/dist dist && go run .
# Install production version
npm --prefix frontend run build && rm -rf dist/dist && cp -r frontend/dist dist && go install .
# To make portaudio properly installed on ubuntu, had to use `brew install portaudio`, the apt version was not working
```