LogoLogo
DownloadBlog
  • Overview
  • Getting started
    • Meshnet explained
    • How to start using Meshnet
      • Using Meshnet on Windows
      • Using Meshnet on Android
      • Using Meshnet on iPhone/iPad
      • Using Meshnet on macOS
      • Using Meshnet on Linux
      • Using Meshnet on Android TV
    • How to use Meshnet securely
  • Features
    • Linking devices in Meshnet
      • Linking external Meshnet devices on Windows
      • Linking external Meshnet devices on Android
      • Linking external Meshnet devices on iPhone/iPad
      • Linking external Meshnet devices on macOS
      • Linking external Meshnet devices on Linux
      • Linking external Meshnet devices on Android TV
    • Explaining permissions
      • Remote access permissions
      • File sharing permissions
      • Traffic routing permissions
      • Local network permissions
    • Renaming devices in Meshnet
      • Renaming devices on Windows
      • Renaming devices on Android
      • Renaming devices on iPhone/iPad
      • Renaming devices on macOS
      • Renaming devices on Linux
    • Sharing files in Meshnet
      • Sharing files on Windows
      • Sharing files on Android
      • Sharing files on iPhone/iPad
      • Sharing files on macOS
      • Sharing files on Linux
      • Sharing files on Android TV
    • Routing traffic in Meshnet
      • Routing traffic from Windows
      • Routing traffic from Android
      • Routing traffic from iPhone/iPad
      • Routing traffic from macOS
      • Routing traffic from Linux
      • Routing traffic from Android TV
  • How-to guides
    • Gaming
      • How to set up a private Minecraft server with Meshnet
      • How to set up a private Stardew Valley server with Meshnet
      • How to play Quake 3 Arena over Meshnet
      • How to set up a private Team Fortress 2 server with Meshnet
      • How to set up a remote game-streaming server for Moonlight
      • How to set up a Palworld dedicated server
      • How to play Fallout: New Vegas multiplayer over Meshnet
      • How to set up a private Factorio server with Meshnet
    • Remote files and media access
      • How to set up and access shared folders
        • Configure and access shared folders on Windows
        • Configure and access shared folders on macOS
        • Configure and access shared folders on Linux
        • Access shared folders from Android
        • Access shared folders from iPhone/iPad
        • Access shared folders from Android TV
      • How to watch videos over Meshnet using Kodi
      • How to configure and access a Jellyfin media server remotely
      • How to set up a Plex media server and access it remotely
      • How to set up a remote NAS using OpenMediaVault and Meshnet
      • How to set up a remote picture library with LibrePhotos and Meshnet
      • How to use Syncthing for remote continuous file synchronization
      • How to set up a remote Airsonic music server
      • How to set up HTTP File Server for remote file access
      • How to set up a remote audiobook server
      • How to host a remote Kavita e-book server
      • How to set up and remotely access Immich using Meshnet
    • Remote device access
      • How to log in to your PC remotely over Meshnet
        • Connect to a Windows device
        • Connect to a macOS device
        • Connect to a Linux device
      • How to access remote systems over Meshnet using SSH
      • How to access your IP camera over Meshnet
      • How to use Home Assistant remotely over Meshnet
      • How to make secure macOS Time Machine backups from anywhere
      • How to use Ansible over Meshnet
      • How to access files in your NAS from anywhere without compromising its security
      • How to set up a phone as a security camera with remote access
      • How to assign custom host names to Meshnet services using Nginx proxy manager
      • How to use Proxmox VE remotely over Meshnet
      • How to set up a remotely controlled 3D printer
      • How to set up and remotely access a CasaOS server
    • Joint projects
      • How to set up an NGINX web server and remotely access it over Meshnet
      • How to use Nextcloud file syncing with Meshnet
      • How to set up pair programming using tmux
      • How to set up a Visual Studio Code server for remote development over Meshnet
      • How to host a Focalboard server for remote project management
      • How to use Meshnet for multi-screen Node.js development
      • How to use the Multi-user editing plugin in Unreal Engine over Meshnet
      • How to set up a private Mumble voice chat server
      • How to host a private Rocket.Chat server
    • Own VPN server setup
      • How to set up a VPN server through self-hosting or with DigitalOcean
      • How to create a VPN server with Microsoft Azure
      • How to create a VPN server with AWS
      • How to create a VPN server with Google Cloud
      • How to create a VPN server with Linode
      • How to create a VPN server with Hetzner
    • Network protection
      • How to set up your network protection with Pi-hole
      • How to set up your own DNS server
      • How to protect your network with AdGuard Home
      • How to use the self-hosted Whoogle search engine remotely
      • How to set up a VPN router using Meshnet
  • Troubleshooting
    • Common issues on Windows
    • Common issues on Android
    • Common issues on iPhone/iPad
    • Common issues on macOS
    • Common issues on Linux
Powered by GitBook

© 2025 Nord Security. All Rights Reserved.

On this page
  • Introduction
  • Prerequisites
  • Deploy Airsonic using Docker
  • Creating a Docker Compose file
  • Starting the Airsonic container
  • Access the Airsonic web interface
  • Updating the administrator account credentials
  • Creating new user accounts
  • Connect to Airsonic over Meshnet
  • Method 1: Using an internet browser
  • Method 2: Using mobile apps

Was this helpful?

  1. How-to guides
  2. Remote files and media access

How to set up a remote Airsonic music server

Discover how to configure a music server using Airsonic on Windows, macOS, and Linux and access it remotely over Meshnet.

PreviousHow to use Syncthing for remote continuous file synchronizationNextHow to set up HTTP File Server for remote file access

Last updated 10 months ago

Was this helpful?

Introduction

In today's digital landscape, cloud-based audio services have become the go-to choice for many individuals seeking convenient access to their music. However, these solutions often fall short when providing access to personal audio files stored on separate devices. This limitation emphasizes the importance of finding a solution that grants users full control over their audio streaming experience, leading many to explore the option of setting up their own music servers.

is a self-hosted, free, and open-source application that enables you to easily configure a personal music server. This tool is optimized for various audio formats and large music collections. While self-hosting a server can be an exciting learning experience, setting up secure remote access may be the opposite.

Tinkering with or looking for available domain names can be tedious work. With , you can allow remote connections to your server without any difficult networking configurations. In addition, you do not have to expose any ports on your server.

This guide contains instructions on how you can set up your own Airsonic music server on Windows, macOS, and Linux devices using Docker, and access the server remotely using Meshnet.

Prerequisites

To follow this guide, you must have and installed on your device. Instructions on how to download and install these tools can be found on the Docker website:

Note

Docker Compose comes pre-installed with Docker Desktop.

Deploy Airsonic using Docker

With Docker and Docker Compose installed, you can begin setting up your Airsonic music server. Running the Airsonic server as a Docker container requires fewer resources than a standalone installation. Besides, you can easily make changes to the server’s configuration by adjusting the Docker Compose file and restarting the container.

Creating a Docker Compose file

First, you need to create a Docker Compose file that contains the deployment instructions for the Airsonic Docker container.

To create a Docker Compose file for Airsonic on Windows:

  1. Open PowerShell.

  2. Run the following command to create a new airsonic folder with a data subfolder, and then navigate to the airsonic folder:

    mkdir airsonic/data; cd airsonic

  3. Create a docker-compose.yml file and open it using Notepad with the following command:

    notepad docker-compose.yml

    When prompted to create the file, click Yes.

  4. version: "3"
    services:
      airsonic-advanced:
        container_name: airsonic-advanced
        image: airsonicadvanced/airsonic-advanced:latest
        restart: unless-stopped
        ports:
          - 4040:4040
          - 4041:4041
        environment:
          TZ: <YourTimezone>
        volumes:
          - <\path\to\music>:/var/music
          - <\path\to\playlists>:/var/playlists
          - <\path\to\podcasts>:/var/podcasts
          - ./data:/var/airsonic

  5. Replace the placeholders with the values appropriate for your setup:

    • Instead of <\path\to\music>, enter the path to your music folder.

    • Instead of <\path\to\playlists>, enter the path to your playlists folder.

    • Instead of <\path\to\podcasts>, enter the path to your podcasts folder. Example

  6. Press Ctrl + S to save changes.

  7. Exit Notepad.

To create a Docker Compose file for Airsonic on macOS and Linux:

  1. Open Terminal.

  2. Run the id command to find the uid and gid values for your user account.

  3. Run the following command to create a new airsonic folder with a data subfolder, and then navigate to the airsonic folder:

    mkdir -p airsonic/data && cd airsonic

  4. Create a docker-compose.yml file and open it using the Nano text editor with the following command:

    nano docker-compose.yml

  5. version: "3"
    services:
      airsonic-advanced:
        container_name: airsonic-advanced
        image: airsonicadvanced/airsonic-advanced:latest
        restart: unless-stopped
        ports:
          - 4040:4040
          - 4041:4041
        user: <UID>:<GID>
        environment:
          TZ: <YourTimezone>
        volumes:
          - </path/to/music>:/var/music
          - </path/to/playlists>:/var/playlists
          - </path/to/podcasts>:/var/podcasts
          - ./data:/var/airsonic

  6. Replace the placeholders with the values appropriate for your setup:

    • Instead of <UID> and <GID>, enter your user account’s values from Step 2.

    • Instead of </path/to/music>, enter the path to your music folder.

    • Instead of </path/to/playlists>, enter the path to your playlists folder.

    • Instead of </path/to/podcasts>, enter the path to your podcasts folder.

      Example

  7. Press Ctrl + X, Y, and Enter to save changes and exit.

Starting the Airsonic container

With the Compose file created, while in the airsonic directory, execute the following command in the command line to create your Airsonic instance:

docker compose up -d

You can run the docker ps command to check if your Airsonic container is up and healthy.

Access the Airsonic web interface

Now that the server is active, you can control all of its settings using the Airsonic web interface. To access the web interface:

  1. Open your internet browser.

  2. Navigate to the following URL: localhost:4040/login

  3. In the Username and Password fields, enter admin and click Log in.

Upon logging in, you will be redirected to the Airsonic “Getting started” page. You can disable this page by clicking Don’t show this again.

Updating the administrator account credentials

It is essential to secure administrator access to your Airsonic instance with strong credentials. To update the login details for the administrator account:

  1. In the upper-right corner, click admin and select Credentials.

  2. Click Add credentials.

  3. Enter your new password twice, select its expiry date, and click Create.

  4. In the Credentials table, next to the initial entry, select the Delete checkbox and click Save.

The old default credentials are now removed and administrator access to your Airsonic instance is secured with the newly created password.

Creating new user accounts

Using an administrator account for standard access is not recommended, especially if you plan to share the server with your peers. Airsonic allows you to create new accounts with specific permissions. This way, you can be sure that no accidental changes to the server will be made.

To create a new user:

  1. Go to Airsonic Settings and select Users.

  2. Make sure that New user is chosen next to Select user.

  3. Select the appropriate permissions and access to media folders for the new user.

  4. Enter the username, email address, and password of the new user.

  5. Click Save.

The new user account is now created.

Connect to Airsonic over Meshnet

With your Airsonic server fully set up, you can use it remotely over Meshnet.

Note

Method 1: Using an internet browser

The easiest method to access your audio files stored on the Airsonic server is using an internet browser.

  1. Copy the Nord name of your Airsonic server from the NordVPN application.

  2. Open your internet browser.

  3. In the URL field, paste the copied Nord name followed by :4040/ and press Enter.

    Example secret.meerkat-olympic.nord:4040/

  4. Log in to your Airsonic account.

Now you should have full access to your Airsonic music library while being away from home.

Method 2: Using mobile apps

To connect to your Airsonic server using the Ultrasonic app for Android:

  1. In the Welcome to Ultrasonic! pop-up window, tap Take me to the settings.

  2. In the lower-right corner, tap the plus (+) button.

  3. In the Add server screen, fill in the following information:

    • In the Name field, enter a custom name for your server.

    • In the Server address field, append the Nord name of your Airsonic server followed by :4040.

    • In the Username and Password fields, enter the user credentials for your Airsonic server account. Example

  4. Under Advanced settings, enable the Force plain password authentication toggle.

  5. Tap Test connection to ensure that you can reach your server and tap Save.

  6. From the Configured servers list, select your newly added server.

Now you can navigate your music library and play selected recordings directly from the Ultrasonic app.

To connect to your Airsonic server using the iSub music streamer app for iOS:

  1. Fill in the presented fields as follows:

    • In the first field, enter http://<peer>:4040, replacing <peer> with your Airsonic server’s Nord name. Example http://secret.meerkat-olympic.nord:4040

    • In the username and password fields, enter authentication credentials for your Airsonic server account.

  2. Tap Save.

  3. Tap App settings and switch to the Settings tab.

  4. Under General, turn on the Enable basic authentication toggle.

Now you can navigate your music library and play selected recordings directly from the iSub app.

In the Notepad window, paste the following information containing instructions for the :

Instead of <TimeZone>, enter your .

In the terminal window, paste the following information containing instructions for the :

Instead of <TimeZone>, enter your .

Docker will from Docker Hub and create the container.

If you're hosting Airsonic on a Linux device, you must grant the for the devices connecting to it. For more information, see .

You can also use Airsonic-compatible apps to conveniently access and listen to your audio library. A list of compatible apps is available on the page.

Install Ultrasonic from the and launch it.

Install iSub from the and launch it.

Airsonic
port forwarding
Meshnet
Docker
Docker Compose
Docker Desktop instructions for Windows
Docker Desktop instructions for macOS
Docker Desktop Instructions for Linux
Docker Engine instructions for Linux (CLI only)
Docker Compose instructions for Linux (CLI only)
Airsonic-advanced Docker container
time zone
Airsonic-advanced Docker container
time zone
pull the Airsonic-advanced image
Airsonic applications documentation
Google Play Store
Apple App Store
local network permission
Common issues on Linux
PowerShell output after creating the required directories and navigating to the 'airsonic' folder.
Example Docker Compose file for Airsonic on Windows.
Example Docker Compose file for Airsonic on Windows.
UID and GID values underlined in the terminal output.
Example Docker Compose file for Airsonic on Linux.
Output of the 'docker ps' command showing that the Airsonic container is active.
Logging in to the Airsonic web interface using the default credentials.
Filling in the required information in the 'Add credentials' dialog.
Deleting the default administrator login credentials.
Clicking 'Save' on the filled in new user creation screen.
Logging in to the Airsonic web interface using the newly created user account.
Tapping 'Take me to the settings'.
Tapping 'Take me to the settings'.
Filled in details for the Meshnet Airsonic server.
Filled in details for the Meshnet Airsonic server.
Enabling the 'Force plain password authentication' toggle.
Enabling the 'Force plain password authentication' toggle.
Selecting the Meshnet Airsonic server.
Selecting the Meshnet Airsonic server.
"Save" button highlighted.
Turning on the 'Enable basic authentication' toggle in the iSub settings.