Skip to main content

Installing Booksonic Air in the cloud for cheap

If you prefer video format tutorials this is also available as a youtube video here

Before we get too deep into this guide I just want to clarify what I mean with cloud in this instance as the term can be kind of vague.

The cloud we are talking about here is not Google Drive, Dropbox etc, it is simply a Linux machine that you don’t have to host at home, what I am talking about here is a VPS, aka a Virtual Private Server.

Getting a server

Ok, with that out of the way lets get started.
Since I started Booksonic I have been on the lookout for VPS providers that can give you the amount of storage needed for audiobooks without having to pay hundreds of dollars and let me tell you, they are few and far between.

The one I am currently using and can really recommend is called Contabo. They offer multiple tiers with different hardware but since all of them can handle Booksonic without any problems all we really care about is the storage. You can see the specs below or at this page

Once you have selected the one you want to use click order and you will be taken to a configuration page. Under Operation System check the box for Ubuntu 20.04, leave the rest unchecked and click Order now.

Here comes the hard part, the wait. As far as I can tell they setup your server manually the first time, in my case this has usually taken about 2 hours but it can probably vary. In the meantime go grab a coffee and watch a good movie.

Installing dependencies

Once the installation is done you will receive and email that contains something like this. This is your server info.

If you are on a Windows computer open up Powershell from the start menu, if you are on Linux or Mac you open up the terminal instead, the commands should be the same.

In Powershell enter the following command, this will give you access to your new Ubuntu server. Replace IPADDRESS with the address from your email.

ssh [email protected]

It will ask you if your trust the fingerprint, answer yes

You will be asked to enter your password, enter the one that is just called password in your email. Something that can be a bit weird for Windows users is that it won’t show you when you type your password but don’t worry just type it anyway and press enter.

The first thing we want to do is change the default password on your box, you do that by typing the command and follow the instructions


Now that the password is changed to something of your own we can get started with preparing the dependencies and folders. The first thing we need is to install something called docker. We do this by typing the following command

apt install

Next we need to create a few folders where we are going to put our files. We do this by typing

mkdir /booksonic
mkdir /booksonic/config
mkdir /audiobooks
mkdir /podcasts

That’s it, easy huh. Now lets do what you came here for, install Booksonic Air.

Installing Booksonic

docker create --name=booksonic-air -p 80:4040 -v /booksonic/config:/config -v /audiobooks:/audiobooks -v /podcasts:/podcasts --restart unless-stopped linuxserver/booksonic-air

That’s it, now you have installed Booksonic, but you still need to start it. You can start it by running the command

docker start booksonic-air

Configuring Booksonic

I won’t be doing a full configuration guide here but there are a few things you need to change in the server to get it working.

Open your browser and in the address field enter the IP address of your server. Sign in with the admin account. Both the username and password is admin.

The first thing you need to do is change your admin password, you can do so from settings -> users

Once you have changed your password you will be signed out and have to sign in again with your new password

Head back to settings, change the folder to /audiobooks
Then hit save

Securing your server

Yeah, I know this is a bit boring but it is really really important, right now your server is not using a firewall, that is a really really bad thing. So lets enable the firewall.

ufw allow 22
ufw allow 80
ufw enable

What did we just do? We just created two rules for ports that should be open and then we enabled the firewall. Port 22 is used by SSH, the tool you are using to control your server, if you had not allowed this you would have lost the connection as soon as the firewall was turned on. Port 80 is the standard port on the web, it is allowed so you can connect to the Booksonic server.

And now at last we are done!

But, how do I upload my audiobooks to the server?

Ah, good question. You do it over sftp, you can use any sftp client you want but if you don’t already have one I can recommend FileZilla.

The Host is the server address, Username is root, Password is the one you set before and Port is 22.

If you are using FileZilla, on the right side, set “Remote site:” to /audiobooks and press enter, then you can drag and drop your audiobook library in the window.

That’s it folks! Should you need any more help or think that something important is missing from the guide, feel free to reach out to me at [email protected], in the comments below or at the Booksonic Subreddit

Obs, if you click the contabo links in this guide and rent a server I will receive a small commission at no extra cost to you, this has not influenced my decision to recommend them in any way, they are what I use personally and what the Booksonic demo is hosted on.


Migrating users and settings from Bookonic Legacy Server to Booksonic Air

While I would recommend starting your Booksonic Air fresh I understand that in some cases migrating users might be needed. Just keep in mind that there is a risk this will lead to weird bugs.

1. Stop your Booksonic legacy server

2. Go to C: and rename the Booksonic folder booksonic.old

3. Run the installation described in this blogpost, then open powershell as admin and run the command stop-process -name java
This will shut down you booksonic air server, please keep in mind that it will also shut down any other java process you may have running.

4. Go to c:\booksonic and delete the file and the folder db

5. Go to c:\booksonic.old and copy the file and the folder db to c:\booksonic

6. Rename the file to, do the same with all the files in the db folder

Now you can restart the Air server by rightclicking on start-booksonic.ps1 and selecting Run with powershell

You should now have your old settings and users, if you run in to any problems, you can contact me at [email protected]


How to install Booksonic Air on Windows 10

Booksonic Air is the new and improved Booksonic server, this new version is based on Airsonic meaning a lot of stability issues has been fixed. It also sports an improved webplayer with variable playback speed, something that has been requested ever since the first server was released.

So how do you install it?

While my reccomendation is to install Booksonic Air with Docker installing it directly on Windows is possible as well.

Still want to run Booksonic on Windows? Ok, first you need to download a file called Install-BooksonicOnWindows.ps1

Go to your start menu and search for powershell, rightclick on that and select run as admin. Enter this command


If you get anything other then Bypass back write down what you get and run the following command, if you get Bypass skip to the step “Start internet explorer…”

Set-ExecutionPolicy Bypass

Once you are done with this guide, come back to this powershell window and run the following command, replace the text MYPOLICY with the text you wrote down earlier

Set-ExecutionPolicy MYPOLICY

Start internet explorer and then close it again, this is an important step due to a function in powershell not working unless internet explorer has been started on the system at least once. I am working on an updated install script where this will hopefully not be needed.

Run the ps1 file with powershell

A ps1 file is a script file that you can run in powershell, similar to how bash works on a Linux machine. Once you have downloaded it all you have to do is right click on the file and select “Run with powershell”.

uac promt to elevate powershell script
You need to select YES here

You will get a popup asking if you want to allow powershell to make changes to your device, select yes on this. If your computer don’t have java installed, the script will download and start the installer for an open source version of java (adopt openJDK) and all you have to do is click next next next etc. Once java is installed Booksonic will continue to install itself.

Booksonic is now installed

When you see this popup it means Booksonic has been installed and is now starting up. Once you click ok a new tab will open in your browser and navigate to your Booksonic server. If you click ok a bit to quickly and the server has not started completely yet you might need to wait a minute or two and then reload the tab.

For instructions on how to use the server please see step 3 and down from the Legacy guide available here, I am currently working on a new and improved guide for this. I am also working on guides for how to install Booksonic on Linux and in the cloud using a cheap VPS from Contabo.

If you are interested in running Booksonic in the cloud I recommend renting a Contabo VPS and installing booksonic there. It starts as low as 3.99 euro for 300GB storage and 4GB ram. If you got a huge library you can get as much as 1.4TB storage for 12.99 euro
Obs, if you click the contabo links and rent a server I will receive a small commision at no extra cost to you, this has not influenced my decision to recommend them in any way, they are what I use personally and what the Booksonic demo is hosted on.



Everyone loves stickers, right?

At least I do, that’s why I had some Booksonic stickers made for myself last week and since I know there are some people out there that love Booksonic as much as I do I bought a few extra.

They are vinyl stickers and the size is roughly 3.5 x 3.5 cm.

If you are interested in getting some stickers let me know below or on [email protected] Since this is something I am doing for fun and not profit I’m setting the price to pay what you want + shipping. Shipping cost is $4.

Booksonic app giveaway

The Booksonic app stopped working for almost ten hours today due to bug

First of all, I want to say that I am very sorry to all of you who have been unable to use the Booksonic app today.

Second I want to get in to a bit of what actually happened as well as give a promise that I will make sure it can never happen again.

Ok, so the reason that you haven’t been able to connect to your server today is due to two things. Today at 08:05 Swedish time went down. This was due to a break in the fibre cable leading to the server center that is hosting it.

The second and more important thing is why this caused you not to be able to connect to your own servers. 

First of all I want to make one thing very clear, Booksonic is a selfhosted server and as such this should not happen if my servers go down, that is very important to me.

None of your data between the server and app is ever routed through and will never be so. That said, there are two times that Booksonic connects to my servers. One is when you send me a log file, the second is when the app checks if it has an internet connection and that’s where the problem was.

The app determines if you have an internet connection or not by checking if it can reach if it can’t, it is supposed to give you a message about it and then move on. The reason this is checking my servers instead of your own booksonic server is so that it can let you know if the problem is that your booksonic server is down or that your internet is down.

What this means is that when went down today all that should have happened is that you should have seen a message in your app letting you know that you don’t have an internet connection but since you actually did you should have been able to use the app just fine anyway, this however  is not what happened. It turns out there is a bug in the code that checks the internet connection. 

While I haven’t been able to verify this yet as I don’t have access to a computer at the moment my guess is that the reason it messes up is because you actually got a connection response ( is behind cloudflare) just not the one it was expecting.

This bug is now my highest priority and I will make sure that a fix for it is found and pushed to GitHub and the Booksonic beta channel (sign up on the Google play page if you are interested) before the end of the week. If for some reason I am unable to get a fix for it working before then I will temporary disable this internet checking feature until I am able to find a fix because the fact that your apps stop working when my servers go offline is simply unacceptable to me.

Update 28/4:

After running some tests I have to admit that my first guess about what was messing up the connection was wrong, it was not the internet check in the app that was buggy, it was the version check on the server.

I have released a new version of the server where this is fixed and since I was releasing a new version of the server any way I also fixed the bug where the covers would not stretch to fit.
The new version of the server is called 1.1 and can be downloaded at


Booksonic Bridge Preview

As part of communicating more what happens with the Booksonic project I thought it might be a good idea to show what the Bridge will look like.
Important to know is that most parts of the bridge currently doesn’t have an interface but as they are created I’ll add them to this post.

If you have any suggestions or ideas for improvements to the design let me know in a comment here, at or at [email protected]


Using a network shared folder in Booksonic

I recently got a  question regarding using a network shared folder in Booksonic so I thought it would be a great idea to show how you can do this.

  1. Press the windows button and R at the same time
  2. Type services.msc and hit enter
  3. Look for the service called Subsonic, rightclick it anc click on properties
  4. Go to Log On and make sure the checkbox for This account is checked then enter the login information for an account that has access to the shared folder.
  5. Hit ok and then rightclick the Subsonic service and restart it.

Now you should be able to use your network share within Booksonic without problems.



Obs, keep in mind that you can’t use a mapped location, you need to use the full path, as an example mine is \\PopeensDataServer\D\Audiobooks or \\\D\Audiobooks


Booksonic server is out of BETA. I celebrate with an app giveaway

Last night I released the first full release of the Booksonic server. So whats new in this new Booksonic server? Well check out the changelog

* m4b files are now supported out of the box!
* The server is installed as Booksonic instead of as Subsonic
* Book descriptions and narrators are shown in the web GUI
* Music only features has been hidden in the web GUI, they are still there and will work fine if you use them in other apps.
* Design tweaks
* Bugfixes
* The API has been updated to show if the server is up to date.

But it’s not only the server that is getting an update, so is the Android app. A few minutes ago I uploaded a new version of it to Google Play and it should be live in a couple of hours is live. Here’s the changelog for that.

* The app will tell you if the server is outdated
* If app is in Swedish it will look at before checking Google Books if the server has no book description
* Added a classic theme to bring back the old Booksonic design
* Design tweaks to drawer (sidebar)
* Sleeptimer will reset the counter if you shake the phone
* Server and account info can optionally be included in import/export
* Bugfixes

To celebrate the first none beta version of Booksonic I have decided to have a giveaway where the 10 first people to comment on this post will get the app for free on Google Play. To get the app you need to enter a valid email when you comment so I have somewhere to contact you, this email will not be published as long as you only enter it in the email field.

As usual if you have any questions/suggestions/bugreports regarding the new versions of Booksonic you are more then welcome to submit them to the issue trackers at GitHub. Here for the server and here for the app, or as a comment on this blog.


No codes left but you can still get the app for only $3 at Google Play