{"id":19793536,"url":"https://github.com/odyseeteam/odysee-api","last_synced_at":"2025-05-16T15:07:03.578Z","repository":{"id":37493908,"uuid":"161816662","full_name":"OdyseeTeam/odysee-api","owner":"OdyseeTeam","description":"API server for Odysee","archived":false,"fork":false,"pushed_at":"2025-05-13T20:09:33.000Z","size":3624,"stargazers_count":234,"open_issues_count":18,"forks_count":49,"subscribers_count":27,"default_branch":"master","last_synced_at":"2025-05-13T21:28:11.090Z","etag":null,"topics":["api","backend","blockchain","lbry","odysee"],"latest_commit_sha":null,"homepage":"https://odysee.com","language":"Go","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/OdyseeTeam.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,"zenodo":null}},"created_at":"2018-12-14T17:05:16.000Z","updated_at":"2025-05-09T07:00:22.000Z","dependencies_parsed_at":"2024-02-19T15:15:39.265Z","dependency_job_id":"b7899d70-6cd9-4b54-81c4-09191f09f341","html_url":"https://github.com/OdyseeTeam/odysee-api","commit_stats":{"total_commits":1132,"total_committers":20,"mean_commits":56.6,"dds":0.1704946996466431,"last_synced_commit":"dd4face02e509a392fcdc9a368ff4da1c853f553"},"previous_names":["lbryio/lbrytv","lbryio/lbryweb.go","lbryio/odysee-api"],"tags_count":262,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OdyseeTeam%2Fodysee-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OdyseeTeam%2Fodysee-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OdyseeTeam%2Fodysee-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OdyseeTeam%2Fodysee-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OdyseeTeam","download_url":"https://codeload.github.com/OdyseeTeam/odysee-api/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254553959,"owners_count":22090417,"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":["api","backend","blockchain","lbry","odysee"],"created_at":"2024-11-12T07:10:06.981Z","updated_at":"2025-05-16T15:07:03.568Z","avatar_url":"https://github.com/OdyseeTeam.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# API Server for Odysee\n\n⚠️ If you are looking for the UI code, that lives here: https://github.com/OdyseeTeam/odysee-frontend. ⚠️\n\nThis is the API server used by [Odysee](https://odysee.com), mostly acting as a bridge between web and the blockchain.\n\n![Tests](https://github.com/OdyseeTeam/odysee-api/actions/workflows/test-release.yml/badge.svg) [![Coverage Status](https://coveralls.io/repos/github/OdyseeTeam/odysee-api/badge.svg?branch=master)](https://coveralls.io/github/OdyseeTeam/odysee-api?branch=master)\n\n## Required tools\n\n```\ngo install github.com/volatiletech/sqlboiler\ngo install github.com/volatiletech/sqlboiler/drivers/sqlboiler-psql\n\n```\n\n## Running off source (the preferred way for development)\n\n**1. Launch the core environment containers**\n\n`docker compose up -d`\n\n*Note: if you're running a LBRY desktop app or a lbrynet instance, you will have to either shut it down or change its ports*\n\n**2. Set up database schema if this is your first launch**\n\n`go run . db_migrate_up`\n\n**3. Generate RSA key file**\n\n`ssh-keygen -t rsa -f token_privkey.rsa -m pem`\n\n**4. Start Odysee API server**\n\n`go run .`\n\n**5. Clone [odysee-frontend](https://github.com/OdyseeTeam/odysee-frontend) repo, if you don't have it**\n\n**6. Launch UI in lbry-desktop repo folder**\n\n```\nSDK_API_URL=http://localhost:8080 yarn dev:web\n```\n\n## Running with Docker\n\nMake sure you have recent enough Docker and `docker compose` installed.\n\n**1. Initialize and launch the containers**\n\nThis will pull and launch SDK and postgres images, which Odysee API requires to operate.\n\n`docker compose -f docker-compose.yml -f docker-compose.app.yml up -d`\n\n*Note: if you're running a LBRY desktop app or lbrynet instance, you will have to either shut it down or change ports*\n\n**2. Clone [lbry-desktop](https://github.com/lbryio/lbry-desktop/) repo, if you don't have it**\n\n```\ncd ..\ngit clone git@github.com:lbryio/lbry-desktop.git\n```\n\n**3. Launch UI in lbry-desktop repo folder**\n\n```\nLBRY_WEB_API=http://localhost:8080 yarn dev:web\n```\n\n**4. Open http://localhost:9090/ in Chrome or Firefox for best experience**\n\n## Development tips\n\n### Change DB schema\n\n1. Create a schema migration\n2. Apply schema migration with `go run . db_migrate_up`\n3. Run `make models` for sqlboiler to pick up the changes\n\n## Testing\n\nMake sure you have `lbrynet`, `postgres` and `postgres-collector` containers running and run `make prepare_test test`.\n\n## Building Docker images\n\nMake sure you have Go 1.24 installed.\n\nThen build the binary, create a docker image locally:\n\n```\nmake oapi \u0026\u0026 make oapi_image\n```\n\n## Tools used in development\n\n* [golangci-lint](https://golangci-lint.run/welcome/install/#local-installation)\n\n* govulncheck\n\n```\ngo install golang.org/x/vuln/cmd/govulncheck@latest\n```\n\n## Versioning\n\nThis project is using [CalVer](https://calver.org) YY.MM.MINOR since February 2021 (SemVer prior to that)\n\n## Contributing\n\nContributions to this project are welcome.\n\nPlease ensure that your code builds and automated tests run successfully before pushing your branch. You must `go fmt` your code before you commit it, or the build will fail.\n\n\n## License\n\nThis project is MIT licensed. For the full license, see [LICENSE](LICENSE).\n\n\n## Security\n\nWe take security seriously. Please contact security@lbry.io regarding any issues you may encounter.\nOur PGP key is [here](https://lbry.com/faq/pgp-key) if you need it.\n\n\n## Contact\n\nThe primary contact for this project is [@anbsky](https://github.com/anbsky) (andrey.beletsky@odysee.com).\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodyseeteam%2Fodysee-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fodyseeteam%2Fodysee-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fodyseeteam%2Fodysee-api/lists"}