Commit Graph

79 Commits

Author SHA1 Message Date
bab97f7166 Add Copyparty Docker configuration
- Replace config file with command-line arguments for Docker compatibility
- Enable file search, deduplication, and partial upload features
- Configure reverse proxy support with xff-src and rproxy flags
- Add password database integration with chpw support
- Map all NAS volumes with appropriate permissions
- Fix health check to use /files/ path
- Remove obsolete copyparty.conf (incompatible with Docker image)
2025-10-06 22:43:58 +02:00
6894c5f175 Update geoip-shell documentation with implementation details
- Document interactive installation process
- Add complete EU country whitelist configuration
- Include setup commands and wizard prompts
- Clarify that geoip-shell was used instead of manual iptables setup
2025-10-06 20:40:27 +02:00
6761c8903d Add Docker configuration symlink setup script
- Automates symlinking of docker-compose.yml files from repo to /opt/docker
- Includes Gitea, Jellyfin, qBittorrent, Portainer
- Symlinks daemon.json to /etc/docker
- Creates timestamped backups before replacing files
- Eliminates need for manual config copying
2025-10-06 20:40:11 +02:00
a8bbf5ea4a Disable Nextcloud service
- Renamed docker-compose.yml to .disabled
- Service can be re-enabled by renaming file back to .yml
- Nextcloud not currently needed with Copyparty in place
2025-10-06 20:39:54 +02:00
fefdc14398 Add Portainer docker-compose configuration
- Web UI for Docker container management
- Bound to localhost (reverse proxy recommended)
- Uses named volume for persistent data
- Configured for Europe/Budapest timezone
- Resource limits and health checks included
2025-10-06 20:39:33 +02:00
802d275d6e Fix Docker daemon config: Remove invalid JSON comments
- Removed comments from daemon.json (JSON doesn't support comments)
- Synced with deployed working version
- Maintains minimal working configuration with logging only
2025-10-06 20:39:21 +02:00
dc16d0302d Add installers folder to copyparty configuration
- New /installers volume for game installers and ISO files
- Accessible to both guest and hoborg users
- Complements existing torrent categorization structure
2025-10-06 20:39:01 +02:00
64a43c8a96 docs: Add CLAUDE.md and permanent ban script
- Add CLAUDE.md with AI assistant configuration
- Add scripts/permanent-ban-repeat-offenders.sh for automated permanent banning
- Script automatically detects and permanently bans IPs banned >4 times by fail2ban
- Integrates with iptables and geoip-shell for comprehensive security
2025-09-17 01:09:41 +02:00
43cfd25798 docs: Update cron schedules to match actual configuration
- Correct permanent ban script cron schedule: 2:00 AM daily (not every 6 hours)
- Correct geoip-shell update cron schedule: 4:08 AM daily (not 4:18 AM)
- Add geoip-shell persistence cron job that runs on reboot
2025-09-17 01:08:51 +02:00
00f4fcbc1c docs: Add comprehensive geoip-shell and permanent ban documentation
- Add docs/geoip-blocking.md with complete geoip-shell setup documentation
- Update README.md to include geoip blocking in goals, status, and documentation structure
- Update docs/network-security.md with geoip blocking and permanent ban sections
- Mark geoip blocking task as completed in TODO.md
- Document permanent-ban-repeat-offenders.sh script and its cron job
2025-09-17 01:08:13 +02:00
31a9568fd4 Add gitea security notes 2025-09-13 20:51:53 +02:00
12ff0e15bd Add Gitea troubleshooting documentation
- Document common Docker issues and filesystem permission problems
- Include service management and configuration validation steps
- Provide systematic debugging approach for Gitea deployment issues
2025-09-13 20:50:43 +02:00
cff0ee6acb Update project documentation
- Add security hardening guidelines to CLAUDE.md with container-specific notes
- Update TODO.md with new security and dockerization tasks
- Add geoblocking and syncthing sync items to task list
2025-09-13 20:50:31 +02:00
de6fa58726 Update homepage: Replace Transmission with qBittorrent 2025-09-13 20:50:14 +02:00
e608ce6d5b Update Docker configurations for balanced security and functionality
- Simplify daemon.json to minimal working version, removing problematic
  security settings that caused read-only filesystem issues
- Update Gitea docker-compose.yml to working configuration:
  - Remove read-only filesystem (breaks s6-overlay init)
  - Keep user privilege dropping via USER_UID/USER_GID
  - Bind SSH port directly for Git operations
  - Maintain localhost binding for web interface
2025-09-13 20:49:34 +02:00
66e3249ced Update qBittorrent setup documentation
- Enhanced configuration and security guidance
- Updated setup procedures and best practices
2025-09-12 20:41:06 +02:00
398862c72b Update CLAUDE.md with latest project documentation
- Updated project instructions and configuration guidance
- Enhanced development workflow documentation
2025-09-12 20:40:50 +02:00
9f4f79a85e Add development tooling documentation
- AGENTS.md: Documentation for AI agents and development workflows
- opencode.json: OpenCode configuration file for testing alternative AI tools
2025-09-12 20:40:36 +02:00
06f837f4a1 Add project gitignore 2025-09-12 20:40:21 +02:00
0065113a19 docs: Add development tools section with OpenCode evaluation
- Document OpenCode as tested alternative to Claude Code
- Note: OpenCode is excellent but causes laptop overheating during intensive use
2025-09-12 20:39:17 +02:00
5a4eb2fd72 Add automated security hardening setup script
- scripts/setup-security-hardening.sh: One-command deployment of all security configurations
- Includes SSH hardening, kernel parameters, Docker security, fail2ban, and nginx rate limiting
- Provides status output and next steps for verification
2025-09-12 20:39:02 +02:00
ad9a3ab23e Add comprehensive security documentation
- docs/ssh-honeypot-setup.md: Complete SSH honeypot installation and monitoring guide
- docs/ssh-intrusion-monitoring.md: SSH attack detection and analysis procedures
- docs/security-configurations.md: Updated catalog of all security configuration files
- Includes installation procedures, monitoring commands, and troubleshooting guides
2025-09-12 20:38:49 +02:00
8bbe8e0e28 Add Docker daemon and service hardening configurations
- config/docker/daemon.json: Docker security hardening with logging limits and security options
- config/systemd/nginx.service.d/rate-limit.conf: Nginx resource limits and connection throttling
- Includes deployment instructions for container and service security
2025-09-12 20:38:33 +02:00
5e714f4e45 Add SSH hardening and kernel security configurations
- config/ssh/sshd_config_hardening: Enhanced SSH security settings
- config/ssh/banner: Legal warning banner for SSH connections
- config/sysctl/99-security.conf: Kernel network and memory protection parameters
- Includes deployment instructions for system-level hardening
2025-09-12 20:38:21 +02:00
9fbc311c2d Add comprehensive fail2ban security configuration
- config/fail2ban/jail.local: Main jail configuration with SSH, web, and service protection
- config/fail2ban/filter.d/sshd-ddos.conf: SSH connection flooding protection
- config/fail2ban/filter.d/nginx-badbots.conf: Web scanner and bot detection
- config/fail2ban/filter.d/gitea-auth.conf: Gitea authentication failure detection
- Includes deployment instructions for automated IP banning
2025-09-12 20:38:07 +02:00
471659a95a Add SSH honeypot configuration files
- config/systemd/ssh-honeypot.service: Systemd service for port 22 honeypot
- config/honeypot/response.sh: Response script that logs connections and sends fake SSH banner
- Both files include deployment instructions and setup commands
2025-09-12 20:37:30 +02:00
3d2201bc40 docs: Add comprehensive security hardening guide
- Document critical security vulnerabilities found
- Provide step-by-step hardening procedures
- Include SSL certificate recovery from git history
- Add SSH hardening with Mosh compatibility
- Document VPN setup with WireGuard
- Create implementation checklists and status tracking
2025-09-12 19:21:47 +02:00
6980c36ae9 Harden Docker container configurations
- Gitea: Bind ports to localhost, add security options, resource limits, health checks
- Jellyfin: Add security options, enhanced resource limits, health checks (kept host networking for GPU)
- qBittorrent: Bind torrent ports to localhost, add security options, health checks
- All configs: Non-root users, capability drops, no-new-privileges, tmpfs hardening

Security improvements:
- Ports no longer exposed to all interfaces (0.0.0.0)
- Added security options (no-new-privileges, cap_drop)
- Resource limits and health checks implemented
- Read-only filesystems where possible
- Temporary filesystems with restrictions
2025-09-12 19:14:59 +02:00
ff2aedacf6 Add qBittorrent Docker configuration
- Add docker-compose.yml for qBittorrent container setup
- Add config directory with qBittorrent configuration files
- Include GeoDB, RSS feeds, categories, and watched folders config
2025-09-12 19:00:56 +02:00
ee5f2a4c18 Add service configurations and documentation
- Update Jellyfin Docker Compose configuration
- Add qBittorrent manual setup documentation
2025-09-12 18:53:58 +02:00
3dfe146297 Update core configuration files
- Update CLAUDE.md with comprehensive homelab documentation
- Update TODO.md with current task status
- Configure copyparty file server settings
- Update nginx reverse proxy configuration
- Refresh homelab homepage
- Update services documentation
2025-09-12 18:53:49 +02:00
e1a020163f Add admin services and VNC security tasks to TODO
- Document completed admin interface and monitoring setup
- Add security enhancement task for VNC connections
- Add self-hosted chat server setup for future consideration
- Track progress on monitoring and management implementation
2025-09-09 21:14:46 +02:00
914e8a0ba7 Update documentation for admin services implementation
- Document complete admin services setup in admin-services-setup.md
- Update services.md with Netdata replacing Cockpit configuration
- Include troubleshooting steps and security implementation details
- Document tabbed landing page architecture and service organization
- Add privacy-focused Netdata configuration details
2025-09-09 21:14:28 +02:00
2fa9ec3a20 Add clean deployment scripts for monitoring services
- setup-glances.sh: Install Glances with web interface and systemd service
- setup-netdata.sh: Install Netdata without nginx configuration changes
- deploy-netdata-config.sh: Complete Netdata deployment with privacy config
- Remove redundant iterative scripts from troubleshooting process
- Each script handles one specific deployment task cleanly
2025-09-09 21:14:14 +02:00
c5849679f9 Add privacy-focused Netdata configuration and Glances service
- Add Netdata config with cloud features disabled
- Configure localhost-only binding for security
- Disable telemetry and registry features
- Add systemd service configuration for Glances web server
- Ensure monitoring services run with proper isolation
2025-09-09 21:12:27 +02:00
fe9651f2fa Replace Cockpit with Netdata in nginx reverse proxy config
- Remove Cockpit reverse proxy configuration
- Add Netdata reverse proxy with basic auth protection
- Configure same authentication as Glances for consistency
- Maintain security headers and WebSocket support
- Use port 19999 for Netdata service
2025-09-09 21:12:13 +02:00
5c4d959ed8 Add tabbed admin interface with organized service sections
- Add tabbed navigation with Home and Admin tabs
- Organize Admin tab into Server Administration and Local Network sections
- Update service names to actual application names (Copyparty, Jellyfin)
- Add NAS Storage link for network management
- Improve service descriptions and icons
- Implement responsive design with Font Awesome icons
2025-09-09 21:11:57 +02:00
3d607d2f80 Update services documentation with WebDAV and permissions details
- Add comprehensive copyparty feature list and status
- Document WebDAV client setup (X-plore, rclone)
- Update permission structure with rwmd flags
- Add troubleshooting references for WebDAV issues
- Include working client configuration examples

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 22:05:44 +02:00
500f0afe29 Update README with current homelab service status
- Mark all major services as completed (file server, media server, SSL)
- Update repository structure with new config directories
- Fix troubleshooting documentation references
- Reflect current working state of homelab setup

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 22:05:35 +02:00
bb8d9a15c2 Update WebDAV troubleshooting guide with URL encoding fix
- Add section on URL encoding issues causing HTTP 400 errors
- Document nginx proxy_pass solution for preserving request URI
- Update final working configuration with HTTP/1.1 fixes
- Include Connection header and proxy_http_version settings

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 22:05:12 +02:00
4aaabdfb8e Fix nginx WebDAV URL encoding and HTTP protocol issues
- Change proxy_pass to preserve original request URI for URL encoding
- Add HTTP/1.1 and Connection header fixes for copyparty compatibility
- Remove path manipulation that broke files with spaces/special characters

Fixes HTTP 400 "bad headers" errors when uploading files with spaces
in filenames via WebDAV clients like X-plore.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 22:05:03 +02:00
11a4cb91a7 Update documentation with WebDAV and media integration
- Update CLAUDE.md with WebDAV client setup instructions
- Document rclone and X-plore File Manager configuration
- Add disk usage analysis tools (duf, dust, ncdu)
- Update services documentation status

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:42:18 +02:00
ffca3cb751 Reorganize troubleshooting documentation
- Move existing troubleshooting.md to docs/troubleshooting/ folder
- Add comprehensive WebDAV copyparty troubleshooting guide
- Document nginx 301 redirect issues and solutions
- Include debugging methodology and working configurations
- Add future troubleshooting commands and client settings

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:40:34 +02:00
a1d7128a41 Add Nextcloud Docker configuration with secure password handling
- Complete Docker Compose setup with MariaDB and Redis
- External storage mounts for existing homelab folders
- Secure password handling using Docker secrets from ~/creds/
- Configured for /cloud path with proper reverse proxy settings

Note: Nextcloud was tested but disabled in favor of copyparty for
file server functionality due to performance and complexity concerns.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:40:25 +02:00
a672412e14 Update landing page to re-enable copyparty and disable Nextcloud
- Re-enable File Server tile pointing to /files/
- Disable Nextcloud tile (greyed out, temporarily disabled)
- Add proper deployment header with target location

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:40:07 +02:00
b25378bfcf Fix nginx WebDAV support with merge_slashes and proxy_redirect
- Add merge_slashes off to prevent automatic redirects
- Add proxy_redirect off to stop nginx from modifying WebDAV responses
- Add explicit WebDAV method support (PUT, DELETE, PROPFIND, etc.)
- Add WebDAV-specific headers (Depth, Destination, etc.)
- Optimize for large file uploads and streaming

Fixes HTTP 301 errors that prevented WebDAV file uploads in clients
like X-plore File Manager.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:40:00 +02:00
aa176d806d Fix copyparty WebDAV delete permissions
Add explicit 'd' (delete) permission to user accounts to enable
WebDAV DELETE operations. Changed from 'rwm' to 'rwmd' permissions
for all user folders.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-19 19:39:39 +02:00
e725eab2bf Update services documentation with WebDAV and media integration
- Add WebDAV access information to copyparty configuration
- Confirm X-plore File Manager compatibility for Android folder uploads
- Update Jellyfin media library structure with private folder mount
- Mark Jellyfin as deployed in service architecture
- Document successful WebDAV folder upload testing
- Update service URLs and access methods

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 19:22:58 +02:00
0d97ad244b Add homelab service troubleshooting guide
- Document SSL certificate restoration after nginx updates
- Add WebDAV 301 error diagnosis and resolution
- Include media file sync troubleshooting between copyparty and Jellyfin
- Add service deployment best practices
- Provide step-by-step solutions for common configuration issues

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 19:22:48 +02:00
326d0caaf1 Update project documentation with WebDAV and media services
- Add copyparty and Jellyfin to current services list
- Include WebDAV URL for Android/desktop client access
- Add copyparty service management commands
- Document WebDAV client setup (X-plore, rclone, curl)
- Update external URLs to HTTPS with SSL certificates
- Add configuration management for new services

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-08-18 19:22:37 +02:00