No description
- Rust 81.9%
- JavaScript 17.5%
- Dockerfile 0.6%
|
|
||
|---|---|---|
| .cargo | ||
| .forgejo/workflows | ||
| dev-config/mosquitto | ||
| src | ||
| static | ||
| templates | ||
| .gitignore | ||
| Cargo.toml | ||
| compose.yml | ||
| Dockerfile | ||
| einstellungen.toml.example | ||
| flipdoor.service | ||
| README.md | ||
Flipdoor
A door control system with Web and SSH interfaces.
Setup for Local Development
To run the project locally, you need a few configuration files and dependencies.
1. Configuration File
Copy the example configuration and fill in the required values:
cp einstellungen.toml.example einstellungen.toml
Specifically, ensure web.secret_key is a 64-character hex string. You can generate one using:
openssl rand -hex 32
2. SSH Key
The SSH server component requires a private key file named key in the root directory:
ssh-keygen -t ed25519 -f key -N ""
3. External Dependencies
- MQTT Broker: By default, the app tries to connect to an MQTT broker at
localhost:1883. The application will currently panic if the broker is not reachable.- Inspect mqtt messages with:
mosquitto_sub -t '#' -v
- Inspect mqtt messages with:
- OIDC Provider: The web interface expects a working OIDC provider for authentication.
4. Running the Application
Once the configuration is set up, you can run the application with:
RUST_LOG=flipdoor_rs=info cargo run
For Raspberry Pi with I2C support:
cargo run --features pi
Project Structure
src/: Rust source code.static/: Static assets for the web interface.templates/: HTML templates (Tera).GEMINI.md: Detailed technical context for AI assistants.REVIEW.md: Code review and potential improvements.