{"id":26498278,"url":"https://github.com/timendus/frugal","last_synced_at":"2025-07-03T18:09:01.031Z","repository":{"id":283326991,"uuid":"951369469","full_name":"Timendus/frugal","owner":"Timendus","description":"Create your own offline copy of the internet","archived":false,"fork":false,"pushed_at":"2025-03-19T16:37:39.000Z","size":210,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-19T17:34:32.554Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Timendus.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":"2025-03-19T15:13:19.000Z","updated_at":"2025-03-19T16:37:44.000Z","dependencies_parsed_at":"2025-03-19T17:35:25.271Z","dependency_job_id":"c9920e18-8257-49b5-b9e0-ef90d05d2aeb","html_url":"https://github.com/Timendus/frugal","commit_stats":null,"previous_names":["timendus/frugal"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Timendus/frugal","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Ffrugal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Ffrugal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Ffrugal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Ffrugal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Timendus","download_url":"https://codeload.github.com/Timendus/frugal/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Timendus%2Ffrugal/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263375323,"owners_count":23457317,"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":[],"created_at":"2025-03-20T14:28:10.484Z","updated_at":"2025-07-03T18:09:00.859Z","avatar_url":"https://github.com/Timendus.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Frugal\n\n_Just a quick and dirty fun project, to see how hard it would be. Don't expect\nit to work for every website. My focus was on fairly static websites, like\ndocumentation sites. Also, the search is pretty sucky._\n\nFrugal is a Docker image that you can run to mirror websites that you want to\nhave available offline locally. It will check the websites for updates daily,\nand update its cache. Behind the scenes the heavy lifting is done by WGET.\n\nOnce the websites have been downloaded, it allows you to browse those websites\nand to search through them. There's also the option to add additional links to\nthe home page, making it a great starting page for your local network.\n\n![Screenshot of the search page](./screenshot.png)\n\n## Build the docker image\n\n```bash\ngit clone git@github.com:Timendus/frugal.git\ncd frugal\nmake build\n```\n\n## Run the docker image\n\nAfter the previous step, an image `timendus/frugal` should be in your local\nDocker, and in `./dist/docker/frugal.tar.gz`. Spin up a container from that image.\n\nWhen setting up the container, map the container's port 80 to something on the\nhost system and map `/app/config` in the container to where you want to store\nboth the configuration and the cache files.\n\n## Configuring\n\nThere's two files of note:\n\n### websites.txt\n\nThis is a plain text file with URLs, one per line, of the websites that you wish\nto have available offline. It's used as an input file for `wget -i`.\n\n### links.json\n\nA JSON file with an array of objects, each representing a link in the \"Other\nresources\" section of the front page. Add whatever other applications you have\nrunning.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimendus%2Ffrugal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftimendus%2Ffrugal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftimendus%2Ffrugal/lists"}