LibrePortal
Sponsor
Install

Soundcloak

SoundCloud Frontend

MediaWorks with 3 appsSeveral copies

Soundcloak lets you browse and play SoundCloud without adverts, tracking or being pushed to make an account. Your server fetches the music, so SoundCloud never sees your devices.

On this page
  1. At a glance
  2. What it's good for
  3. Using it
  4. Keeping your devices out of it
  5. Things it can't do
  6. Good to know
  7. Addresses and ports
  8. Settings
  9. In its config file
  10. Works with
  11. Privacy and security
  12. What leaves this server
  13. What LibrePortal turns off
  14. Sources
  15. Under the hood

Good to know before you install

SoundCloud puts DRM on some tracks, which no front-end can play, and rate-limits by address, so busy instances see failures.

At a glance#

What it is
SoundCloud Frontend Media
Where it opens
Web Interface On its own port at http://your-server:port, or soundcloak.your-domain once you have a domain
Updates
When you choose New versions wait for you to press Update
Backups
Left out Not in the scheduled backups unless you switch it on
Copies
As many as you like Run several copies, each with its own data

What it's good for#

SoundCloud is full of music you won't find anywhere else: mixes, demos, small artists. Its own site wants you signed in, plays adverts and tracks what you listen to. Soundcloak is a plain, quick front page for the same tracks, playlists and artists, run from your server. You search and listen; SoundCloud only sees your server asking.

It's for listening. There are no accounts, no likes and no uploads.

Using it#

Open it with the Web Interface button and search for a track, an artist or a playlist. SoundCloud links work too: Soundcloak keeps SoundCloud's addresses, so swap soundcloud.com in any link for your Soundcloak address and the rest stays the same.

Preferences, on the main page, sets things like the player and the audio quality. They're kept in a cookie in your browser, and the bottom of that page can export them to a file and import them in another browser.

Two more things are handy. There are no accounts, so to keep up with an artist, add /_/rss/<username> on your Soundcloak address to a feed reader (Thunderbird works well). And with the Restream player on, tracks have a download button, with their details kept.

Keeping your devices out of it#

Three settings decide how much goes through your server (they're in its config file; see Settings below). All three start on, and that's the private way to run it:

  • Proxy Artwork and Proxy Audio load the cover art and the music itself through your server, so the browser never contacts SoundCloud's servers at all. Turning them off is lighter on your server's bandwidth, but then each visitor's browser fetches the audio from SoundCloud directly, which defeats most of the point.
  • No-JavaScript Player offers a second player, called Restream, that works with JavaScript switched off in the browser. It's also what makes the download button appear.

Things it can't do#

  • Some tracks won't play. SoundCloud protects some tracks with DRM, and no alternative player can play those.
  • SoundCloud limits requests per address. If lots of people use your Soundcloak, SoundCloud may start refusing it for a while. Keep it private if it's just for your household. As with Redlib, the Network Mode setting can send its traffic through Gluetun's VPN instead of your own address.

Good to know#

  • It's our own build. Soundcloak's author doesn't publish a ready-made image, so LibrePortal builds one from a specific version of the source and publishes it. Soundcloak is AGPL-licensed, so the exact source of that build is published alongside it, on git.libreportal.org.
  • Updates wait for you. Each version is a build we make, pinned by its tag. A newer build in a later LibrePortal reaches new installs; pressing Update on an installed Soundcloak only fetches the build it already has.
  • Nothing to back up. Soundcloak stores nothing on the server, so it's left out of backups.
  • It runs locked down: on a read-only filesystem, with no extra permissions.

Addresses and ports#

Soundcloak has one port. LibrePortal picks a free port number for each when you install, so yours will differ from anyone else's. The Config tab's Network section shows them, and the app's Open button uses the right one. "Anyone" means it's reachable from wherever your server is reachable; you can make it private later.

What it isWho can reach itWith a domain
Web Interface Anyone soundcloak.your-domain

Settings#

In its config file#

Soundcloak's own settings aren't on the Config tab yet. They live in the app's config file, described here so you know they exist. How to change them.

SettingWhat it doesStarts as
Name
CFG_SOUNDCLOAK_DISPLAY_NAME
What this app is called on your dashboards. Leave empty to use its usual name Empty
Show on the LibrePortal Dashboard
CFG_SOUNDCLOAK_SHOW_ON_DASHBOARD
Whether this app gets a shortcut on the front page of the LibrePortal WebUI, separate from any Dashy dashboard
Choices: true, false
true
Proxy Artwork
CFG_SOUNDCLOAK_PROXY_IMAGES
Load cover art through this server so visitors never contact SoundCloud's CDN
Choices: true, false
true
Proxy Audio
CFG_SOUNDCLOAK_PROXY_STREAMS
Load audio through this server so visitors never contact SoundCloud's CDN
Choices: true, false
true
No-JavaScript Player
CFG_SOUNDCLOAK_RESTREAM
Offer the Restream player, which works with JavaScript turned off
Choices: true, false
true

Works with#

These are the other apps Soundcloak knows how to work with. Once it's installed, its page shows the same list with whether each one is connected. How this works.

  • Grafana: Shows dashboards for the apps that have one. works with every app
  • Prometheus: Collects metrics from the apps that can export them. works with every app
  • Uptime Kuma: Watches your apps and shows when one goes down. works with every app

Privacy and security#

Worth knowing Soundcloak lets you listen to SoundCloud without visiting it directly. Your server talks to SoundCloud for you, so SoundCloud sees your server rather than you.

What leaves this server#

  • Your server contacts SoundCloud for every request, so SoundCloud sees its address, not yours

What LibrePortal turns off#

Nothing needed switching off.

Licence: AGPL-3.0. Audited: 21 October 2026. See the privacy of every app and the Promise.

Sources#

Under the hood#

  • It runs this image: git.libreportal.org/libreportal/soundcloak:0.1.0-cbbfd06-r1@sha256:d4aa7037df80b66246520510e6e2f597f4bd421b349ebdd1f93c41e7e8d4d719. The version is pinned, and moves only when you update it.
  • It can sit behind Authelia's sign-in once Authelia is installed.
  • Its own project and documentation: git.maid.zone/stuff/soundcloak

Ports, settings, tools and connections on this page are read from LibrePortal v0.10.97's app catalogue each time the guide is built.

Next steps