Skip to content

Commit fd0cd0f

Browse files
committed
docs: add recording features with media library, auto-recording, and 24/7 continuous recording support
- Add ffmpeg to Dockerfile for video transcoding - Add Media model for encrypted blob storage of snapshots and recordings - Add RateLimit model for database-backed login attempt tracking - Add RecordingSettings model for per-camera auto-recording configuration - Add recording controls (🎬 Record button) to dashboard camera cards - Add recording status indicators (🔴 REC badge and ⏱️ timer
1 parent 93d8935 commit fd0cd0f

25 files changed

Lines changed: 3239 additions & 305 deletions
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
name: Bug Report
2+
description: Report a bug or unexpected behavior
3+
title: "[Bug]: "
4+
labels: ["bug", "triage"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for taking the time to report a bug! Please fill out the form below.
10+
11+
- type: textarea
12+
id: description
13+
attributes:
14+
label: Bug Description
15+
description: A clear and concise description of what the bug is.
16+
placeholder: Tell us what happened...
17+
validations:
18+
required: true
19+
20+
- type: textarea
21+
id: steps
22+
attributes:
23+
label: Steps to Reproduce
24+
description: How can we reproduce this issue?
25+
placeholder: |
26+
1. Go to '...'
27+
2. Click on '...'
28+
3. See error
29+
validations:
30+
required: true
31+
32+
- type: textarea
33+
id: expected
34+
attributes:
35+
label: Expected Behavior
36+
description: What did you expect to happen?
37+
validations:
38+
required: true
39+
40+
- type: textarea
41+
id: actual
42+
attributes:
43+
label: Actual Behavior
44+
description: What actually happened?
45+
validations:
46+
required: true
47+
48+
- type: dropdown
49+
id: component
50+
attributes:
51+
label: Component
52+
description: Which part of OpenSentry is affected?
53+
options:
54+
- Command Center (Dashboard/Web UI)
55+
- Command Center (API)
56+
- Command Center (MQTT)
57+
- Basic Camera Node
58+
- Motion Detection Node
59+
- Face Detection Node
60+
- Object Detection Node
61+
- Docker/Setup Scripts
62+
- Documentation
63+
- Other
64+
validations:
65+
required: true
66+
67+
- type: input
68+
id: version
69+
attributes:
70+
label: Version
71+
description: What version are you running? (Run `git log -1 --format=%h` or check docker image tag)
72+
placeholder: "e.g., latest, v1.0.0, abc1234"
73+
74+
- type: dropdown
75+
id: os
76+
attributes:
77+
label: Operating System
78+
options:
79+
- Linux (Ubuntu/Debian)
80+
- Linux (Other)
81+
- Raspberry Pi OS
82+
- macOS
83+
- Windows (WSL)
84+
- Other
85+
86+
- type: textarea
87+
id: logs
88+
attributes:
89+
label: Relevant Logs
90+
description: Please paste any relevant logs here. Use `docker compose logs -f` to get logs.
91+
render: shell
92+
93+
- type: textarea
94+
id: additional
95+
attributes:
96+
label: Additional Context
97+
description: Add any other context, screenshots, or information about the problem here.
98+
99+
- type: checkboxes
100+
id: checklist
101+
attributes:
102+
label: Checklist
103+
options:
104+
- label: I have searched existing issues to ensure this bug hasn't been reported
105+
required: true
106+
- label: I am running the latest version
107+
required: false

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
blank_issues_enabled: false
2+
contact_links:
3+
- name: Documentation
4+
url: https://opensentry.fly.dev/docs.html
5+
about: Check the documentation for setup guides and troubleshooting
6+
- name: Discussions
7+
url: https://github.com/SourceBox-LLC/OpenSentry-Command/discussions
8+
about: Ask questions or discuss ideas with the community
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
name: Feature Request
2+
description: Suggest an idea or enhancement for OpenSentry
3+
title: "[Feature]: "
4+
labels: ["enhancement"]
5+
body:
6+
- type: markdown
7+
attributes:
8+
value: |
9+
Thanks for suggesting a feature! Please fill out the form below to help us understand your idea.
10+
11+
- type: textarea
12+
id: problem
13+
attributes:
14+
label: Problem Statement
15+
description: Is your feature request related to a problem? Describe it.
16+
placeholder: "I'm frustrated when..."
17+
validations:
18+
required: false
19+
20+
- type: textarea
21+
id: solution
22+
attributes:
23+
label: Proposed Solution
24+
description: Describe the solution you'd like to see.
25+
placeholder: "I would like OpenSentry to..."
26+
validations:
27+
required: true
28+
29+
- type: textarea
30+
id: alternatives
31+
attributes:
32+
label: Alternatives Considered
33+
description: Have you considered any alternative solutions or workarounds?
34+
35+
- type: dropdown
36+
id: component
37+
attributes:
38+
label: Component
39+
description: Which part of OpenSentry would this affect?
40+
options:
41+
- Command Center (Dashboard/Web UI)
42+
- Command Center (API)
43+
- Camera Nodes
44+
- New Node Type
45+
- Docker/Deployment
46+
- Documentation
47+
- Other
48+
validations:
49+
required: true
50+
51+
- type: dropdown
52+
id: priority
53+
attributes:
54+
label: How important is this feature to you?
55+
options:
56+
- Nice to have
57+
- Would improve my workflow
58+
- Important for my use case
59+
- Critical - blocking my adoption
60+
61+
- type: textarea
62+
id: context
63+
attributes:
64+
label: Additional Context
65+
description: Add any other context, mockups, or examples about the feature request here.
66+
67+
- type: checkboxes
68+
id: contribution
69+
attributes:
70+
label: Contribution
71+
options:
72+
- label: I would be willing to help implement this feature
73+
required: false

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
## Description
2+
3+
<!-- Describe your changes in detail -->
4+
5+
## Related Issue
6+
7+
<!-- Link to the issue this PR addresses -->
8+
Fixes #
9+
10+
## Type of Change
11+
12+
<!-- Mark the relevant option with an "x" -->
13+
14+
- [ ] Bug fix (non-breaking change that fixes an issue)
15+
- [ ] New feature (non-breaking change that adds functionality)
16+
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
17+
- [ ] Documentation update
18+
- [ ] Refactoring (no functional changes)
19+
- [ ] Performance improvement
20+
- [ ] Test addition or update
21+
22+
## Component(s) Affected
23+
24+
<!-- Mark all that apply -->
25+
26+
- [ ] Command Center (Dashboard/Web UI)
27+
- [ ] Command Center (API)
28+
- [ ] Command Center (MQTT)
29+
- [ ] Camera Node(s)
30+
- [ ] Docker/Deployment
31+
- [ ] Documentation
32+
33+
## Testing
34+
35+
<!-- Describe the tests you ran and how to reproduce them -->
36+
37+
### Test Configuration:
38+
- OS:
39+
- Docker version:
40+
- Browser (if UI change):
41+
42+
### Tests Performed:
43+
- [ ] Manual testing
44+
- [ ] Unit tests (if applicable)
45+
- [ ] Tested with camera node connected
46+
- [ ] Tested Docker build
47+
48+
## Screenshots
49+
50+
<!-- If applicable, add screenshots to help explain your changes -->
51+
52+
## Checklist
53+
54+
- [ ] My code follows the project's coding guidelines
55+
- [ ] I have performed a self-review of my own code
56+
- [ ] I have commented my code, particularly in hard-to-understand areas
57+
- [ ] I have made corresponding changes to the documentation
58+
- [ ] My changes generate no new warnings
59+
- [ ] I have tested my changes locally
60+
- [ ] Any dependent changes have been merged and published
61+
62+
## Additional Notes
63+
64+
<!-- Add any other context about the PR here -->

CODE_OF_CONDUCT.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Code of Conduct
2+
3+
This is a practical, developer-focused community. We care about writing good code, helping each other, and building useful software.
4+
5+
## Our Standards
6+
7+
### Good Behavior
8+
9+
* Help others learn and improve
10+
* Give constructive feedback on code
11+
* Accept criticism gracefully
12+
* Focus on technical solutions, not personal attacks
13+
* Be patient with beginners
14+
15+
### Bad Behavior
16+
17+
* Personal insults or harassment
18+
* Releasing private information without permission
19+
* Trolling or disruptive behavior
20+
* Ignoring others' technical contributions
21+
22+
## Scope
23+
24+
This applies to all project spaces, issues, PRs, and communications.
25+
26+
## Enforcement
27+
28+
Maintainers will enforce these standards. Violations may result in:
29+
30+
1. **Correction** - Private warning for minor issues
31+
2. **Warning** - Public warning for repeated issues
32+
3. **Ban** - Temporary or permanent removal from the project
33+
34+
## Reporting
35+
36+
Report issues to: opensource@sourcebox-llc.com
37+
38+
## Simple Version
39+
40+
Be helpful. Be respectful. Focus on the code.
41+
42+
That's it.

0 commit comments

Comments
 (0)