{"id":19777539,"url":"https://github.com/karmek-k/tinyreader","last_synced_at":"2026-05-02T08:33:58.364Z","repository":{"id":49190022,"uuid":"375755589","full_name":"karmek-k/tinyreader","owner":"karmek-k","description":"📰 RSS reader","archived":false,"fork":false,"pushed_at":"2023-11-21T11:06:07.000Z","size":478,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T12:20:21.053Z","etag":null,"topics":["docker","php","rss","rss-reader","symfony"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/karmek-k.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":"2021-06-10T16:01:54.000Z","updated_at":"2023-11-27T12:35:26.000Z","dependencies_parsed_at":"2024-11-12T05:26:33.473Z","dependency_job_id":"e4715a2e-4f0c-4149-8326-15021de32acc","html_url":"https://github.com/karmek-k/tinyreader","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/karmek-k/tinyreader","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmek-k%2Ftinyreader","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmek-k%2Ftinyreader/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmek-k%2Ftinyreader/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmek-k%2Ftinyreader/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/karmek-k","download_url":"https://codeload.github.com/karmek-k/tinyreader/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/karmek-k%2Ftinyreader/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32528223,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T01:12:54.858Z","status":"online","status_checked_at":"2026-05-02T02:00:05.923Z","response_time":132,"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","php","rss","rss-reader","symfony"],"created_at":"2024-11-12T05:25:26.414Z","updated_at":"2026-05-02T08:33:58.341Z","avatar_url":"https://github.com/karmek-k.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# TinyReader\n\n## Installation\n\n### Local environment for development\n\nYou'll need:\n- PHP 8.1 or newer\n- Docker and Docker Compose (Docker Desktop is fine too, it installs both)\n\nCreate a `db.env` file from template and edit it:\n\n```\ncp db.example.env db.env\n```\n\nLaunch Docker Compose in the background:\n\n```\ndocker compose up -d\n```\n\nYou are not able to use the database right now, as it has not been migrated.\nMigrate the database **while `docker compose` is running in the background**:\n\n```\nphp bin/console doctrine:migrations:migrate -n\n```\n\nCreate a user:\n\n```bash\n# normal user\nphp bin/console tr:user:create\n\n# admin user\nphp bin/console tr:user:create -a\n```\n\nStart the development server:\n\n```\nphp bin/console serve\n```\n\nIt may ask you to add some self-signed certificates.\nIt's necessary in order to use HTTPS locally.\n\nNow you should be able to see the login page at `http://localhost:8000`\n\n#### Worker process\n\nExecute the following script:\n\n```\nphp bin/console messenger:consume async --memory-limit=128M\n```\n\nThis script has to be running all the time when the server is active,\notherwise asynchronous feed reloading will not work.\nThe script terminates when its memory usage exceeds 128M of memory,\nso it is highly recommended to use a process manager\nlike [PM2](https://pm2.keymetrics.io/) or [Supervisor](http://supervisord.org/) to keep the worker alive.\n\n\u003c!-- ### Docker without Compose (PHP-FPM)\n\nCreate a container:\n\n```\ndocker create --name tr -v \"tr_data:/app/var\" -p \"9000:9000\" karmekk/tinyreader\n```\n\nThis command has created a TinyReader server with PHP-FPM running at port 9000.\nNow launch the container:\n\n```\ndocker start tr\n```\n\nAnd now you have to apply migrations\nand let the container user use the database.\n\n```\ndocker exec tr bash -c \"php bin/console doctrine:database:create \\\n                     \u0026\u0026 php bin/console doctrine:migrations:migrate -n \\\n                     \u0026\u0026 chmod -R 777 /app/var\"\n```\n\nCreate a new user:\n\n```bash\n# normal user\ndocker exec -it tr bash -c \"php bin/console tr:user:create\"\n\n# admin user\ndocker exec -it tr bash -c \"php bin/console tr:user:create -a\"\n```\n\nAfter that, you have to use a FastCGI proxy like [nginx](https://www.nginx.com/).\nThere is an example configuration file in `server/tinyreader.conf`. --\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarmek-k%2Ftinyreader","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkarmek-k%2Ftinyreader","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkarmek-k%2Ftinyreader/lists"}