https://github.com/jempe/gopicam
GoPiCam is a lightweight, Golang-based web interface for managing Raspberry Pi cameras, offering secure access, user authentication, and features like recording, motion detection, and timelapse without requiring PHP or a database.
https://github.com/jempe/gopicam
raspberry-pi webcam
Last synced: 2 months ago
JSON representation
GoPiCam is a lightweight, Golang-based web interface for managing Raspberry Pi cameras, offering secure access, user authentication, and features like recording, motion detection, and timelapse without requiring PHP or a database.
- Host: GitHub
- URL: https://github.com/jempe/gopicam
- Owner: jempe
- Created: 2020-06-19T16:39:07.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2025-09-20T13:26:06.000Z (9 months ago)
- Last Synced: 2025-09-20T15:31:37.176Z (9 months ago)
- Topics: raspberry-pi, webcam
- Language: Go
- Homepage:
- Size: 18.7 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# GoPiCam
GoPiCam is a web-based interface for managing and controlling a Raspberry Pi camera using RaspiMJPEG, inspired by the RPi-Cam-Web-Interface project. Unlike the original, GoPiCam is implemented in Golang, which eliminates the need to install additional software like PHP or a database on the Raspberry Pi.
## Features
- Web-based interface for Raspberry Pi camera control
- Secure HTTP/HTTPS server support
- User authentication and session management
- Camera preview, start/stop recording, motion detection, and timelapse functionality
- Configuration management
## Installation
1. Clone the repository:
```sh
git clone https://github.com/jempe/gopicam.git
cd gopicam
```
2. Build the project:
```sh
go build -o bin/gopicam cmd/gopicam/main.go
```
3. Run the application:
```sh
./bin/gopicam
```
## Configuration
The configuration files are located in the default path `~/.gopicam`. You can specify a different path using the `-config` flag.
```sh
./bin/gopicam -config /path/to/config
```
## Usage
### Flags
- `-config`: Define the path of the config folder
- `-reset`: Reset admin username and password
- `-help`: Show help
- `-insecure`: Run web server without HTTPS
- `-port`: Web server port (default: 443)
- `-debug`: Print all debug messages
## Admin Account
If the admin username and password are not set, or if you use the `-reset` flag, you will be prompted to create an admin account.
## Running the Server
To run the server with HTTPS:
```sh
./bin/gopicam
```
To run the server without HTTPS:
```sh
./bin/gopicam -insecure
```
## Contributing
Contributions are welcome! Please submit a pull request or open an issue to discuss improvements or new features.