{"id":20586395,"url":"https://github.com/piger/qstode","last_synced_at":"2025-04-14T21:24:50.682Z","repository":{"id":66836409,"uuid":"13904449","full_name":"piger/qstode","owner":"piger","description":"A web based bookmarks archive [UNMAINTAINED]","archived":false,"fork":false,"pushed_at":"2021-11-15T21:29:37.000Z","size":785,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-14T21:24:48.867Z","etag":null,"topics":["bookmarks-manager","python","self-hosted","webapp"],"latest_commit_sha":null,"homepage":"","language":"Python","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/piger.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGES","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":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2013-10-27T16:23:41.000Z","updated_at":"2022-05-12T17:05:53.000Z","dependencies_parsed_at":"2023-02-23T19:46:07.347Z","dependency_job_id":null,"html_url":"https://github.com/piger/qstode","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piger%2Fqstode","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piger%2Fqstode/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piger%2Fqstode/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/piger%2Fqstode/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/piger","download_url":"https://codeload.github.com/piger/qstode/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248961508,"owners_count":21190042,"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":["bookmarks-manager","python","self-hosted","webapp"],"created_at":"2024-11-16T07:11:24.815Z","updated_at":"2025-04-14T21:24:50.668Z","avatar_url":"https://github.com/piger.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# QStode\n\n[![Build Status](https://travis-ci.org/piger/qstode.svg?branch=master)](https://travis-ci.org/piger/qstode)\n\nQStode is a web application that allows registered users to store bookmarks\n(like the good old del.icio.us) categorized by tags.\n\nAt the moment social functions (for example the subscription to other users\nbookmark feed) are missing.\n\n## Project status\n\n**THIS PROJECT IS UNMAINTAINED**\n\nQStode is mostly usable (read: it's **beta**) even if it still lacks\nsome features and many things could be improved.\n\nThings to note:\n\n- the search engine feature is still experimental mostly because it\n  should really use a task queue (i.e. Celery) to handle all the write\n  operations on the index; at the moment I'm using Whoosh\n  `AsyncWriter` that relies on threads and is not suitable for high\n  work loads.\n\n- a MySQL database is suggested; PostgreSQL support is experimental/incomplete.\n\n## Documentation\n\nDocumentation is available on [ReadTheDocs][rtd].\n\n[rtd]: http://qstode.readthedocs.org/en/latest/index.html\n\n## Requirements\n\n- Python 3.x\n- a WSGI server: gunicorn, uwsgi, etc.\n- a web server with reverse proxy support\n\nThe suggested setup involves the use of a *virtual environment* created with\n`virtualenv`.\n\nNOTE: You can also run QStode with the built in http server, but it's not suitable for the open internet!\n\n## Docker\n\nA sample `docker-compose.yml` file is provided as a starting point to run your own instance in\ndevelopment mode.\n\nTo start QStode run:\n\n``` shell\ndocker-compose up --build\n```\n\nTo setup the database and create the _admin_ user, run:\n\n``` shell\ndocker-compose run qstode setup\n```\n\nTo shutdown the containers run:\n\n``` powershell\ndocker-compose down\n```\n\nOr run `docker-compose down -v` to also delete the MySQL data container.\n\n## Author(s)\n\nQStode is written and maintained by Daniel Kertesz \u003cdaniel@spatof.org\u003e.\n\n## License\n\n- all (python, js) code is BSD licensed, see LICENSE file.\n- all HTML and CSS code is licensed under cc-by-nc, see:\n  http://creativecommons.org/licenses/by-nc/3.0/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiger%2Fqstode","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpiger%2Fqstode","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpiger%2Fqstode/lists"}