{"id":18983552,"url":"https://github.com/alivx/urless","last_synced_at":"2025-04-19T20:10:47.193Z","repository":{"id":262481517,"uuid":"314368725","full_name":"alivx/urless","owner":"alivx","description":"URL Shortener Service using flask,fastapi,redis","archived":false,"fork":false,"pushed_at":"2024-11-12T16:27:54.000Z","size":1430,"stargazers_count":5,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-12T12:55:08.475Z","etag":null,"topics":["docker","fastapi","flask","redis","url-shortener","yaml"],"latest_commit_sha":null,"homepage":"https://github.com/alivx/urless","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/alivx.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":"2020-11-19T20:59:04.000Z","updated_at":"2024-11-12T16:27:59.000Z","dependencies_parsed_at":"2024-11-12T17:41:37.508Z","dependency_job_id":null,"html_url":"https://github.com/alivx/urless","commit_stats":null,"previous_names":["alivx/urless"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alivx%2Furless","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alivx%2Furless/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alivx%2Furless/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/alivx%2Furless/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/alivx","download_url":"https://codeload.github.com/alivx/urless/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249246235,"owners_count":21237013,"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":["docker","fastapi","flask","redis","url-shortener","yaml"],"created_at":"2024-11-08T16:17:36.003Z","updated_at":"2025-04-16T13:33:52.609Z","avatar_url":"https://github.com/alivx.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cimg src=\"https://raw.githubusercontent.com/alivx/urless/master/resources/logo.png\" alt=\"logo\" style=\"zoom:50%;\" /\u003e\n![Docker Image CI](https://github.com/alivx/urless/workflows/Docker%20Image%20CI/badge.svg)\n# URLess\n\nURL Shortener `API` Service\n\nself-hostable open-source URL shortening web API service with a Fast API. It allows you to host your own URL shorten easy to use.\n\n\n## Screenshots\n\n\u003cimg src=\"https://raw.githubusercontent.com/alivx/urless/master/resources/sample1.png\" alt=\"sample1\" style=\"zoom:50%;\" /\u003e\n\n## Quickstart\n\nUrless is written in Python, using Redis as its primary database.( TODO redisgears + mysql)\n\n\n## Installation\nDownload the latest version of URLess via this image 'alivx/urless'.\n\n```Bash\ndocker-compose build #To build project\ndocker-compose up #To run project, You can use `-d` option to run it in the background.\n```\n\nTo test service run CURL command:\n```Bash\ncurl --location --request POST 'http://127.0.0.1:8000/' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\"url\":\"www.google.com\"}'\n```\nOR\nfrom browser open `localhost` and start testing the system.\n\n## Configs\nTo Deal with config for each app, you have two method.\n1. settings.yaml\n2. enviromnet varables. (This will override settings.yaml value)\n\nIn point 2, just use `DYNACONF_[valueName]`, for example, in our API there is a config called `exposePort`, to override it use this value `DYNACONF_exposePort`. such as `export DYNACONF_exposePort=1991`\n\n\n\nIf you want to use a custom config under docker-compose, just add it under `environment` section as explained above.\n\n\u003cimg src=\"https://raw.githubusercontent.com/alivx/urless/master/resources/docker-compose-env-vars.png\" alt=\"docker-compose-env-vars\" style=\"zoom:40%;\" /\u003e\n\nYou can change value for each service config under file `settings.yaml`\n\n\u003cimg src=\"https://raw.githubusercontent.com/alivx/urless/master/resources/frontend-config.png\" alt=\"frontend-config\" style=\"zoom:40%;\" /\u003e\n\nFor nginx, you must change the config file under `infrastructure/nginx/urless.conf` if you changes `frontend` container name or port.\n\n\u003cimg src=\"https://raw.githubusercontent.com/alivx/urless/master/resources/nginx.png\" alt=\"nginx\" style=\"zoom:40%;\" /\u003e\n\n\n----\nYou can check the API documntion by `/docs`\n\u003cimg src=\"https://raw.githubusercontent.com/alivx/urless/master/resources/BackendAPI.png\" alt=\"APiDocs\" style=\"zoom:50%;\" /\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falivx%2Furless","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Falivx%2Furless","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Falivx%2Furless/lists"}