{"id":30324241,"url":"https://github.com/ddrimus/h5ai-docker","last_synced_at":"2026-05-20T05:33:21.824Z","repository":{"id":309473143,"uuid":"1036398272","full_name":"ddrimus/h5ai-docker","owner":"ddrimus","description":"A lightweight, optimized multi-architecture Docker container for h5ai, providing modern file indexing with search, previews, thumbnails, and container-level performance and security enhancements.","archived":false,"fork":false,"pushed_at":"2025-08-12T03:20:22.000Z","size":123,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-08-12T05:32:31.984Z","etag":null,"topics":["docker","file-indexer","h5ai","multi-architecture","performance-optimized","security-hardened"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ddrimus.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-08-12T02:53:15.000Z","updated_at":"2025-08-12T03:54:52.000Z","dependencies_parsed_at":"2025-08-12T05:32:35.866Z","dependency_job_id":"c72ee870-5cfc-47f6-a11b-c45f1caac2fe","html_url":"https://github.com/ddrimus/h5ai-docker","commit_stats":null,"previous_names":["ddrimus/h5ai-docker"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/ddrimus/h5ai-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddrimus%2Fh5ai-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddrimus%2Fh5ai-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddrimus%2Fh5ai-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddrimus%2Fh5ai-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ddrimus","download_url":"https://codeload.github.com/ddrimus/h5ai-docker/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ddrimus%2Fh5ai-docker/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270918294,"owners_count":24667665,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-17T02:00:09.016Z","response_time":129,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","file-indexer","h5ai","multi-architecture","performance-optimized","security-hardened"],"created_at":"2025-08-17T22:36:38.467Z","updated_at":"2026-05-20T05:33:16.791Z","avatar_url":"https://github.com/ddrimus.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# h5ai-docker\n\nA lightweight, high-performance Docker container for h5ai - a modern file indexer for HTTP web servers with optimized configurations and multi-architecture support.\n\nh5ai replaces default directory listings with enhanced features including search capabilities, file previews, thumbnail generation, and customizable interfaces. This Docker implementation provides deployment with performance optimizations and security hardening.\n\n## Features\n\n**🏗️ Core Stack**: Alpine Linux 3.21, Nginx 1.27, PHP 8.2.29 with JIT compilation and OPcache, h5ai 0.30.0.\n\n**⚡ Performance**: High-performance Nginx configuration, PHP JIT compilation, efficient caching and compression, optimized for large file serving up to 10GB with resume capability.\n\n**🔧 Management**: Automatic configuration backup/migration, built-in health checks, comprehensive logging, environment-based configuration with Supervisor process management.\n\n**🌐 Compatibility**: Multi-architecture support (AMD64, ARM64, ARMv7, ARMv6), security-hardened base, proper permissions, and rate limiting.\n\n## Quick Start\n\n### Option 1: Docker Run\n\nRun h5ai instantly with Docker:\n\n```bash\ndocker run -d \\\n  --name h5ai \\\n  --restart unless-stopped \\\n  -p 80:80 \\\n  -v \"$(PWD)/config:/config\" \\\n  -v \"$(PWD)/data:/h5ai\" \\\n  -e TZ=Europe/Rome \\\n  -e PUID=1000 \\\n  -e PGID=1000 \\\n  ghcr.io/ddrimus/h5ai-docker:latest\n```\n\n### Option 2: Docker Compose (Recommended)\n\nFor a cleaner and more manageable setup, use Docker Compose:\n\n```yaml\nservices:\n  h5ai:\n    image: ghcr.io/ddrimus/h5ai-docker:latest\n    container_name: h5ai\n    restart: unless-stopped\n    environment:\n      TZ: \"Europe/Rome\"\n      PUID: \"1000\"\n      PGID: \"1000\"\n    volumes:\n      - \"$PWD/config:/config\"\n      - \"$PWD/data:/h5ai\"\n    ports:\n      - \"80:80\"\n```\n\nStart the container with:\n\n```bash\ndocker-compose up -d\n```\n\n### First Run\n\nThis will create two folders in your current directory:\n* `data` - where your shared files will be stored and indexed by h5ai.\n* `config` - containing all configuration files for h5ai and related services.\n\nAfter running the container, open http://YOUR_SERVER_IP:80 in your browser to access the file indexer.\n\n## Configuration\n\n### Environment Variables\n\n| Variable | Default | Description |\n|----------|---------|-------------|\n| `TZ` | `Europe/Rome` | Timezone for the container |\n| `PUID` | `1000` | User ID for file permissions |\n| `PGID` | `1000` | Group ID for file permissions |\n\n### Volume Mounts\n\n| Path | Description |\n|------|-------------|\n| `/h5ai` | Your files and directories to be indexed |\n| `/config` | Persistent configuration and cache data |\n\n### Advanced Configuration\n\nThe container automatically manages h5ai configuration. For advanced customization:\n* h5ai configuration files are located in `/config/_h5ai/`.\n* Nginx configuration file is `/config/nginx.conf`.\n* PHP configuration files are in `/config/`.\n\n## Performance Tuning\n\n### For Large File Collections\n- Increase PHP memory limit in `config/php_set_memory_limit.ini`.\n- Adjust Nginx worker processes in `config/nginx.conf`.\n- Configure appropriate disk space for cache.\n\n### For High Traffic\n- Enable rate limiting in Nginx configuration.\n- Adjust connection limits based on requirements.\n- Monitor container resources and scale as needed.\n\n## Security Considerations\n- Run with non-root user (PUID/PGID).\n- Use proper file permissions.\n- Consider placing behind reverse proxy with SSL.\n- Regularly update the container image.\n- Monitor access logs for suspicious activity.\n\n## Contributing\n\nIf you have any improvements, additional information, or notice any issues with the Docker containerization or optimizations, we'd love to hear from you! Feel free to open a pull request with your suggestions or details.\n\nIf you encounter any problems with the Docker integration or believe something isn't working as expected, please provide all relevant information in an issue.\n\nFor h5ai core functionality issues, please visit the original repository.\n\n## Disclaimer\n\nThis Docker integration is not affiliated with the original h5ai project ([https://github.com/lrsjng/h5ai/](https://github.com/lrsjng/h5ai/)). h5ai is an independent open-source project created by Lars Jung. This repository provides only a Docker containerization of h5ai with performance optimizations and deployment enhancements. \n\nAll credit for the core h5ai functionality goes to the original h5ai developers. This Docker implementation focuses solely on providing an optimized containerized deployment solution with security hardening, performance tuning, and ease of deployment features.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddrimus%2Fh5ai-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fddrimus%2Fh5ai-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fddrimus%2Fh5ai-docker/lists"}