{"id":13467235,"url":"https://github.com/codetheweb/aoede","last_synced_at":"2025-05-16T09:03:42.600Z","repository":{"id":37384242,"uuid":"360354092","full_name":"codetheweb/aoede","owner":"codetheweb","description":"🎧 a self-hosted Spotify → Discord music bot","archived":false,"fork":false,"pushed_at":"2024-10-19T23:28:55.000Z","size":6611,"stargazers_count":314,"open_issues_count":14,"forks_count":30,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-12T04:49:37.102Z","etag":null,"topics":["discord","hacktoberfest","music","rust","serenity","spotify"],"latest_commit_sha":null,"homepage":"","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/codetheweb.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-04-22T01:16:27.000Z","updated_at":"2025-04-10T10:42:13.000Z","dependencies_parsed_at":"2023-01-25T06:45:11.747Z","dependency_job_id":"af6aad82-b654-4482-9bce-cf2278ab7195","html_url":"https://github.com/codetheweb/aoede","commit_stats":null,"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetheweb%2Faoede","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetheweb%2Faoede/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetheweb%2Faoede/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/codetheweb%2Faoede/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/codetheweb","download_url":"https://codeload.github.com/codetheweb/aoede/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254501554,"owners_count":22081528,"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":["discord","hacktoberfest","music","rust","serenity","spotify"],"created_at":"2024-07-31T15:00:54.310Z","updated_at":"2025-05-16T09:03:42.569Z","avatar_url":"https://github.com/codetheweb.png","language":"Rust","funding_links":[],"categories":["Bots"],"sub_categories":["Self Host-able Bots"],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg width=\"250\" height=\"250\" src=\"https://raw.githubusercontent.com/codetheweb/aoede/main/.github/logo.png\"\u003e\n\u003c/p\u003e\n\nAoede is a Discord music bot that **directly** streams from **Spotify to Discord**. The only interface is Spotify itself.\n\n**Note**: a Spotify Premium account is currently required. This is a limitation of librespot, the Spotify library Aoede uses. Facebook logins [are not supported](https://github.com/librespot-org/librespot/discussions/635).\n\n![Demo](https://raw.githubusercontent.com/codetheweb/aoede/main/.github/demo.gif)\n\n## 💼 Usecases\n\n- Small servers with friends\n- Discord Stages, broadcast music to your audience\n\n## 🏗 Usage\n\n(Images are available for x86 and arm64.)\n\n### Notes:\n⚠️ Aoede only supports bot tokens. Providing a user token won't work.\n\nAoede will appear offline until you join a voice channel it has access it.\n\n### Docker Compose (recommended):\n\nThere are a variety of image tags available:\n- `:0`: versions \u003e= 0.0.0\n- `:0.5`: versions \u003e= 0.5.0 and \u003c 0.6.0\n- `:0.5.1`: an exact version specifier\n- `:latest`: whatever the latest version is\n\n```yaml\nversion: '3.4'\n\nservices:\n  aoede:\n    image: codetheweb/aoede\n    restart: always\n    volumes:\n      - ./aoede:/data\n    environment:\n      - DISCORD_TOKEN=\n      - SPOTIFY_USERNAME=\n      - SPOTIFY_PASSWORD=\n      - DISCORD_USER_ID=        # Discord user ID of the user you want Aoede to follow\n      - SPOTIFY_BOT_AUTOPLAY=   # Autoplay similar songs when your music ends (true/false)\n      - SPOTIFY_DEVICE_NAME=\n```\n\n### Docker:\n```env\n# .env\nDISCORD_TOKEN=\nSPOTIFY_USERNAME=\nSPOTIFY_PASSWORD=\nDISCORD_USER_ID=\nSPOTIFY_BOT_AUTOPLAY=\nSPOTIFY_DEVICE_NAME=\n```\n\n```bash\ndocker run --rm -d --env-file .env codetheweb/aoede\n```\n\n### Prebuilt Binaries:\n\nPrebuilt binaries are available on the [releases page](https://github.com/codetheweb/aoede/releases). Download the binary for your platform, then inside a terminal session:\n\n1. There are two options to make configuration values available to Aoede:\n\t1. Copy the `config.sample.toml` file to `config.toml` and update as necessary.\n\t2. Use environment variables (see the Docker Compose section above):\n\t\t- On Windows, you can use `setx DISCORD_TOKEN my-token`\n\t\t- On Linux / macOS, you can use `export DISCORD_TOKEN=my-token`\n2. Run the binary:\n\t- For Linux / macOS, `./platform-latest-aoede` after navigating to the correct directory\n\t- For Windows, execute `windows-latest-aoede.exe` after navigating to the correct directory\n\n### Building from source:\n\nRequirements:\n\n- automake\n- autoconf\n- cmake\n- libtool\n- Rust\n- Cargo\n\nRun `cargo build --release`. This will produce a binary in `target/release/aoede`. Set the required environment variables (see the Docker Compose section), then run the binary.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodetheweb%2Faoede","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcodetheweb%2Faoede","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcodetheweb%2Faoede/lists"}