Page 1 of 1

Re: Two Subsonic Instance at same time

PostPosted: Fri Jul 18, 2014 3:34 pm
by GJ51
It can be done, but it isn't easy. The easiest way to do it would be to set up a VM with a different IP address.

Re: Two Subsonic Instance at same time

PostPosted: Tue Jul 22, 2014 12:01 am
by trickydick
I haven't been able to get it to work...because it uses the same database. If there was a way to get the connection string to use two different database

however I have madsonic (on tomcat 8) and subsonic on (tomcat 7) running on the same machine with IIS as the frontend using a reverse proxy (redirect)

Re: Two Subsonic Instance at same time

PostPosted: Tue Jul 22, 2014 12:35 am
by GJ51
I think I've seen others write about a similar setup using the war and renaming the second war install to subsonic2.

I've also done dual sub/mad sonic setups. If you have extra hardware, just using a VM or another box is easier.

Re: Two Subsonic Instance at same time

PostPosted: Thu Dec 18, 2014 9:04 pm
by swocoom
I know this is an old thread, but as it is relevant to me at the moment I thought I would share. I wanted to do multiple instances for testing as well. As GJ51 mentioned, it isn't easy but can be done. I modified the source code for the SettingsService.java. The variable for SUBSONIC_HOME_WINDOWS can be modified to place the files wherever you would like. Using this method as well as using Tomcat for my server, it seemed to work quite well.

Re: Two Subsonic Instance at same time

PostPosted: Thu Jun 09, 2016 1:02 am
by cult_hero13
I'm coming to this thread even later, but hopefully someone finds this useful. I figured out how to run 2 instances on the same computer; one for my main instance, and one for testing. This example will assume you haven't installed Subsonic yet and will be on OS X. This is only an example, but I'm sure at least some of the information will be pertinent for Windows or Linux.

    1. Download the installer file(s). In my case I needed 5.3 and 6.0, so I downloaded 1 of each.
    2. Install the first one, but don't start it up yet.
    3. Change "/Applications/Subsonic" to something like "/Applications/Subsonic-5.3"
    4. Navigate to /Applications/Subsonic.app/Contents and edit the Info.plist file. Since I'm comfortable using command line, I found it easiest to use the Terminal application.
    5. Find the line that reads:
    Code: Select all
    <string>-Dsubsonic.home=/Library/Application Support/Subsonic</string>
    Change it to something like:
    Code: Select all
    <string>-Dsubsonic.home=/Library/Application Support/Subsonic-5.3</string>
    I used "Subsonic-5.3" to indicate the version number.
    6. Find the line that reads:
    Code: Select all
    <string>-Dsubsonic.port=4040</string>
    Change it to read:
    Code: Select all
    <string>-Dsubsonic.port=0</string>
    This is the HTTP port number. I ALWAYS change my Subsonic instance to use HTTPS.
    7. Find the line below that reads:
    Code: Select all
    <string>-Dsubsonic.httpsPort=0</string>
    Change the "0" to the port you'd like to run this instance on. This is the HTTPS port.
    8. Save the changes to your file.
    9. Navigate to /Library/Application Support and create a folder that matches the name you gave in step 5. In this example, Subsonic-5.3.

Repeat these steps for the next instance you'd like to install. If it's a different version, use the appropriate installer. In step 7, use a different port than the one you used before.

In my particular case, I'm running version 5.3 and 6.0, so in my Applications folder, I have Subsonic-5.3 and Subsonic-6.0. Their Info.plist files use /Library/Application Support/Subsonic-5.3 and /Library/Application Support/Subsonic-6.0 respectively, their HTTP ports are both set to 0 as I will never use them over HTTP, and their HTTPS ports are set to 4040 and 4041 respectively. I already had 5.3 set up so for the 6.0 Application Support folder, I simply duplicated the 5.3 folder and renamed it. This allowed me to keep the same user accounts and credentials as the older installation, but changes to one will not show up in other as they are now using different databases. This allows me to test features in newer versions without having to take down an otherwise working instance.