Adrian Hempel

Setting up JIRA and Confluence in minutes

Adrian Hempel talks about JIRA April 21, 2009 9:40 AM

This week's offer of $5 licenses puts JIRA and Confluence within reach of even the smallest of teams. You'd be mad not to take advantage of it.

You're probably thinking: "Yup, that's a great deal, but I how do I run it?". Anticipating this, I took some 20% time last week to find a way to get you up and running quickly. What I've worked out will get you started with no up-front costs, and running costs that can be less than $5 a week!

With a few simple steps, anyone can use Amazon's Elastic Compute Cloud (EC2) to get JIRA and Confluence up and running for their team in a matter of minutes. Let me show you how:

Setting up

Step 1: Create an Amazon Web Services account

Follow Amazon's instructions for setting up an account for use with their EC2 hosting service. Skip the part about the X.509 Certificate and the AWS Account ID, as you won't be needing them. Instead, look for your Access Key ID and Secret Access Key on the Account Identifiers page.

Make sure you record your Access Key ID and Secret Access Key, as you'll need them in step 3.

Step 2: Install Java

Make sure that you have a recent version of Java installed on your desktop PC. You may already have it.

Step 3: Download and run the Instant Atlassian tool

Download the Instant Atlassian tool to your desktop PC, and at a command line, change to the directory containing the tool and run the following command (substituting the red placeholders with the credentials you obtained in step 1):

java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" create 10

This will create a server for you, with JIRA and Confluence pre-installed, and 10 gigabytes of space for storing your data.

This tool uses the Amazon Elastic Block Store to store your data. 10 gigabytes of space will cost you $1 per month. These charges stop once you use the tool's "delete" command (described below) to delete the data.

The server will take a couple of minutes to start. During this process, it will give you two pieces of information that you need to keep a note of: The EBS Volume ID (which you'll need to stop the server, and hence the time-based charging), and the URL of your new server.

The server is a "small" EC2 instance located in the US and running Linux, so it costs 10 cents per hour (or part hour). These charges stop once you use the tool's "pause" command (described below) to shut down the server.

Step 4: Complete the JIRA and Confluence Setup Wizards

Open the server URL in your web browser, and you'll see the following page:

splash.png

From this page, you can click the JIRA and Confluence logos to navigate to the respective applications.

To start, each application will display a Setup Wizard which you will need to complete with a few details. To make your life easier, some of the options have been pre-configured for you, and are disabled in this configuration.

Step 5: Share the URL with your team

Once you've finished the Setup Wizards, share the URL of the server with the rest of your team. They can open it in their web browser and can immediately get to work with JIRA and Confluence.

When you're done

Cutting costs by pausing and resuming

Your team might not need 24x7 access to JIRA and Confluence, so there's a lot of potential to cut costs by pausing your Instant Atlassian server when you're not using it: A 24x7 server will cost you $16.80/week, but this drops to just $4/week if you only run the server for 40 hours a week. (Storage and data transfer costs will be additional, but in typical usage scenarios these will be negligible compared to the time-based charges.)

To pause your server, simply run the following command on your desktop PC (substituting the red placeholders with the credentials from step 1 and the volume ID from step 3):

java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" pause Your_EBS_Volume_ID

Once this command completes, your hourly charges have stopped (but your data storage charges will continue until you use the "delete" command, described in the next section).

When you need your server again, just run the following command:

java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" resume Your_EBS_Volume_ID

When this command completes, your server will be up and running again. The URL will have changed, so make a note of it, and make sure to share it with your team. (Later in the week, I'll show you how you can set up your very own customised URL that won't change when you pause and resume your server.)

Cleaning up when you're done

While your server is paused, Amazon will only be charging you for the cost of data storage. If you've followed the instructions above to create a 10 gigabyte storage allocation, this will only cost you $1 per month.

If you have finished with your server, and you're sure you no longer need any of your data, you can delete your data storage by entering the following command:

java -jar instant-atlassian-1.1.jar "Your_AWS_Access_Key_ID" "Your_AWS_Secret_Access_Key" delete Your_EBS_Volume_ID

When this command completes, your data will have been deleted, and Amazon will no longer be charging you for its storage.

Beyond the basics

These instructions should be all you need to get your team started with JIRA and Confluence.

Later in the week, I'll show you how to give your new server a customised URL of your own, how to backup and restore your data to protect against the risk of data loss, and how you might be able to reduce your costs even further by making an up-front payment.

All currency amounts are in US dollars, and were correct at the time of writing.

56 Comment(s)

Hi,
really its a easy & quick intallation.

Would be easy use the google big-table ?

By Paco at April 20, 2009 3:14 PM

Hi Paco,

Google's BigTable isn't a relational database, so it's not possible to use it to store JIRA and Confluence's data.

However, this isn't a problem: If you follow the instructions above, your JIRA and Confluence server will be automatically configured with a PostgreSQL server to store all your data.

By Adrian Hempel at April 20, 2009 3:29 PM

Very cool Adrian!

By Patrick Lightbody at April 20, 2009 4:38 PM

Excellent. Can't wait to hear how to use a domain name so it is easily accessible.

By Alister Scott at April 20, 2009 5:46 PM

You've done an awesome job with this Adrian! Respect!

By Brett Jackson at April 20, 2009 5:59 PM

This is great!!

anyone got any pointers on the stable domain name?

By danb at April 20, 2009 7:38 PM

Hi danb,

I've just followed up with a post on setting up a stable domain name.

By Adrian Hempel at April 21, 2009 7:03 AM

Does this work if I have a server on SliceHost?

By Paul at April 21, 2009 7:53 AM

Hi Paul,

At the moment, this tool only supports Amazon EC2.

By Adrian Hempel at April 21, 2009 11:48 AM

Does it matter how much CPU usage the app is using, - or simply that it is 'active' therefor it is being charged?

$16.80 is not ideal if its just sitting there idle, - for sure!

By James Head at April 21, 2009 5:14 PM

Hi James,

The charging is independent of how much CPU is being used. If a server is running, but not being used, you will still be charged at the full rate.

There are two ways to counter this:

1. Pause the server when it's not being used, using the instructions I give above.

2. You may be able to make significant savings by making an up-front lump sum payment to Amazon. I'll cover this in a later post.

By Adrian Hempel at April 21, 2009 5:57 PM

I got my confluence to use the JIRA database for authentication... I think that would be a great addition to this setup.

By danb at April 21, 2009 6:05 PM

Thanks danb,

That's a great idea.

If there's an update to the image, I'll definitely look at implementing it.

By Adrian Hempel at April 21, 2009 6:10 PM

This is good,

I recently went set up crowd, jira, and confluence on an ec2 instance. I found it was more involved than i expected to integrate the three. Any thought on adding a pre-cooked image adding crowd authentication to the mix?

By Jonathan Marston at April 21, 2009 6:49 PM

Hi Jonathan,

It's a great idea, but it's probably best that this image just contains JIRA and Confluence, as it was developed for small teams who take up this week's $5 license offer.

Crowd is a great solution for larger organisations looking to implement single-sign on, but it's probably overkill for small teams.

Maybe this is something we'll consider in the future.

By Adrian Hempel at April 21, 2009 7:03 PM

I've been asked if this configuration supports JIRA and Confluence plug-ins.

The answer is, no, not as yet. We might add support for this at a later date.

By Adrian Hempel at April 21, 2009 11:44 PM

I assume that instead of the "Your_EBS_Volume_ID" you meant the "Instance ID" for the server?

Thanks for this - great to have Confluence/Jira up and running in minutes - I love Confluence and have been meaning to test out JIRA for some task/request/issue tracking at my company. I've kept looking for an affordable wiki that I liked for my personal use, but I kept coming back to Confluence after getting fed up with the others.

By William at April 22, 2009 10:59 AM

Hi William,

The "pause" command will accept either an EC2 instance ID or an EBS volume ID (which the tool will automatically map to the attached instance ID), but it's probably simplest to use the latter, as this won't change each time you pause your server.

All other commands accept an EBS volume ID only.

By Adrian Hempel at April 22, 2009 1:38 PM

Any chance Atlassian will put together a similar integrated installer for the Jira + Confluence combo that will work on an Ubuntu server or a Windows server? Since we are limited to "standalone" versions, it would be nice to only have a single Java server instance runnning for the combo.

By Adam at April 22, 2009 7:34 PM

Hi Adam,

I'm not aware of any current plans to do so, but it sounds like a great idea to me. I'll pass it on, and we'll see what happens.

By the way, you can still use your Starter license with the WAR editions of JIRA and Confluence. The only restriction is that we're not able to provide support for this configuration. We recommend that you stay with the much simpler Standalone editions.

By Adrian Hempel at April 22, 2009 7:58 PM

Plug-in support, please!!!!

By Sean at April 24, 2009 10:02 PM

Hi Sean,

Plug-in support is definitely something that I'll be looking into.

It would be really helpful to hear which plug-ins you'd like to install. Check out the plug-ins that are available for JIRA and Confluence.

Keep your ideas coming. You can add them to the JIRA project I've created to collect feature requests. I've already added your request for plug-in support.

By Adrian Hempel at April 24, 2009 10:19 PM

Many kudos to select Postgres for this instant-on (almost) solution!

By Sam at April 26, 2009 1:55 AM

Where is the RSA key that the jar uses? I forgot to copy it when it was first displayed the first time the program ran.

By Randy Merrill at April 29, 2009 8:57 PM

Hi Randy,

There's no way to retrieve the existing private key after it is generated.

You can easily generate a new key pair by deleting the existing "instant-atlassian" key pair (I recommend you use the AWS Management Console for this task). The instant-atlassian tool will generate a new key pair next time you run it.

By Adrian Hempel at April 29, 2009 9:07 PM

How do I ssh into this instant instance? Would I have to bundle the instance on EC2 and reissue our own keypair file?

By Michael Truong at May 1, 2009 10:51 AM

These are the plugins we use all the time:
* Scaffolding plugin
* Reporting plugin
* Linking plugin
* Replace and render
* Table plugin
* Survey plugin
* Content formatting macros (especially {table} and related macros)
* Advanced Search plugin
* Label-Tools plugin

By Sean at May 1, 2009 4:43 PM

Hello,

Great post!
May I ask what happens behind scene? e.g how to do the same thing through https://console.aws.amazon.com

Thanks in advance

By Eriks at May 3, 2009 3:35 PM

Hi Michael,

No, you don't need to rebundle the instance to connect using SSH. Just follow these steps:

Take a note of the "private key" that the tool gives you the first time you use it (If you missed it, delete the "instant-atlassian" key pair from your AWS account, and run the tool again). Use this key pair with these instructions. Skip the instructions on "authorising access", as the tool has already taken care of this for you. Just be aware that any changes you make to the boot disk will be lost when you "pause" your server, as this disk is not persistent.

By Adrian Hempel at May 3, 2009 11:55 PM

Hi Eriks,

It's not possible to reproduce everything above using the AWS console, as the instant-atlassian tool passes the instance some metadata that the instance requires to attach and format an EBS volume, but here's a summary of what's going on behind the scenes:

create:
An AWS security group and key pair (each named "instant-atlassian") are created if they don't already exist.
An EBS volume is created.
An AWS instance is created from the Instant Atlassian AMI.
The EBS volume is attached, formatted and mounted in the instance.

pause:
The AWS instance is terminated.

resume:
An AWS instance is created from the Instant Atlassian AMI.
The EBS volume is attached and mounted in the instance.

delete:
The AWS instance is terminated (if one is running).
The EBS volume is deleted.

By Adrian Hempel at May 4, 2009 12:09 AM

Do the scripts assume that I'd like a US based volume. I'm in Europe and I'd like to use this in the eu-west region.

By Ian Morton at May 4, 2009 2:39 AM

Hi Ian,

Yes, the tool is currently hard-coded to locate your server and storage in the US, rather than Europe.

If you're concerned about network latency, I've been using the tool from Australia, and haven't found latency between here and the US to be a problem.

The choice of European-hosted servers is something I'll consider for any future release.

By Adrian Hempel at May 5, 2009 7:01 PM

From the UK, the ping time is around 120msec, which is quite slow. I'll keep watching.

Thanks, making progress...

IanM

By ian morton at May 7, 2009 7:32 AM

The $5 deal was great. We're now testing it out here at work. I heard people using it, but it always seem to be too expensive. Now at least we can try, and using EC2, it's a piece of cake! Thank you. GM

By Guennadi M at May 19, 2009 1:12 AM

Hi -
I created a how-to hook it up to DynDNS: http://www.ausbusiness.net/review/confluence-amazonec2-dyndns/ and how to create start up batch scripts for windows: http://www.ausbusiness.net/review/start-stop-scripts-confluence-jira-amazon-ec2/

Hope it helps.

Guennadi M

By Guennadi M at May 20, 2009 2:54 AM

Is it possible to upgrade the $5 versions to the new version 3.0, or is it back to the normal licence costs?

By ian morton at June 9, 2009 6:19 AM

Could I just confirm that it is possible to use the jiraissues macro within confluence in this configuration. I can see the XML rss feed but am getting an "APP_UNKNOWN; Unknown Application: {0}; ["confluence:2718366"]" error when I save the page.

The url is something like,
http://ec2-67-202-13-83.compute-1.amazonaws.com/jira/sr/jira.issueviews:searchrequest-xml/temp/SearchRequest.xml?pid=10000&resolution=-1&component=10000&sorter/field=priority&sorter/order=ASC&sorter/field=summary&sorter/order=DESC&tempMax=1000

Getting on really well with Confluence tho'

Thanks

IanM

By ian morton at June 9, 2009 6:24 AM

Hi Ian,

Your $5 dollar starter license entitles you to a year's worth of upgrades, so, yes, you can use it to run Confluence 3.0, released last week.

At the end of each year, you will have the option to renew your support and maintenance for another $5, which will also be donated to charity. You can find answers to other common questions about the starter license in our FAQ.

I'm working on some improvements to the Instant Atlassian tool and image now, including an upgrade to Confluence 3.0. I hope to make these available in the near future.

By Adrian Hempel at June 9, 2009 5:00 PM

adrian ... fantastic tool! i've been using it with success for the pas few weeks. the last couple days, though, when i issue a pause command, i get this:

Terminating EC2 instance i-xxxxxxxx... java.lang.Exception: Unrecognised state for EC2 instance i-xxxxxxxx: running

did aws change some response and break the tool?

thanks!

By Michael Rejniak at September 3, 2009 6:17 PM

Hi Michael,

Thanks for letting me know.

I can see the problem, and will have a fix out shortly. Your attempt to pause the instance is probably succeeding, despite the error.

Until the fix is available, you can use the AWS Console to check that your instance is being terminated properly when you use the "pause" command:

http://aws.amazon.com/console/

Cheers,
Adrian

By Adrian Hempel at September 3, 2009 8:47 PM

Hi Adrian,

I had missed the boat on the $5 JIRA license promo. I am currently looking at running JIRA on AWS. I suppose I need to get a regular license? If so does your instructions differ (Steps 1-5)? Also curious, in Step 4, assuming the instance tool is still applicable, you wrote "some of the options have been pre-configured for you, and are disabled in this configuration" - what has been disabled and which edition (Standard, Profession, Enterprise) of JIRA is packaged in the instance?

Many thanks
Lisa

By Lisa at September 28, 2009 11:40 AM

Hi Lisa,

You can use any valid JIRA Enterprise and Confluence license with the steps above, including the free personal licenses for JIRA and Confluence.

The options that have been pre-configured are the database connection details, and the location of data directories on the server.

The image includes the Enterprise edition of JIRA.

Adrian

By Adrian Hempel Author Profile Page at September 28, 2009 5:31 PM

I did this back in April. Worked great! Thanks. It would be fantastic to be able to do it again now and have JIRA 4 and Confluence 3 install from the image. Any plans to do this please?

By Alek Lotoczko at October 6, 2009 5:40 AM

Hi Alek,

Thanks for your interest. This is definitely something I would like to do.

Now that JIRA 4 has been released, I will be taking some 20% time to update Instant Atlassian with JIRA 4 and Confluence 3.

Until I have this ready, you might like to follow this guide we've developed for those who'd like to set up and integrate all of the products included in our $10 starter license offer.

By Adrian Hempel Author Profile Page at October 6, 2009 5:26 PM

We just took advantage of the $10 starter license offer and plan on deploying to AWS. We would like to use "Instant Atlassian" to create our server, but it sounds like you are still working on that. Do you have an ETA on when the new AMI might be available?

Thanks!

By Thad West at October 12, 2009 11:57 AM

Hi Thad,

I'm sorry, I can't provide an ETA for this, as it's not part of our scheduled development.

If you need a hosted solution, you should consider our hosted products, JIRA Studio, JIRA Hosted and Confluence Hosted.

JIRA Studio combines JIRA, Confluence, FishEye, Crucible and Subversion into a single, integrated product.

The benefit of our hosted products is that we look after backups, upgrades and other maintenance for you, and we provide full support should you need it.

By Adrian Hempel Author Profile Page at October 12, 2009 4:55 PM

Hi Adrian,

I bought $10 starter licenses and complete the Atlassian Dragon Quest at Amazon Cloud with EC2 and S3( for all data and configurations files). After that, I rebundle my AMI.

The problem is that the key for the atlassian products must be provide every start of the instance.

I would like to take advantage of start/stop scheme like you show at this post and then automate all process.

Can you have any tip for solve the problem of provide all license (six) for each restart ?

Thks!!

By Adilson Jardim at October 16, 2009 8:12 AM

Hi Adrian,

Sorry, disregard the problem about provide the keys. I create a new image and rebundle them. Now it works!!

Tks!!

By Adilson Jardim at October 17, 2009 5:29 AM

ZoneInfo: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/zi/ZoneInfoMappings (No such file or directory)
ZoneInfo: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/zi/ZoneInfoMappings (No such file or directory)
ZoneInfo: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/zi/ZoneInfoMappings (No such file or directory)
ZoneInfo: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/zi/ZoneInfoMappings (No such file or directory)
ZoneInfo: /System/Library/Frameworks/JavaVM.framework/Versions/1.5.0/Home/lib/zi/ZoneInfoMappings (No such file or directory)
java.lang.NullPointerException

the jar tool was run on Mac OS X 10.5 - software update says there's nothing to update, but I don't exactly trust Apple's handling of Java (like how to get JDK)

java -version
java version "1.5.0_20"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_20-b02-315)
Java HotSpot(TM) Client VM (build 1.5.0_20-141, mixed mode, sharing)

any thoughts on what's going wrong?

By Joe Shirk at October 24, 2009 12:03 PM

Hi Joe,

I don't think this problem is anything specifically to do with the Instant Atlassian tool, because it was developed and tested on a Mac.

My colleague Nick has just run into a similar problem with Java on Mac OS X 10.5. We think it might be because he has changed the "CurrentJDK" soft link.

The recommended way to change your default JDK in Mac OS X is to use /Applications/Utilities/Java Preferences, or to set the JAVA_HOME environment variable.

I hope this helps.

By Adrian Hempel Author Profile Page at November 2, 2009 3:00 PM

Extremely useful effort. A lot of new customers are setting up 10 user installations of the full Atlassian suite right now. It would be fantastic if this tool were updated to install the entire suite, deployed to an EC2 instance. It's too bad getting the suite running is difficult enough to earn people tshirts...

Any chance this could be given some priority? It can only help Atlassian's bottom line, since customers buying expensive licenses would use it too.

By Stu at November 9, 2009 6:47 AM

Any plans to make this a paid for AMI and skip the licensing requirements? Also, any plans for JIRA 4 (this is 3.13.3).

By Richard at November 13, 2009 4:40 AM

Hi Adrian, I planning to purchase the licenses but waiting on the new image with the updated version. I wonder if now you would have the ETA? This clearly generates a lot of interest but doesn't seem to get a priority,,,

By Ed at November 19, 2009 9:01 PM

@Joe, here is a link to a blog I wrote back in July about Java on Mac OS X.

http://www.rich-software.com/wp/2009/07/switching-java-versions-on-a-mac-setting-java_home-and-using-java-6-revisited/

It just might help you understand how to fix your issue.

====

Hi Adrian,

I took advantage of the $5 Confluence and JIRA offer back in April and just got around to installing Confluence on a Mac Pro behind Apache. I also am using DynDNS to make it publicly available to my small team. I have a couple questions, though. Some things are acting strangely for me when running directly from the machine that is running everything. I am accessing it via the dyndns.org domain and I do not get the dynamic search lookup feature and I get a blank search results page no matter what I type. Search works for the remote team members, though.

I suspect my issue has something to do with all the redirection going on. Confluence is running at localhost:18080 (the Server Base URL) and Apache is redirecting nicely to this using SSL on the public side. I could not find anything that helps me configure this such that everything works for me and the remote users. I've tried setting the Server Base URL to the external domain name, but then other things behave badly. FYI, the main features seem to work for me -- e.g. adding/editing pages, administering Confluence, etc. Search is the only one I can't get working - at least that's the only one I aware of at the moment.

Once I get this figured out, I'll post a blog to help others as an even less expensive way to get up and running with your most excellent tools!

Any tips on what might be wrong with my configuration? I could post the Apache and Tomcat configs, which I modeled after what I found on your site.

Thanks so much!
Rich

By Rich at December 9, 2009 12:15 PM

Hi Rich,

Thanks for the information on the Mac OS X JDK.

You should have your Confluence base URL set to match what your users actually enter in their browser to get to Confluence. If you're using SSL, make sure that it starts with "https:". Also, it needs to include the "context path", which is "/confluence/" in the Instant Atlassian setup.

So, your base URL should be something like: "https://your.host.name/confluence/".

I hope that helps you fix the problem.

By Adrian Hempel Author Profile Page at December 9, 2009 4:19 PM

Just one more vote for an update to support JIRA 4.

We have already purchased licenses for JIRA 4 and have an existing EC2 infrastructure we'd like to leverage. the 1.1 version is a great tool, but is there no other way to upgrade to JIRA 4?

By Ryan Sonnek at December 10, 2009 11:35 AM

Post a comment

If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.





Remember personal info?

Type the characters you see in the picture above.