{"id":13447233,"url":"https://github.com/mthenw/frontail","last_synced_at":"2025-05-14T09:13:47.883Z","repository":{"id":2855846,"uuid":"3860377","full_name":"mthenw/frontail","owner":"mthenw","description":"📝 streaming logs to the browser. Sponsored by https://cloudash.dev","archived":false,"fork":false,"pushed_at":"2023-11-12T18:53:23.000Z","size":836,"stargazers_count":1831,"open_issues_count":57,"forks_count":248,"subscribers_count":43,"default_branch":"master","last_synced_at":"2025-05-14T09:13:01.053Z","etag":null,"topics":["devops","log-stream","log-viewer","stream-logs","syslog","tail"],"latest_commit_sha":null,"homepage":"https://cloudash.dev","language":"JavaScript","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/mthenw.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}},"created_at":"2012-03-28T22:38:29.000Z","updated_at":"2025-05-03T21:15:01.000Z","dependencies_parsed_at":"2024-06-18T13:54:43.364Z","dependency_job_id":"984cb45b-c2c3-4a78-b27c-8b47a13b0fb4","html_url":"https://github.com/mthenw/frontail","commit_stats":{"total_commits":308,"total_committers":33,"mean_commits":9.333333333333334,"dds":0.4058441558441559,"last_synced_commit":"52014199f14c2869459fd6fd622da1e429806deb"},"previous_names":[],"tags_count":61,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthenw%2Ffrontail","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthenw%2Ffrontail/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthenw%2Ffrontail/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mthenw%2Ffrontail/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mthenw","download_url":"https://codeload.github.com/mthenw/frontail/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254110448,"owners_count":22016392,"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","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":["devops","log-stream","log-viewer","stream-logs","syslog","tail"],"created_at":"2024-07-31T05:01:11.624Z","updated_at":"2025-05-14T09:13:47.862Z","avatar_url":"https://github.com/mthenw.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# frontail – streaming logs to the browser\n\n`frontail` is a Node.js application for streaming logs to the browser. It's a `tail -F` with UI.\n\n![frontial](https://user-images.githubusercontent.com/455261/29570317-660c8122-8756-11e7-9d2f-8fea19e05211.gif)\n\n[![Docker Pulls](https://img.shields.io/docker/pulls/mthenw/frontail.svg)](https://hub.docker.com/r/mthenw/frontail/)\n\n## Quick start\n\n- `npm i frontail -g` or download a binary file from [Releases](https://github.com/mthenw/frontail/releases) page\n- `frontail /var/log/syslog`\n- visit [http://127.0.0.1:9001](http://127.0.0.1:9001)\n\n## Features\n\n- log rotation (not on Windows)\n- auto-scrolling\n- marking logs\n- pausing logs\n- number of unread logs in favicon\n- themes (default, dark)\n- [highlighting](#highlighting)\n- search (`Tab` to focus, `Esc` to clear)\n- set filter from url parameter `filter`\n- tailing [multiple files](#tailing-multiple-files) and [stdin](#stdin)\n- basic authentication\n\n## Installation options\n\n- download a binary file from [Releases](https://github.com/mthenw/frontail/releases) pagegit st\n- using [npm package](https://www.npmjs.com/package/frontail): `npm i frontail -g`\n- using [Docker image](https://cloud.docker.com/repository/docker/mthenw/frontail): `docker run -d -P -v /var/log:/log mthenw/frontail /log/syslog`\n\n## Usage\n\n    frontail [options] [file ...]\n\n    Options:\n\n      -V, --version                 output the version number\n      -h, --host \u003chost\u003e             listening host, default 0.0.0.0\n      -p, --port \u003cport\u003e             listening port, default 9001\n      -n, --number \u003cnumber\u003e         starting lines number, default 10\n      -l, --lines \u003clines\u003e           number on lines stored in browser, default 2000\n      -t, --theme \u003ctheme\u003e           name of the theme (default, dark)\n      -d, --daemonize               run as daemon\n      -U, --user \u003cusername\u003e         Basic Authentication username, option works only along with -P option\n      -P, --password \u003cpassword\u003e     Basic Authentication password, option works only along with -U option\n      -k, --key \u003ckey.pem\u003e           Private Key for HTTPS, option works only along with -c option\n      -c, --certificate \u003ccert.pem\u003e  Certificate for HTTPS, option works only along with -k option\n      --pid-path \u003cpath\u003e             if run as daemon file that will store the process id, default /var/run/frontail.pid\n      --log-path \u003cpath\u003e             if run as daemon file that will be used as a log, default /dev/null\n      --url-path \u003cpath\u003e             URL path for the browser application, default /\n      --ui-hide-topbar              hide topbar (log file name and search box)\n      --ui-no-indent                don't indent log lines\n      --ui-highlight                highlight words or lines if defined string found in logs, default preset\n      --ui-highlight-preset \u003cpath\u003e  custom preset for highlighting (see ./preset/default.json)\n      --path \u003cpath\u003e                 prefix path for the running application, default /\n      --disable-usage-stats         disable gathering usage statistics\n      --help                        output usage information\n\nWeb interface runs on **http://[host]:[port]**.\n\n### Tailing multiple files\n\n`[file ...]` accepts multiple paths, `*`, `?` and other shell special characters([Wildcards, Quotes, Back Quotes and Apostrophes in shell commands](http://www.codecoffee.com/tipsforlinux/articles/26-1.html)).\n\n### stdin\n\nUse `-` for streaming stdin:\n\n    ./server | frontail -\n\n### Highlighting\n\n`--ui-highlight` option turns on highlighting in UI. By default preset from `./preset/default.json` is used:\n\n```\n{\n    \"words\": {\n        \"err\": \"color: red;\"\n    },\n    \"lines\": {\n        \"err\": \"font-weight: bold;\"\n    }\n}\n```\n\nwhich means that every \"err\" string will be in red and every line containing \"err\" will be bolded.\n\n_New presets are very welcome. If you don't like default or you would like to share yours, please create PR with json file._\n\nAvailable presets:\n\n- default\n- npmlog\n- python\n\n### Running behind nginx\n\nUsing the `--url-path` option `frontail` can run behind nginx with the example configuration\n\nUsing `frontail` with `--url-path /frontail`\n\n```\nevents {\n    worker_connections 1024;\n}\n\nhttp {\n    server {\n        listen      8080;\n        server_name localhost;\n\n        location /frontail {\n            proxy_pass http://127.0.0.1:9001/frontail;\n\n            proxy_http_version 1.1;\n            proxy_set_header Upgrade $http_upgrade;\n            proxy_set_header Connection \"upgrade\";\n        }\n    }\n}\n```\n\n### Usage statistics\n\n`frontail` by default (from `v4.5.0`) gathers **anonymous** usage statistics in Google Analytics. It can be disabled with\n`--disable-usage-stats`.\n\nThe data is used to help me understand how `frontail` is used and I can make it better.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmthenw%2Ffrontail","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmthenw%2Ffrontail","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmthenw%2Ffrontail/lists"}