388 lines
9.0 KiB
Markdown
388 lines
9.0 KiB
Markdown
# OwnCloud Archive Setup - Pavon Camera Footage
|
|
|
|
**Purpose:** Mount Pavon's camera archive (35TB) in OwnCloud for web/mobile access
|
|
**Display Name:** "Archive" (or "Camera Archive")
|
|
**User:** pavon
|
|
**Created:** April 12, 2026
|
|
|
|
---
|
|
|
|
## Overview
|
|
|
|
This guide sets up Pavon's camera footage archive (stored on the Pavon Unraid server at 172.16.1.33) as external storage in OwnCloud, accessible via:
|
|
- OwnCloud web interface (cloud.acghosting.com)
|
|
- OwnCloud desktop client
|
|
- OwnCloud mobile apps
|
|
|
|
**After cleanup completes:**
|
|
- Archive size: ~35TB
|
|
- Files: Camera footage from May 2023 - Oct 2023
|
|
- Structure: /Storage/cam01, /Storage/cam02, etc.
|
|
|
|
---
|
|
|
|
## Prerequisites
|
|
|
|
### Step 1: Enable SMB Share on Pavon Unraid
|
|
|
|
**On Pavon server (172.16.1.33):**
|
|
|
|
1. **Access Unraid WebGUI:**
|
|
- Open browser: `http://172.16.1.33`
|
|
- Login as root
|
|
|
|
2. **Configure Storage Share:**
|
|
- Navigate to: **Shares** tab
|
|
- Click on: **Storage** share
|
|
- Settings to verify/configure:
|
|
```
|
|
Export: Yes
|
|
SMB Security Settings: Private
|
|
Case sensitivity: Auto
|
|
Allocation method: High-water
|
|
SMB enabled: Yes
|
|
```
|
|
|
|
3. **Set SMB Permissions:**
|
|
- **Option A - Simple (Guest Access):**
|
|
```
|
|
Export: Yes
|
|
Security: Public
|
|
```
|
|
|
|
- **Option B - Secure (User Access - Recommended):**
|
|
- Navigate to: **Users** tab
|
|
- Create user: `pavon`
|
|
- Set password: (choose strong password)
|
|
- Back to **Storage** share settings:
|
|
```
|
|
Export: Yes
|
|
Security: Secure (only specified users)
|
|
Read/Write Access: pavon
|
|
```
|
|
|
|
4. **Apply and Test:**
|
|
- Click "Apply"
|
|
- From Jupiter, test connection:
|
|
```bash
|
|
smbclient -L //172.16.1.33 -U pavon
|
|
# Should list "Storage" share
|
|
```
|
|
|
|
---
|
|
|
|
## OwnCloud Configuration
|
|
|
|
### Method 1: Web UI Configuration (Recommended)
|
|
|
|
**Access OwnCloud:**
|
|
1. Open browser: `http://cloud.acghosting.com` or `http://172.16.3.22`
|
|
2. Login as `pavon` user
|
|
|
|
**Enable External Storage App:**
|
|
1. Click **Settings** (gear icon, top-right)
|
|
2. Navigate to: **Apps**
|
|
3. Search for: "External Storage"
|
|
4. Click: **Enable** (if not already enabled)
|
|
|
|
**Add External Storage Mount:**
|
|
1. **Settings → Admin → External Storage**
|
|
- Or if not admin, ask admin to configure for pavon user
|
|
|
|
2. **Add Storage:**
|
|
- Folder name: `Archive` (or `Camera Archive`)
|
|
- External storage: **SMB / CIFS**
|
|
- Authentication: **Username and password**
|
|
|
|
3. **Configuration:**
|
|
```
|
|
Host: 172.16.1.33
|
|
Share: Storage
|
|
Remote subfolder: / (leave blank for root, or specify camera folder)
|
|
Domain: (leave blank)
|
|
Username: pavon (if using secure access)
|
|
Password: [pavon's SMB password]
|
|
```
|
|
|
|
4. **Advanced Options:**
|
|
```
|
|
☑ Enable SSL
|
|
☐ Check for changes: Manual (for performance)
|
|
☑ Enable sharing
|
|
```
|
|
|
|
5. **Available for:**
|
|
- Select: `pavon` user only
|
|
- Or: All users (if needed)
|
|
|
|
6. **Click:** Green checkmark to save
|
|
|
|
**Test Access:**
|
|
1. Go to **Files** view
|
|
2. You should see new folder: **Archive**
|
|
3. Click to browse camera footage
|
|
4. Verify folders visible: cam01, cam02, etc.
|
|
|
|
---
|
|
|
|
### Method 2: OCC Command Line (If SSH Access Available)
|
|
|
|
**On OwnCloud VM (172.16.3.22):**
|
|
|
|
```bash
|
|
# SSH to OwnCloud VM (if SSH enabled)
|
|
ssh root@172.16.3.22
|
|
|
|
# Create external storage mount
|
|
sudo -u apache php /var/www/html/owncloud/occ files_external:create \
|
|
"Archive" smb password::password \
|
|
--user pavon \
|
|
-c host=172.16.1.33 \
|
|
-c share=Storage \
|
|
-c user=pavon \
|
|
-c password='[pavon_smb_password]' \
|
|
-c root='' \
|
|
-c domain=''
|
|
|
|
# Verify mount
|
|
sudo -u apache php /var/www/html/owncloud/occ files_external:list
|
|
```
|
|
|
|
**Enable for user:**
|
|
```bash
|
|
sudo -u apache php /var/www/html/owncloud/occ files_external:applicable \
|
|
[mount_id] --add-user pavon
|
|
```
|
|
|
|
---
|
|
|
|
### Method 3: Via Jupiter (Mount and Share)
|
|
|
|
**Alternative approach - mount on Jupiter and share via OwnCloud:**
|
|
|
|
1. **Mount on Jupiter:**
|
|
```bash
|
|
ssh root@172.16.3.20
|
|
|
|
# Create mount point
|
|
mkdir -p /mnt/disks/pavon_archive
|
|
|
|
# Add to /etc/fstab for persistent mount
|
|
echo "//172.16.1.33/Storage /mnt/disks/pavon_archive cifs username=pavon,password=[password],vers=3.0,uid=99,gid=100 0 0" >> /etc/fstab
|
|
|
|
# Mount it
|
|
mount /mnt/disks/pavon_archive
|
|
|
|
# Verify
|
|
ls -lh /mnt/disks/pavon_archive
|
|
```
|
|
|
|
2. **Create Symlink in OwnCloud:**
|
|
- Access OwnCloud VM filesystem
|
|
- Create symlink in Pavon's OwnCloud data folder:
|
|
```bash
|
|
ln -s /path/to/jupiter/mount /var/www/html/owncloud/data/pavon/files/Archive
|
|
```
|
|
|
|
3. **Scan files:**
|
|
```bash
|
|
sudo -u apache php /var/www/html/owncloud/occ files:scan pavon
|
|
```
|
|
|
|
---
|
|
|
|
## Access After Setup
|
|
|
|
### Web Access
|
|
- URL: `http://cloud.acghosting.com` or `http://172.16.3.22`
|
|
- Login: pavon / Password44$
|
|
- Navigate to: **Files → Archive**
|
|
- Browse: cam01/, cam02/, etc.
|
|
|
|
### Desktop Client
|
|
- Download: OwnCloud Desktop Client
|
|
- Server: `http://cloud.acghosting.com`
|
|
- Login: pavon credentials
|
|
- **Archive folder appears** in file sync
|
|
|
|
### Mobile Access
|
|
- App: OwnCloud iOS/Android
|
|
- Server: `http://cloud.acghosting.com`
|
|
- Login: pavon credentials
|
|
- Browse: **Archive** folder
|
|
- **Stream camera footage** directly from phone
|
|
|
|
---
|
|
|
|
## Performance Considerations
|
|
|
|
### Cache Settings
|
|
For 35TB of external storage, configure:
|
|
|
|
**In OwnCloud:**
|
|
- Settings → Admin → External Storage
|
|
- **Check for changes:** Manual (prevents continuous scanning)
|
|
- **Enable caching:** Yes (if available)
|
|
|
|
**Expected Performance:**
|
|
- Initial folder listing: 5-10 seconds
|
|
- File playback: Depends on network (1Gbps LAN = good)
|
|
- Large file downloads: Full LAN speed (~100 MB/s)
|
|
|
|
### Network Optimization
|
|
- Pavon server: 172.16.1.33 (1Gbps ethernet recommended)
|
|
- OwnCloud VM: 172.16.3.22 (on Jupiter - 1Gbps)
|
|
- **Path:** OwnCloud VM → Jupiter → Network → Pavon
|
|
- **Best case:** ~80-100 MB/s for large file transfers
|
|
|
|
---
|
|
|
|
## Troubleshooting
|
|
|
|
### Cannot Connect to Share
|
|
|
|
**Check Pavon SMB:**
|
|
```bash
|
|
# From Jupiter
|
|
smbclient -L //172.16.1.33 -U pavon
|
|
|
|
# Should show "Storage" share
|
|
```
|
|
|
|
**Check firewall:**
|
|
```bash
|
|
# On Pavon
|
|
iptables -L | grep 445
|
|
# SMB port 445 should be allowed
|
|
```
|
|
|
|
### Archive Folder Shows Empty
|
|
|
|
**Rescan external storage:**
|
|
1. OwnCloud Settings → External Storage
|
|
2. Click folder icon next to Archive mount
|
|
3. Force rescan
|
|
|
|
**Via command line:**
|
|
```bash
|
|
sudo -u apache php /var/www/html/owncloud/occ files_external:verify [mount_id]
|
|
```
|
|
|
|
### Slow Performance
|
|
|
|
**Check network path:**
|
|
```bash
|
|
# From OwnCloud VM to Pavon
|
|
ping 172.16.1.33
|
|
# Should be <5ms on local network
|
|
```
|
|
|
|
**Check disk I/O on Pavon:**
|
|
```bash
|
|
ssh root@172.16.1.33
|
|
iotop
|
|
# Verify disk is not overloaded
|
|
```
|
|
|
|
### Permission Denied
|
|
|
|
**Check SMB credentials:**
|
|
- Verify pavon user exists on Pavon Unraid
|
|
- Verify password is correct
|
|
- Check share permissions in Unraid WebGUI
|
|
|
|
**Check OwnCloud user:**
|
|
- Verify pavon user exists in OwnCloud
|
|
- Verify external storage is assigned to pavon user
|
|
|
|
---
|
|
|
|
## Security Notes
|
|
|
|
### Credentials
|
|
- **Pavon SMB user:** Create strong password
|
|
- **Store in 1Password:** `op://Clients/Pavon/Unraid SMB`
|
|
- **OwnCloud password:** Already set (Password44$)
|
|
|
|
### Access Control
|
|
- External storage visible **only to pavon user**
|
|
- Not shared with other OwnCloud users
|
|
- Cannot be accidentally deleted (read/write from source)
|
|
|
|
### Backup
|
|
- Archive is stored on Pavon (separate from Jupiter)
|
|
- Not backed up by OwnCloud (source is already archive)
|
|
- Pavon has parity protection (Unraid)
|
|
|
|
---
|
|
|
|
## Verification Checklist
|
|
|
|
After setup, verify:
|
|
- [ ] Archive folder visible in OwnCloud Files view
|
|
- [ ] Can browse camera folders (cam01, cam02, etc.)
|
|
- [ ] Can open/play .avi files
|
|
- [ ] Can download files
|
|
- [ ] Performance acceptable (not timing out)
|
|
- [ ] Mobile app can access Archive
|
|
- [ ] Desktop client can sync (if desired)
|
|
|
|
---
|
|
|
|
## Maintenance
|
|
|
|
### Monthly Checks
|
|
- Verify mount is still accessible
|
|
- Check disk space on Pavon (should stay at 84TB free after cleanup)
|
|
- Test file access via web/mobile
|
|
|
|
### Quarterly
|
|
- Review camera footage retention (delete >3 years old)
|
|
- Check for errors in OwnCloud logs
|
|
- Verify performance still acceptable
|
|
|
|
---
|
|
|
|
## Alternative: NFS Instead of SMB
|
|
|
|
**If SMB has issues, try NFS:**
|
|
|
|
**On Pavon:**
|
|
1. Enable NFS export for Storage share
|
|
2. Set NFS permissions
|
|
|
|
**In OwnCloud:**
|
|
1. External Storage type: **NFS**
|
|
2. Host: 172.16.1.33
|
|
3. Remote folder: /mnt/user/Storage
|
|
4. Mount options: vers=4
|
|
|
|
**Advantages:**
|
|
- Better performance for large files
|
|
- Less overhead
|
|
- Native Linux protocol
|
|
|
|
**Disadvantages:**
|
|
- No Windows client access (SMB required for Windows)
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
1. **Enable Storage SMB share** on Pavon (via Unraid WebGUI)
|
|
2. **Configure external storage** in OwnCloud (via Web UI or OCC)
|
|
3. **Test access** via web browser
|
|
4. **Verify mobile/desktop** clients can access
|
|
5. **Document credentials** in 1Password
|
|
|
|
**After cleanup completes**, the Archive folder will contain:
|
|
- ~35TB of camera footage
|
|
- May 2023 - Oct 2023
|
|
- 11 camera folders (cam02, cam04, cam06, cam07, cam08, cam10, cam11, cam12, cam13, cam14, cam16)
|
|
|
|
---
|
|
|
|
**Created:** April 12, 2026
|
|
**Last Updated:** April 12, 2026
|
|
**Status:** Awaiting Pavon cleanup completion + configuration
|