2019-08-14 23:22:52 +00:00
|
|
|
|
[Atlassian Confluence Server][1]
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
Confluence Server is where you create, organise and discuss work with your
|
|
|
|
|
team. Capture the knowledge that's too often lost in email inboxes and shared
|
|
|
|
|
network drives in Confluence <20> where it's easy to find, use, and update. Give
|
|
|
|
|
every team, project, or department its own space to create the things they need,
|
|
|
|
|
whether it's meeting notes, product requirements, file lists, or project plans,
|
|
|
|
|
you can get more done in Confluence.
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
|
|
|
|
Learn more about Confluence Server: <https://www.atlassian.com/software/confluence>
|
2016-05-31 07:21:14 +00:00
|
|
|
|
|
|
|
|
|
You can find the repository for this Dockerfile at <https://hub.docker.com/r/atlassian/confluence-server>
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
|
|
|
|
# Overview
|
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
This Docker container makes it easy to get an instance of Confluence up and
|
|
|
|
|
running.
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
|
|
|
|
# Quick Start
|
|
|
|
|
|
2019-08-13 02:28:06 +00:00
|
|
|
|
For the directory in the environmental variable `CONFLUENCE_HOME` that is used
|
|
|
|
|
to store Confluence data (amongst other things) we recommend mounting a host
|
2019-08-14 23:22:52 +00:00
|
|
|
|
directory as a [data volume][2]:
|
2019-08-13 02:28:06 +00:00
|
|
|
|
|
|
|
|
|
Additionally, if running Confluence in Data Center mode it is required that a
|
|
|
|
|
shared filesystem is mounted. The mountpoint (inside the container) can be
|
|
|
|
|
configured with `CONFLUENCE_SHARED_HOME`.
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
|
|
|
|
Start Atlassian Confluence Server:
|
|
|
|
|
|
2016-10-27 03:03:46 +00:00
|
|
|
|
$> docker run -v /data/your-confluence-home:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 atlassian/confluence-server
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
2016-05-31 07:21:14 +00:00
|
|
|
|
|
2019-08-14 23:27:43 +00:00
|
|
|
|
**Success**. Confluence is now available on <http://localhost:8090>*
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
Please ensure your container has the necessary resources allocated to it. We
|
|
|
|
|
recommend 2GiB of memory allocated to accommodate the application server. See
|
|
|
|
|
[Supported Platforms][4] for further information.
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_* Note: If you are using `docker-machine` on Mac OS X, please use `open http://$(docker-machine ip default):8090` instead._
|
|
|
|
|
|
2017-08-29 11:14:34 +00:00
|
|
|
|
## Memory / Heap Size
|
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
If you need to override Confluence Server's default memory allocation, you can
|
|
|
|
|
control the minimum heap (Xms) and maximum heap (Xmx) via the below environment
|
|
|
|
|
variables.
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
|
|
|
|
* `JVM_MINIMUM_MEMORY` (default: 1024m)
|
|
|
|
|
|
|
|
|
|
The minimum heap size of the JVM
|
|
|
|
|
|
|
|
|
|
* `JVM_MAXIMUM_MEMORY` (default: 1024m)
|
|
|
|
|
|
|
|
|
|
The maximum heap size of the JVM
|
|
|
|
|
|
2019-08-08 00:48:07 +00:00
|
|
|
|
## Tomcat and Reverse Proxy Settings
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-07 23:24:08 +00:00
|
|
|
|
If Confluence is run behind a reverse proxy server (e.g. a load-balancer or
|
|
|
|
|
nginx server), then you need to specify extra options to make Confluence aware
|
|
|
|
|
of the setup. They can be controlled via the below environment variables.
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-07 23:24:08 +00:00
|
|
|
|
* `ATL_PROXY_NAME` (default: NONE)
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-07 23:24:08 +00:00
|
|
|
|
The reverse proxy's fully qualified hostname. `CATALINA_CONNECTOR_PROXYNAME`
|
|
|
|
|
is also supported for backwards compatability.
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-07 23:24:08 +00:00
|
|
|
|
* `ATL_PROXY_PORT` (default: NONE)
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-13 02:18:08 +00:00
|
|
|
|
The reverse proxy's port number via which Confluence is
|
2019-08-07 23:24:08 +00:00
|
|
|
|
accessed. `CATALINA_CONNECTOR_PROXYPORT` is also supported for backwards
|
|
|
|
|
compatability.
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-07 23:24:08 +00:00
|
|
|
|
* `ATL_TOMCAT_PORT` (default: 8090)
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-13 02:18:08 +00:00
|
|
|
|
The port for Tomcat/Confluence to listen on. Depending on your container
|
2019-08-07 23:24:08 +00:00
|
|
|
|
deployment method this port may need to be
|
|
|
|
|
[exposed and published][docker-expose].
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-07 23:24:08 +00:00
|
|
|
|
* `ATL_TOMCAT_SCHEME` (default: http)
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-14 22:52:45 +00:00
|
|
|
|
The protocol via which Confluence is accessed. `CATALINA_CONNECTOR_SCHEME` is also
|
2019-08-07 23:24:08 +00:00
|
|
|
|
supported for backwards compatability.
|
2018-10-11 23:43:29 +00:00
|
|
|
|
|
2019-08-07 23:24:08 +00:00
|
|
|
|
* `ATL_TOMCAT_SECURE` (default: false)
|
|
|
|
|
|
|
|
|
|
Set 'true' if `ATL_TOMCAT_SCHEME` is 'https'. `CATALINA_CONNECTOR_SECURE` is
|
|
|
|
|
also supported for backwards compatability.
|
|
|
|
|
|
|
|
|
|
* `ATL_TOMCAT_CONTEXTPATH` (default: NONE)
|
|
|
|
|
|
|
|
|
|
The context path the application is served over. `CATALINA_CONTEXT_PATH` is
|
|
|
|
|
also supported for backwards compatability.
|
|
|
|
|
|
|
|
|
|
The following Tomcat/Catalina options are also supported. For more information,
|
|
|
|
|
see https://tomcat.apache.org/tomcat-7.0-doc/config/index.html.
|
|
|
|
|
|
|
|
|
|
* `ATL_TOMCAT_MGMT_PORT` (default: 8000)
|
|
|
|
|
* `ATL_TOMCAT_MAXTHREADS` (default: 200)
|
|
|
|
|
* `ATL_TOMCAT_MINSPARETHREADS` (default: 10)
|
|
|
|
|
* `ATL_TOMCAT_CONNECTIONTIMEOUT` (default: 20000)
|
|
|
|
|
* `ATL_TOMCAT_ENABLELOOKUPS` (default: false)
|
|
|
|
|
* `ATL_TOMCAT_PROTOCOL` (default: HTTP/1.1)
|
|
|
|
|
* `ATL_TOMCAT_ACCEPTCOUNT` (default: 10)
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
|
|
|
|
## JVM configuration
|
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
If you need to pass additional JVM arguments to Confluence such as specifying a
|
|
|
|
|
custom trust store, you can add them via the below environment variable
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
|
|
|
|
* `JVM_SUPPORT_RECOMMENDED_ARGS`
|
|
|
|
|
|
|
|
|
|
Additional JVM arguments for Confluence
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
2019-08-14 22:52:45 +00:00
|
|
|
|
docker run -e JVM_SUPPORT_RECOMMENDED_ARGS=-Djavax.net.ssl.trustStore=/var/atlassian/application-data/confluence/cacerts -v confluenceVolume:/var/atlassian/application-data/confluence --name="confluence" -d -p 8090:8090 -p 8091:8091 atlassian/confluence-server
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2019-08-13 02:18:08 +00:00
|
|
|
|
## Confluence-specific settings
|
|
|
|
|
|
|
|
|
|
* `ATL_AUTOLOGIN_COOKIE_AGE` (default: 1209600; two weeks, in seconds)
|
|
|
|
|
|
|
|
|
|
The maximum time a user can remain logged-in with 'Remember Me'.
|
|
|
|
|
|
|
|
|
|
* `CONFLUENCE_HOME`
|
|
|
|
|
|
|
|
|
|
The confluence home directory. This may be on an mounted volume; if so it
|
|
|
|
|
should be writable by the user `confluence`. See note below about UID
|
|
|
|
|
mappings.
|
|
|
|
|
|
|
|
|
|
## Database configuration
|
|
|
|
|
|
|
|
|
|
It is optionally possible to configure the database from the environment,
|
|
|
|
|
avoiding the need to do so through the web startup screen.
|
|
|
|
|
|
|
|
|
|
The following variables are all must all be supplied if using this feature:
|
|
|
|
|
|
|
|
|
|
* `ATL_JDBC_URL`
|
|
|
|
|
|
|
|
|
|
The database URL; this is database-specific.
|
|
|
|
|
|
|
|
|
|
* `ATL_JDBC_USER`
|
|
|
|
|
|
|
|
|
|
The database user to connect as.
|
|
|
|
|
|
|
|
|
|
* `ATL_JDBC_PASSWORD`
|
|
|
|
|
|
|
|
|
|
The password for the database user.
|
|
|
|
|
|
|
|
|
|
* `ATL_DB_TYPE`
|
|
|
|
|
|
|
|
|
|
The type of database; valid supported values are:
|
|
|
|
|
|
|
|
|
|
* `mssql`
|
|
|
|
|
* `mysql`
|
|
|
|
|
* `oracle12c`
|
|
|
|
|
* `postgresql`
|
|
|
|
|
|
|
|
|
|
The following variables are for the database connection pool, and are
|
|
|
|
|
optional.
|
|
|
|
|
|
|
|
|
|
* `ATL_DB_POOLMINSIZE` (default: 20)
|
|
|
|
|
* `ATL_DB_POOLMAXSIZE` (default: 100)
|
|
|
|
|
* `ATL_DB_TIMEOUT` (default: 30)
|
|
|
|
|
* `ATL_DB_IDLETESTPERIOD` (default: 100)
|
|
|
|
|
* `ATL_DB_MAXSTATEMENTS` (default: 0)
|
|
|
|
|
* `ATL_DB_VALIDATE` (default: false)
|
|
|
|
|
* `ATL_DB_ACQUIREINCREMENT` (default: 1)
|
|
|
|
|
* `ATL_DB_VALIDATIONQUERY` (default: "select 1")
|
|
|
|
|
|
|
|
|
|
## Data Center configuration
|
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
This docker image can be run as part of a [Data Center][5] cluster. You can
|
|
|
|
|
specify the following properties to start Confluence as a Data Center node,
|
|
|
|
|
instead of manually configuring a cluster. See [Installing Confluence Data
|
|
|
|
|
Center][6] for more information.
|
2019-08-13 02:18:08 +00:00
|
|
|
|
|
|
|
|
|
### Cluster configuration
|
|
|
|
|
|
|
|
|
|
Confluence Data Center allows clustering via various methods. For more
|
2019-08-14 23:22:52 +00:00
|
|
|
|
information on the setting for each type see [this page][7].
|
2019-08-13 02:18:08 +00:00
|
|
|
|
|
|
|
|
|
#### Common cluster settings
|
|
|
|
|
|
|
|
|
|
* `ATL_CLUSTER_TYPE`
|
|
|
|
|
|
|
|
|
|
The cluster type. Setting this effectively enables clustering. Valid values
|
|
|
|
|
are `aws`, `multicast`, and `tcp_ip`.
|
|
|
|
|
|
|
|
|
|
* `ATL_CLUSTER_NAME`
|
|
|
|
|
|
|
|
|
|
The cluster name; this should be common across all nodes.
|
|
|
|
|
|
|
|
|
|
* `ATL_PRODUCT_HOME_SHARED`
|
|
|
|
|
|
|
|
|
|
The location of the shared home directory for all Confluence nodes. **Note**:
|
|
|
|
|
This must be real shared filesystem that is mounted inside the
|
|
|
|
|
container. Additionally, see the note about UIDs.
|
|
|
|
|
|
|
|
|
|
* `ATL_CLUSTER_TTL`
|
|
|
|
|
|
|
|
|
|
The time-to-live for cluster packets. Primarily of use in multicast clusters.
|
|
|
|
|
|
2019-08-14 22:52:45 +00:00
|
|
|
|
#### AWS cluster settings
|
2019-08-13 02:18:08 +00:00
|
|
|
|
|
|
|
|
|
The following should be populated from the AWS environment.
|
|
|
|
|
|
|
|
|
|
* `ATL_HAZELCAST_NETWORK_AWS_IAM_ROLE`
|
|
|
|
|
* `ATL_HAZELCAST_NETWORK_AWS_IAM_REGION`
|
|
|
|
|
* `ATL_HAZELCAST_NETWORK_AWS_HOST_HEADER`
|
2019-08-13 04:21:29 +00:00
|
|
|
|
* `ATL_HAZELCAST_NETWORK_AWS_SECURITY_GROUP`
|
2019-08-13 02:18:08 +00:00
|
|
|
|
* `ATL_HAZELCAST_NETWORK_AWS_TAG_KEY`
|
|
|
|
|
* `ATL_HAZELCAST_NETWORK_AWS_TAG_VALUE`
|
|
|
|
|
|
|
|
|
|
#### TCP cluster settings
|
|
|
|
|
|
|
|
|
|
* `ATL_CLUSTER_PEERS`
|
|
|
|
|
|
|
|
|
|
A comma-separated list of peer IPs.
|
|
|
|
|
|
|
|
|
|
#### Multicast cluster settings
|
|
|
|
|
|
|
|
|
|
* `ATL_CLUSTER_ADDRESS`
|
|
|
|
|
|
2019-08-14 22:52:45 +00:00
|
|
|
|
The multicast address the the cluster will communicate on.
|
2019-08-13 02:18:08 +00:00
|
|
|
|
|
|
|
|
|
# Shared directory and user IDs
|
|
|
|
|
|
|
|
|
|
By default the Confuence application runs as the user `confluence`, with a UID
|
|
|
|
|
and GID of 2002. Consequently this UID must have write access to the shared
|
|
|
|
|
filesystem. If for some reason a different UID must be used, there are a number
|
|
|
|
|
of options available:
|
|
|
|
|
|
|
|
|
|
* The Docker image can be rebuilt with a different UID.
|
|
|
|
|
* Under Linux, the UID can be remapped using
|
2019-08-14 23:22:52 +00:00
|
|
|
|
[user namespace remapping][8].
|
2017-08-29 11:14:34 +00:00
|
|
|
|
|
2016-05-26 04:29:16 +00:00
|
|
|
|
# Upgrade
|
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
To upgrade to a more recent version of Confluence Server you can simply stop the
|
|
|
|
|
`Confluence` container and start a new one based on a more recent image:
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
|
|
|
|
$> docker stop confluence
|
|
|
|
|
$> docker rm confluence
|
|
|
|
|
$> docker run ... (see above)
|
|
|
|
|
|
|
|
|
|
As your data is stored in the data volume directory on the host, it will still
|
|
|
|
|
be available after the upgrade.
|
|
|
|
|
|
|
|
|
|
_Note: Please make sure that you **don't** accidentally remove the `confluence`
|
|
|
|
|
container and its volumes using the `-v` option._
|
|
|
|
|
|
|
|
|
|
# Backup
|
|
|
|
|
|
2019-08-13 02:18:08 +00:00
|
|
|
|
For evaluating Confluence you can use the built-in database that will store its
|
|
|
|
|
files in the Confluence Server home directory. In that case it is sufficient to
|
|
|
|
|
create a backup archive of the directory on the host that is used as a volume
|
|
|
|
|
(`/data/your-confluence-home` in the example above).
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
Confluence's [automatic backup][9] is currently supported in the Docker
|
|
|
|
|
setup. You can also use the [Production Backup Strategy][10] approach if you're
|
|
|
|
|
using an external database.
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
Read more about data recovery and backups: [Site Backup and Restore][11]
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
|
|
|
|
# Versioning
|
2018-11-28 01:34:43 +00:00
|
|
|
|
|
2016-05-26 04:29:16 +00:00
|
|
|
|
The `latest` tag matches the most recent release of Atlassian Confluence Server.
|
2019-08-13 02:18:08 +00:00
|
|
|
|
So `atlassian/confluence-server:latest` will use the newest stable version of
|
|
|
|
|
Confluence Server available.
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
2019-08-13 02:18:08 +00:00
|
|
|
|
Alternatively, you can use a specific minor version of Confluence Server by
|
|
|
|
|
using a version number tag: `atlassian/confluence-server:6.13`. This will
|
|
|
|
|
install the latest `6.13.x` version that is available.
|
2016-06-03 03:10:49 +00:00
|
|
|
|
|
2019-08-13 02:18:08 +00:00
|
|
|
|
For the latest developer (EAP) release use
|
|
|
|
|
`atlassian/confluence-server:eap`. This will install our latest milestone (not
|
|
|
|
|
supported for use in production).
|
2018-11-28 01:34:43 +00:00
|
|
|
|
|
2019-08-13 02:18:08 +00:00
|
|
|
|
For example, `atlassian/confluence-server:6.13-ubuntu-18.04-adoptopenjdk8` will
|
|
|
|
|
install the latest 6.13.x version with AdoptOpenJDK 8.
|
2016-05-26 04:29:16 +00:00
|
|
|
|
|
2016-06-09 03:22:16 +00:00
|
|
|
|
# Support
|
2016-06-20 23:55:48 +00:00
|
|
|
|
|
2019-08-14 22:52:45 +00:00
|
|
|
|
These Confluence Docker images are presented as a technical preview, and not
|
|
|
|
|
recommended for critical production deployments. However if you are interested
|
2019-08-14 23:23:59 +00:00
|
|
|
|
in deploying with containers we would be interested in hearing your feedback.
|
2016-06-20 23:55:48 +00:00
|
|
|
|
|
2019-08-14 23:22:52 +00:00
|
|
|
|
Note that these images are built on the [AdoptOpenJDK][12] images. Prior to
|
|
|
|
|
Confluence 6.13 OpenJDK was not a supported platform. See [the 6.13
|
|
|
|
|
release-notes][13] for more information.
|
|
|
|
|
|
|
|
|
|
[1]: https://www.atlassian.com/dam/wac/legacy/confluence_logo_landing.png
|
|
|
|
|
[2]: https://docs.docker.com/userguide/dockervolumes/#mount-a-host-directory-as-a-data-volume
|
|
|
|
|
[4]: https://confluence.atlassian.com/display/DOC/Supported+platforms
|
|
|
|
|
[5]: https://confluence.atlassian.com/doc/confluence-data-center-technical-overview-790795847.html
|
|
|
|
|
[6]: https://confluence.atlassian.com/doc/installing-confluence-data-center-203603.html
|
|
|
|
|
[7]: https://confluence.atlassian.com/doc/change-node-discovery-from-multicast-to-tcp-ip-or-aws-792297728.html#ChangeNodeDiscoveryfromMulticasttoTCP/IPorAWS-TochangefromTCP/IPtomulticast
|
|
|
|
|
[8]: https://docs.docker.com/engine/security/userns-remap/
|
|
|
|
|
[9]: https://confluence.atlassian.com/display/DOC/Configuring+Backups
|
|
|
|
|
[10]: https://confluence.atlassian.com/display/DOC/Production+Backup+Strategy
|
|
|
|
|
[11]: https://confluence.atlassian.com/display/DOC/Site+Backup+and+Restore
|
|
|
|
|
[12]: https://adoptopenjdk.net/
|
|
|
|
|
[13]: https://confluence.atlassian.com/doc/confluence-6-13-release-notes-959288785.html
|