Last reviewed: September 2026
Atlassian Bamboo is a continuous integration and delivery server that coordinates build plans, tests, artifacts, deployment projects and build agents. This guide focuses on a production-conscious Ubuntu installation without hardcoding a Bamboo or Java version that may become unsupported.
Before installation
- Choose a Bamboo release covered by your organization’s support and licensing plan.
- Check the supported platforms page for the exact Java, database, browser and operating-system requirements of that release.
- Use an external supported database for production.
- Plan HTTPS, DNS, reverse proxy and firewall rules before onboarding users.
- Create backup and recovery procedures for both Bamboo home and the database.
- Estimate local and remote agent capacity for expected build concurrency.
Directory layout
| Path | Purpose |
|---|---|
| /opt/atlassian/bamboo | Application installation files |
| /var/atlassian/application-data/bamboo | Bamboo home, configuration, caches and application data |
| /var/log/bamboo | Optional centrally managed log destination |
| /etc/systemd/system/bamboo.service | Service-management unit |
Keep the application installation and Bamboo home in separate directories. Upgrades replace application files while preserving the home directory and database.
Create a dedicated service account
sudo useradd --system --create-home --home-dir /home/bamboo --shell /usr/sbin/nologin bamboo
sudo install -d -o bamboo -g bamboo -m 0750 /opt/atlassian/bamboo
sudo install -d -o bamboo -g bamboo -m 0750 /var/atlassian/application-data/bambooInstall a supported Java runtime
Install the Java version listed for the selected Bamboo release. Do not assume an older article’s Java version remains supported.
java -version
readlink -f "$(command -v java)"Download and extract Bamboo
- Download the Linux archive from Atlassian’s official distribution channel.
- Verify the expected filename, checksum or signature when provided.
- Copy the archive to the server through an approved administrative path.
- Extract it into a versioned directory under /opt/atlassian.
- Point a stable current symlink to the active version.
- Set ownership to the dedicated Bamboo service account.
sudo tar -xzf atlassian-bamboo-release.tar.gz -C /opt/atlassian/bamboo
sudo chown -R bamboo:bamboo /opt/atlassian/bambooConfigure Bamboo home
Edit the bamboo-init.properties file inside the extracted application and set bamboo.home to the dedicated application-data directory.
bamboo.home=/var/atlassian/application-data/bambooConfigure the database
- Create a dedicated database and database account.
- Use a strong secret stored outside source control.
- Grant only the privileges required by Bamboo.
- Configure supported encoding, collation and connection parameters.
- Allow network connections only between Bamboo and the database.
- Include the database in tested backup and restore procedures.
First controlled start
Run Bamboo as the service account during initial validation. Confirm that the process writes only to intended paths and binds to the expected application port.
sudo -u bamboo /opt/atlassian/bamboo/bin/start-bamboo.sh
sudo -u bamboo /opt/atlassian/bamboo/bin/stop-bamboo.shComplete the setup wizard
- Open the Bamboo URL through the restricted administrative network path.
- Apply the valid license.
- Connect the supported external database.
- Create the initial administrator account.
- Configure the base URL and outbound mail.
- Review artifact, build and agent directories.
- Verify authentication and authorization before inviting users.
Run Bamboo as a service
Use systemd or the operating system’s standard service manager. Match the executable paths and process behavior to the installed Bamboo release, then test stop, start, restart and boot behavior before production use.
- Reload the service manager after creating the unit.
- Enable Bamboo to start automatically if required.
- Start Bamboo and verify its service status.
- Review service logs for startup errors.
- Test a controlled restart and server reboot.
Reverse proxy and HTTPS
- Terminate TLS with a trusted certificate.
- Set the public base URL consistently.
- Forward the original scheme and host headers.
- Restrict the application port from direct public access.
- Configure request-size and timeout limits for expected artifacts.
- Test redirects, callbacks, agents and repository integrations after proxy changes.
Build agents
Use agents to isolate build workloads from the Bamboo server. Separate agents by trust level, operating system, toolchain and network access. Avoid granting broad cloud or production credentials to general-purpose agents.
Security checklist
- Integrate with the approved identity provider when supported.
- Apply least-privilege global and project permissions.
- Store repository and deployment credentials in protected Bamboo credential facilities.
- Patch Bamboo, Java and plugins through a tested change process.
- Remove unused integrations and agent capabilities.
- Restrict administrative access and audit configuration changes.
- Scan build artifacts and protect deployment approvals.
Backup and recovery
- Back up the external database consistently.
- Protect Bamboo home and encryption-related configuration.
- Record application, Java and plugin versions.
- Exclude disposable caches only when documented by the selected release.
- Test restoration on an isolated server.
- Keep a rollback plan for upgrades and database changes.
Common troubleshooting
- Bamboo will not start: verify Java compatibility, file ownership, Bamboo home and service logs.
- Setup cannot connect to the database: check driver support, credentials, network rules and database configuration.
- Reverse-proxy redirect loop: verify the public base URL and forwarded protocol headers.
- Agent remains offline: inspect authentication, capabilities, Java, time and network connectivity.
- Build cannot find a tool: confirm agent capabilities, PATH and executable permissions.
- Upgrade fails: restore the pre-upgrade snapshot only according to the documented rollback plan.
Official references
Join the discussion
0 CommentsAsk questions, add context, or share what worked.
More from Melochip Editorial
Learn what Playwright testing is, why modern QA teams use it, how testers can get started, and the major types...
7 min read · Sep 19, 2026
Learn how Kubernetes Deployments and ReplicaSets work with practical YAML, scaling, self-healing, rolling upda...
7 min read · Sep 17, 2026
Learn Kubernetes security best practices with RBAC, Secrets, ServiceAccounts, Pod securityContext, NetworkPoli...
6 min read · Sep 17, 2026Related articles
Learn how Kubernetes Deployments and ReplicaSets work with practical YAML, scaling, self-healing, rolling upda...
7 min read · Sep 17, 2026
Learn Kubernetes security best practices with RBAC, Secrets, ServiceAccounts, Pod securityContext, NetworkPoli...
6 min read · Sep 17, 2026
Learn Kubernetes monitoring and logs with kubectl logs, events, metrics-server, top commands, Prometheus, Graf...
5 min read · Sep 17, 2026
Troubleshoot Kubernetes issues including Pending Pods, CrashLoopBackOff, ImagePullBackOff, service routing, in...
7 min read · Sep 17, 2026Stay in the loop. Get new Melochip articles
Receive Melochip article updates when new articles are available. Explicit opt-in only.
No comments yet. Start the discussion.