{"id":51463728,"url":"https://github.com/aredoff/veldoc","last_synced_at":"2026-07-06T08:30:54.226Z","repository":{"id":364987604,"uuid":"1269977153","full_name":"aredoff/veldoc","owner":"aredoff","description":"Veldoc is a lightweight self-hosted web viewer for browsing and rendering Markdown documentation from a local directory, with optional auth and Docker support.","archived":false,"fork":false,"pushed_at":"2026-06-22T12:42:14.000Z","size":10596,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-22T14:23:18.212Z","etag":null,"topics":["developer-tools","docker","docs","documentation","file-browser","golang","knowledge-base","markdown","markdown-viewer","self-hosted"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/aredoff.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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-06-15T09:13:29.000Z","updated_at":"2026-06-22T12:42:18.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/aredoff/veldoc","commit_stats":null,"previous_names":["aredoff/veldoc"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/aredoff/veldoc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aredoff%2Fveldoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aredoff%2Fveldoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aredoff%2Fveldoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aredoff%2Fveldoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/aredoff","download_url":"https://codeload.github.com/aredoff/veldoc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/aredoff%2Fveldoc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35184015,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-06T02:00:07.184Z","response_time":106,"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":["developer-tools","docker","docs","documentation","file-browser","golang","knowledge-base","markdown","markdown-viewer","self-hosted"],"created_at":"2026-07-06T08:30:52.964Z","updated_at":"2026-07-06T08:30:54.202Z","avatar_url":"https://github.com/aredoff.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Veldoc\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/aredoff/veldoc.svg?maxAge=604800)](https://hub.docker.com/r/aredoff/veldoc/)\n[![Go Report Card](https://goreportcard.com/badge/github.com/aredoff/veldoc)](https://goreportcard.com/report/github.com/aredoff/veldoc)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](./LICENSE)\n\nMinimal file browser for viewing a mounted directory in the browser. Designed for Docker: mount a folder, open the UI, read files and rendered Markdown.\n\n## Quick start\n\n```bash\ndocker run -p 8080:8080 -v ./your-folder:/data ghcr.io/aredoff/veldoc\n```\n\nOpen http://localhost:8080\n\n## Docker Compose\n\n```bash\nmkdir -p data\necho \"# Hello\" \u003e data/readme.md\ndocker compose up --build\n```\n\n## Configuration\n\n| Flag / Env | Default | Description |\n|---|---|---|\n| `--root` / `VELDOC_ROOT` | `/data` | Directory to serve |\n| `--addr` / `VELDOC_ADDR` | `:8080` | Listen address |\n| `--auth` / `VELDOC_AUTH` | `none` | `none`, `basic`, `form`, `token` |\n| `VELDOC_BASIC_USER` | | Basic auth username |\n| `VELDOC_BASIC_PASSWORD` | | Basic auth password |\n| `VELDOC_FORM_USER` | | Form auth username |\n| `VELDOC_FORM_PASSWORD` | | Form auth password |\n| `VELDOC_SESSION_SECRET` | | Form auth session secret |\n| `VELDOC_TOKEN` | | Bearer token |\n| `--poll-interval` / `VELDOC_POLL_INTERVAL` | `3s` | UI poll interval |\n| `--max-preview-size` / `VELDOC_MAX_PREVIEW_SIZE` | `52428800` | Max file size for preview in bytes (download is unlimited) |\n\n## Excluding files (`.docignore`)\n\nPlace a `.docignore` file in the served root or any subdirectory. Syntax matches `.gitignore`: wildcards (`*`, `?`, `**`), negation (`!`), directory patterns (trailing `/`), and comments (`#`).\n\nIgnored paths are hidden from the file tree and cannot be read via the API. `.docignore` files themselves are always hidden.\n\n**Root example** (`data/.docignore`):\n\n```gitignore\n# secrets\n.env\nprivate/\n\n# build artifacts\n*.log\ndist/\n\n# except this one\n!important.log\n```\n\n**Nested example** (`data/docs/.docignore`):\n\n```gitignore\ndrafts/\n*.tmp\n```\n\nPatterns in a nested `.docignore` apply only to files under that directory, like Git.\n\n## Auth examples\n\n**Basic auth:**\n```bash\ndocker run -p 8080:8080 -v ./data:/data \\\n  -e VELDOC_AUTH=basic \\\n  -e VELDOC_BASIC_USER=admin \\\n  -e VELDOC_BASIC_PASSWORD=secret \\\n  veldoc\n```\n\n**Form auth:**\n```bash\ndocker run -p 8080:8080 -v ./data:/data \\\n  -e VELDOC_AUTH=form \\\n  -e VELDOC_FORM_USER=admin \\\n  -e VELDOC_FORM_PASSWORD=secret \\\n  -e VELDOC_SESSION_SECRET=change-me \\\n  veldoc\n```\n\n**Token auth:**\n```bash\ncurl -H \"Authorization: Bearer my-token\" http://localhost:8080/api/tree\n```\n\n## Development\n\n```bash\ngo run ./cmd/veldoc --root ./data\ngo test ./...\n```\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faredoff%2Fveldoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faredoff%2Fveldoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faredoff%2Fveldoc/lists"}