I'm incredibly frustrated. I've been trying to migrate our Bitbucket server from a local VM to AWS and I can't get it to work. I started with https://confluence.atlassian.com/bitbucketserver/administering-bitbucket-server-in-aws-776640308.html then used the server template from https://confluence.atlassian.com/bitbucketserver/quick-start-with-bitbucket-server-and-aws-776640254.html. We backed up our existing server using Bitbucket Server Backup Client so I went to https://confluence.atlassian.com/bitbucketserver/using-the-bitbucket-server-backup-client-776640064.html#UsingtheBitbucketServerBackupClient-runrestore.
But here's where I started to have trouble. The server seemed to have a demo project in /var/atlassian/application-data/bitbucket but the additional storage (200GB) appeared under /media/atl/bitbucket/:
$ df -hl
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 80K 1.9G 1% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
/dev/xvda1 50G 43G 6.9G 87% /
/dev/xvdb 15G 39M 15G 1% /media/ephemeral0
tank/atlassian-home 193G 66M 193G 1% /media/atl
tank 193G 0 193G 0% /tank
I stopped the server:
sudo -u atlbitbucket /opt/atlassian/bitbucket/bin/stop-bitbucket.sh
then tried using:
sudo -u atlbitbucket /opt/atlassian/bitbucket/bin/set-bitbucket-home.sh /media/atl/bitbucket
I couldn't figure out the parameters for the restore. After some guesswork I took the username and password from /var/atlassian/application-data/bitbucket/shared/bitbucket.properties, then guessed at the database host and port:
sudo java -Djdbc.override=true -Djdbc.driver=org.postgresql.Driver -Djdbc.url=jdbc:postgresql://localhost/bitbucket -Djdbc.user=atlbitbucket -Djdbc.password=#### -Dbitbucket.home=/media/atl/bitbucket/ -jar bitbucket-restore-client.jar bitbucket-20181024-233703-804.tar
But then I got "The target database contains tables whose names collide with Bitbucket's tables. Please migrate to a clean, empty database."
So I used:
sudo -u atlbitbucket psql -d bitbucket -U atlbitbucket
then this code to clear the database https://stackoverflow.com/a/36023359/264822
I finally got the restore to work and I reran the server but now when I open the URL it redirects to http://127.0.0.1:7990/setup. It's likely that one of my previous steps has screwed something up but I have no idea because of the complete lack of documentation around this.
Does anyone have any experience with this? Once I get the damned thing working I'm going to write up a blog post so nobody else has to go through this stupidity.
Hi @tomisaacson and Community!
We've just built the beta of a solution to help ease migrations from Server/Data-Center-on-prem to Data-Center-on-AWS-Quickstarts.
Would you be interested to join our beta program and try out this solution? If you're interested, or would like to find out more, please email me at echan@atlassian.com.
That looks like Bitbucket can't talk to the database, so it's starting up as if it was a fresh install.
Can you check your database connection settings in your bitbucket.properties?
Also check /var/atlassian/application-data/bitbucket/log/atlassian-bitbucket.log to see if there are any connection errors shown there.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
/media/atl/bitbucket/shared/bitbucket.properties:
jdbc.url=jdbc\:postgresql\://localhost/bitbucket
jdbc.driver=org.postgresql.Driver
I can't see anything that looks like an error in the log, but not sure what I'm looking for.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
jdbc.driver=org.postgresql.Driver
# primary db url
jdbc.url=jdbc:postgresql://localhost:5432/bitbucket
Maybe try and add the port number as above..
Also, I see that you are using a non-standard install location, as in /media instead of /var. That complicates things slightly. Make sure the shell scipts in /opt/atlassian/bitbucket/5.15.0/bin/ are using the /media path rather than /var.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
How do I know what the port number is? That's part of my problem, none of this is documented in the setup instructions.
I'm using a non-standard install location because I need more storage in my VM and that's where AWS adds it. How else should I be doing this?
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
The default port is 5432 for postgres. You can confirm that postgres is running on that port with:
netstat -anp | grep 5432
Let's make that change first and go from there.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.