{"id":14013202,"url":"https://github.com/tranxuanthang/lrclib","last_synced_at":"2025-04-11T23:16:58.668Z","repository":{"id":237261591,"uuid":"794153516","full_name":"tranxuanthang/lrclib","owner":"tranxuanthang","description":"LRCLIB server written in Rust with Axum and SQLite3 database","archived":false,"fork":false,"pushed_at":"2024-12-14T07:03:52.000Z","size":192,"stargazers_count":520,"open_issues_count":30,"forks_count":13,"subscribers_count":7,"default_branch":"main","last_synced_at":"2025-04-11T23:16:54.263Z","etag":null,"topics":["axum","lyrics","music","rust","sqlite","synced-lyrics"],"latest_commit_sha":null,"homepage":"https://lrclib.net","language":"Rust","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/tranxuanthang.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"tranxuanthang","buy_me_a_coffee":"thangtran","custom":["https://paypal.me/tranxuanthang98"]}},"created_at":"2024-04-30T14:56:26.000Z","updated_at":"2025-04-11T12:48:31.000Z","dependencies_parsed_at":"2024-05-06T19:26:57.914Z","dependency_job_id":"99905351-6e5d-4178-8dbb-0ebaa3791d7a","html_url":"https://github.com/tranxuanthang/lrclib","commit_stats":null,"previous_names":["tranxuanthang/lrclib"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranxuanthang%2Flrclib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranxuanthang%2Flrclib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranxuanthang%2Flrclib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tranxuanthang%2Flrclib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tranxuanthang","download_url":"https://codeload.github.com/tranxuanthang/lrclib/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248492885,"owners_count":21113163,"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":["axum","lyrics","music","rust","sqlite","synced-lyrics"],"created_at":"2024-08-11T00:01:31.499Z","updated_at":"2025-04-11T23:16:58.641Z","avatar_url":"https://github.com/tranxuanthang.png","language":"Rust","funding_links":["https://github.com/sponsors/tranxuanthang","https://buymeacoffee.com/thangtran","https://paypal.me/tranxuanthang98","https://www.buymeacoffee.com/thangtran"],"categories":["Rust"],"sub_categories":[],"readme":"# LRCLIB\n\n## Introduction\n\nLRCLIB server written in Rust with Axum and SQLite3 database.\n\nThis is the source code of [lrclib.net](https://lrclib.net) rewritten in Rust from scratch. LRCLIB is a completely free service for finding and contributing synchronized lyrics, with an easy-to-use and machine-friendly APIs.\n\n## Setup\n\nBuild the project:\n```\ncargo build --release\n```\n\nRun the server:\n\n```\nLRCLIB_LOG=info cargo run --release -- serve --database db.sqlite3\n```\n\nServer will be available at http://0.0.0.0:3300\n\n## Setup with Podman/Docker\n\n### Basic\n\nBuild the image:\n\n```\npodman build -t lrclib-rs:latest -f Dockerfile .\n```\n\nRun the container:\n\n```\npodman run --rm -it -d -v lrclib-data:/data -p 3300:3300 -e LRCLIB_LOG=info --name lrclib-rs lrclib-rs:latest\n```\n\nServer will be available at http://0.0.0.0:3300\n\n### Access the SQLite database\n\nRun the following command to directly interact with the database in command line:\n\n```\npodman run --rm -it -v lrclib-data:/data lrclib-rs:latest sqlite3 /data/db.sqlite3\n```\n\n### Quadlet\n\nYou can use Quadlet to run the Podman container in the background. It also handles auto-start the container after machine restart for you.\n\nCreate a file named `lrclib.container` at `~/.config/containers/systemd/`:\n\n```\nmkdir -p $HOME/.config/containers/systemd/\nvi $HOME/.config/containers/systemd/lrclib.container\n```\n\nThe example content of `lrclib.container`:\n\n```\n[Container]\nImage=lrclib-rs:latest\nPublishPort=3300:3300\nVolume=lrclib-data:/data\nContainerName=lrclib-rs\nEnvironment=LRCLIB_LOG=info\n\n[Service]\nRestart=always\n\n[Install]\nWantedBy=multi-user.target default.target\n```\n\nReload the daemon:\n\n```\nsystemctl --user daemon-reload\n```\n\nStart the service:\n\n```\nsystemctl --user start lrclib.service\n```\n\nCheck the status to see if `lrclib.service` is actually running:\n\n```\nsystemctl --user status lrclib.service\n```\n\nRestart when the container image is updated:\n\n```\nsystemctl --user restart lrclib.service\n```\n\n## Donation\n\nToss a coin to your developer?\n\n**GitHub Sponsors (Recommended - 100% of your support goes to the developer):**\n\nhttps://github.com/sponsors/tranxuanthang\n\n**Buy Me a Coffee:**\n\nhttps://www.buymeacoffee.com/thangtran\n\n**Paypal:**\n\nhttps://paypal.me/tranxuanthang98\n\n**Monero (XMR):**\n\n```\n43ZN5qDdGQhPGthFnngD8rjCHYLsEFBcyJjDC1GPZzVxWSfT8R48QCLNGyy6Z9LvatF5j8kSgv23DgJpixJg8bnmMnKm3b7\n```\n\n**Litecoin (LTC):**\n\n```\nltc1q7texq5qsp59gclqlwf6asrqmhm98gruvz94a48\n```\n\n## Contact\n\nIf you prefer to contact by email:\n\n[hoangtudevops@protonmail.com](mailto:hoangtudevops@protonmail.com)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftranxuanthang%2Flrclib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftranxuanthang%2Flrclib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftranxuanthang%2Flrclib/lists"}