Giter Club home page Giter Club logo

docker-atlassian-jira's People

Contributors

cptactionhank avatar dpash avatar fmauneko avatar jeffallen avatar kayrus avatar patrick-remy avatar soupdiver avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

docker-atlassian-jira's Issues

Setup finishes then container stops?

Some background:
I've tried running this with the database option.
Postgres running on another container in same machine, test connection during setup phase works.

After it gets to the "Company Setup" page the docker container stops?

I'm using a vultr instance with 1gb ram.

Older Postgres ODBC driver blocking engagement with Postgres 9.6

I spinned up this image today as a first experience with Docker (yay!).

In the process, I also used a Postgres docker image, which happened to be the latest, 9.6.1.

I consistently kept getting the error when setting up the admin account: "Cannot create user, all the user directories are read-only".

Users on the Atlassian support noted that using the latest ODBC driver resolved this for them:

I have been able to fix this for Jira Core by replacing postgresql-9.1-903.jdbc4-atlassian-hosted.jar in folder /opt/atlassian/jira/lib with postgresql-9.4.1212.jar from the Postgres JDBC download page, https://jdbc.postgresql.org/download.html

I hope this can be something added to a newer version of the image in future.

Thanks for a great image!

keeps restarting

Using basic config to run

version: '3'

services:
  app:
    restart: always
    image: cptactionhank/atlassian-jira:latest
    ports:
      - 9090:8080
    volumes:
      - ./docker/server.xml:/var/atlassian/jira/conf

It takes a while to open setup window, then it start restarting container exited with code 137, how can I make it work?

Container time zone - what is root pw?

Is there a way to change the time zone from UTC to anything else?

I tried sudo cp /usr/share/zoneinfo/America/Chicago /etc/localtime but get the following:
cp: cannot create regular file ‘/etc/localtime’: Permission denied

I can't do "su - root" as i get this below:
su: must be run from a terminal

I found a workaround for that but still don't know the password for root or su:
Password:
su: Authentication failure

Adding additional Certificate Authorities

I've been making use of these containers to deploy JIRA and so far it has really improved our environment. So thank you for that.

Though we effectively have to maintain a fork of your project because our company has a private CA that it uses for all internal assets. This comes into play because of LDAP authentication. When connecting to our LDAP server it does not trust the SSL connection.

Thankfully though installing the CA is not too difficult.

diff --git a/Dockerfile b/Dockerfile
index 10c0bad..8fd9ee7 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -33,6 +33,11 @@ RUN set -x \
     && echo -e                 "\njira.home=$JIRA_HOME" >> "${JIRA_INSTALL}/atlassian-jira/WEB-INF/classes/jira-application.properties" \
     && touch -d "@0"           "${JIRA_INSTALL}/conf/server.xml"

+## Add Company Root Certificates
+ADD Company-Private-Issuing-CA-01.crt /usr/local/share/ca-certificates
+ADD Company-Private-Root-CA-02.crt /usr/local/share/ca-certificates
+RUN update-ca-certificates
+

The point is I'd really love to see some mechanism added to these containers so that we no longer need to maintain the fork.

Do you have any thoughts or suggestions on general solution to this problem, i.e., something that I could submit for inclusion?

Alpine variant?

Have you considered making an Alpine variant of these images available? Since your images are already based off of java:8, making an alpine variant is very simple.

I was able to make a fully functioning alpine variant of the jira container with a few minor tweaks to the Dockerfile, and I shrunk the container footprint from ~1.02GB -> 488MB, cutting the storage burden by more than half.

Three main tweaks are required:

  1. Extend openjdk:8-alpine instead of java:8
  2. Convert apt-get entries -> alpine's apk package manager
  3. Created a dedicated jira user/group

*Note: This user has uid 100:1000. If you moved to this image and had persistent storage on a volume, you may have to fix permissions with chown -R 100:1000, but I was otherwise able to cut over seamlessly.

Everything seems to work fine with half the storage burden.

FROM openjdk:8-alpine

# Configuration variables.
ENV JIRA_HOME     /var/atlassian/jira
ENV JIRA_INSTALL  /opt/atlassian/jira
ENV JIRA_VERSION  7.3.1

# Install Atlassian JIRA and helper tools and setup initial home
# directory structure.
RUN set -x \
    && apk --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/main --repository http://dl-cdn.alpinelinux.org/alpine/edge/community add coreutils sed bash curl tar xmlstarlet tomcat-native \
    && addgroup jira \
    && adduser -S -G jira jira \
    && mkdir -p                "${JIRA_HOME}" \
    && mkdir -p                "${JIRA_HOME}/caches/indexes" \
    && chmod -R 700            "${JIRA_HOME}" \
    && chown -R jira:jira      "${JIRA_HOME}" \
    && mkdir -p                "${JIRA_INSTALL}/conf/Catalina" \
    && curl -Ls                "https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-core-${JIRA_VERSION}.tar.gz" | tar -xz --directory "${JIRA_INSTALL}" --strip-components=1 --no-same-owner \
    && curl -Ls                "https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.38.tar.gz" | tar -xz --directory "${JIRA_INSTALL}/lib" --strip-components=1 --no-same-owner "mysql-connector-java-5.1.38/mysql-connector-java-5.1.38-bin.jar" \
    && rm -f                   "${JIRA_INSTALL}/lib/postgresql-9.1-903.jdbc4-atlassian-hosted.jar" \
    && curl -Ls                "https://jdbc.postgresql.org/download/postgresql-9.4.1212.jar" -o "${JIRA_INSTALL}/lib/postgresql-9.4.1212.jar" \
    && chmod -R 700            "${JIRA_INSTALL}/conf" \
    && chmod -R 700            "${JIRA_INSTALL}/logs" \
    && chmod -R 700            "${JIRA_INSTALL}/temp" \
    && chmod -R 700            "${JIRA_INSTALL}/work" \
    && chown -R jira:jira      "${JIRA_INSTALL}/conf" \
    && chown -R jira:jira      "${JIRA_INSTALL}/logs" \
    && chown -R jira:jira      "${JIRA_INSTALL}/temp" \
    && chown -R jira:jira      "${JIRA_INSTALL}/work" \
    && sed --in-place          "s/java version/openjdk version/g" "${JIRA_INSTALL}/bin/check-java.sh" \
    && echo -e                 "\njira.home=$JIRA_HOME" >> "${JIRA_INSTALL}/atlassian-jira/WEB-INF/classes/jira-application.properties" \
    && touch -d "@0"           "${JIRA_INSTALL}/conf/server.xml"

# Use a specified service account
USER jira:jira

# Expose default HTTP connector port.
EXPOSE 8080

# Set volume mount points for installation and home directory. Changes to the
# home directory needs to be persisted as well as parts of the installation
# directory due to eg. logs.
VOLUME ["/var/atlassian/jira", "/opt/atlassian/jira/logs"]

# Set the default working directory as the installation directory.
WORKDIR /var/atlassian/jira

COPY "docker-entrypoint.sh" "/"
ENTRYPOINT ["/docker-entrypoint.sh"]

# Run Atlassian JIRA as a foreground process by default.
CMD ["/opt/atlassian/jira/bin/catalina.sh", "run"]

Upload files with whitespace in the filename

In dashboard Jira replaces whitespace with +, and in detailed mode with %20.
In your Docker version + works, but %20 gives error saying wrong URL.

Is this issue related to your installation or Jira?

jira cannot connect to marketpalce while running in container

Hi ,

I have proxy config set on the host , when I run jira in docker it cannot connect to marketplace , even when I do net=host.

Do I need to insert the http proxy info somewhere in jira configurations?

I am not yet sure about jira , but facing the same problem in confluence dockerization a week ago , I had to put the proxy info into catalina.properties.

thanks

Update Apache Tomcat APR

Sep 12, 2014 7:27:17 PM org.apache.catalina.core.AprLifecycleListener init
SEVERE: An incompatible version 1.1.29 of the APR based Apache Tomcat Native library is installed, while Tomcat requires version 1.1.30

Mapping volumes to host directories fails

The following fails to work

docker run --rm -p 8080:8080 \
  -v /var/atlassian/jira:/var/atlassian/jira \
  -v /opt/atlassian/jira:/opt/atlassian/jira \
  cptactionhank/atlassian-jira:latest

Using a docker volume copies the existing data into the volume. Mapping to a directory behaves like a normal unix mount and the existing data is not copied.

Looking at the Dockerfile there is not really an obvious solution. A bit of setup would need to be moved to the first time the container was started perhaps.

runing in a persistent manner

How to run an image and not re-configure jira after each restart?
I read documentation, realizing a very small part of it.
Could it be more strict forward explanation with a examples, please?

Just didn't get, where it stores state, if running from an image as you described:
docker run --detach --publish 8080:8080 cptactionhank/atlassian-jira:latest

Thanks

Jira 7.9.0 availability

Jira 7.9.0 has just become available. It looks like there is an automated builder that finds, changes, and commits the update of the Jira version. How and when does that get kicked off?

Should the install dir be a volume?

I'm thinking about if the JIRA_INSTALL directory should be a volume or not.
I've got a data-only container which is also based on this image.
Since JIRA_INSTALL and JIRA_HOME are volumes I can't upgrade my JIRA container and reuse my data container because the old install folder would be reused.
So I have to export the data and recreate everything to upgrade JIRA.

So maybe it would be better to not use JIRA_INSTALL as a volume.

What do you think about this? Or correct me if I'm wrong :)

Outgoing mail failing

Hi, I'm getting this error while trying to send a test mail:

An error has occurred with sending the test email:
com.atlassian.mail.MailException: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.zoho.com, 587; timeout 10000;
nested exception is:
java.net.SocketTimeoutException: connect timed out
at com.atlassian.mail.server.impl.SMTPMailServerImpl.sendWithMessageId(SMTPMailServerImpl.java:225)
at com.atlassian.mail.server.impl.SMTPMailServerImpl.send(SMTPMailServerImpl.java:162)
at com.atlassian.jira.plugins.mail.webwork.SendTestMail.doExecute(SendTestMail.java:107)
at webwork.action.ActionSupport.execute(ActionSupport.java:165)
at com.atlassian.jira.action.JiraActionSupport.execute(JiraActionSupport.java:63)
at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:39)
at webwork.interceptor.NestedInterceptorChain.proceed(NestedInterceptorChain.java:31)
at webwork.interceptor.ChainedInterceptor.intercept(ChainedInterceptor.java:16)
at webwork.interceptor.DefaultInterceptorChain.proceed(DefaultInterceptorChain.java:35)
at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:225)
at webwork.dispatcher.GenericDispatcher.executeAction(GenericDispatcher.java:154)
at com.atlassian.jira.web.dispatcher.JiraWebworkActionDispatcher.service(JiraWebworkActionDispatcher.java:141)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.JiraLastFilter.lambda$doFilter$0(JiraLastFilter.java:35)
at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:74)
at com.atlassian.jira.web.filters.JiraLastFilter.doFilter(JiraLastFilter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.XContentTypeOptionsNoSniffFilter.doFilter(XContentTypeOptionsNoSniffFilter.java:20)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.core.filters.HeaderSanitisingFilter.doFilter(HeaderSanitisingFilter.java:37)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.jira.onboarding.postsetup.ui.PostSetupAnnouncementsFilter.doFilter(PostSetupAnnouncementsFilter.java:51)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.jira.tzdetect.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:77)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.jira.baseurl.IncludeResourcesFilter.doFilter(IncludeResourcesFilter.java:38)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:24)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.greenhopper.jira.filters.ClassicBoardRouter.doFilter(ClassicBoardRouter.java:62)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.mywork.client.filter.ServingRequestsFilter.doFilter(ServingRequestsFilter.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFixupFilter.doFilter(PrettyUrlsSiteMeshFixupFilter.java:32)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.prettyurls.filter.PrettyUrlsDispatcherFilter.doFilter(PrettyUrlsDispatcherFilter.java:55)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.prettyurls.filter.PrettyUrlsSiteMeshFilter.doFilter(PrettyUrlsSiteMeshFilter.java:79)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.prettyurls.filter.PrettyUrlsMatcherFilter.doFilter(PrettyUrlsMatcherFilter.java:51)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.labs.botkiller.BotKillerFilter.doFilter(BotKillerFilter.java:36)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:70)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.executeRequest(AccessLogFilter.java:92)
at com.atlassian.jira.web.filters.accesslog.AccessLogFilter.doFilter(AccessLogFilter.java:78)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.security.xsrf.XsrfTokenAdditionRequestFilter.doFilter(XsrfTokenAdditionRequestFilter.java:49)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.obtainContent(SiteMeshFilter.java:181)
at com.opensymphony.sitemesh.webapp.SiteMeshFilter.doFilter(SiteMeshFilter.java:85)
at com.atlassian.jira.web.filters.SitemeshPageFilter.doFilter(SitemeshPageFilter.java:112)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.pagebuilder.PageBuilderFilter.doFilter(PageBuilderFilter.java:81)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.CommittedResponseHtmlErrorRecoveryFilter.doFilter(CommittedResponseHtmlErrorRecoveryFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:56)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:70)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.mau.AbstractMauRequestTaggingFilter.doFilter(AbstractMauRequestTaggingFilter.java:40)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.MauEventFilter.doFilter(MauEventFilter.java:49)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.security.JiraSecurityFilter.lambda$doFilter$0(JiraSecurityFilter.java:76)
at com.atlassian.seraph.filter.SecurityFilter.doFilter(SecurityFilter.java:242)
at com.atlassian.jira.security.JiraSecurityFilter.doFilter(JiraSecurityFilter.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.security.auth.trustedapps.filter.TrustedApplicationsFilter.doFilter(TrustedApplicationsFilter.java:103)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.seraph.filter.BaseLoginFilter.doFilter(BaseLoginFilter.java:148)
at com.atlassian.jira.web.filters.JiraLoginFilter.doFilter(JiraLoginFilter.java:82)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.oauth.serviceprovider.internal.servlet.OAuthFilter.doFilter(OAuthFilter.java:79)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:56)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:70)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.util.profiling.filters.ProfilingFilter.doFilter(ProfilingFilter.java:99)
at com.atlassian.jira.web.filters.JIRAProfilingFilter.doFilter(JIRAProfilingFilter.java:16)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.johnson.JiraJohnsonFilter.doFilter(JiraJohnsonFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:176)
at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.servermetrics.CorrelationIdPopulatorFilter.doFilter(CorrelationIdPopulatorFilter.java:30)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:39)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.analytics.client.filter.JiraAnalyticsFilter.doFilter(JiraAnalyticsFilter.java:42)
at com.atlassian.analytics.client.filter.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:39)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.web.servlet.plugin.request.RedirectInterceptingFilter.doFilter(RedirectInterceptingFilter.java:21)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.web.servlet.plugin.LocationCleanerFilter.doFilter(LocationCleanerFilter.java:36)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:58)
at com.atlassian.prettyurls.filter.PrettyUrlsCombinedMatchDispatcherFilter.doFilter(PrettyUrlsCombinedMatchDispatcherFilter.java:56)
at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:64)
at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:37)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:70)
at com.atlassian.plugin.servlet.filter.ServletFilterModuleContainerFilter.doFilter(ServletFilterModuleContainerFilter.java:58)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:74)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.core.filters.cache.AbstractCachingFilter.doFilter(AbstractCachingFilter.java:31)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.core.filters.encoding.AbstractEncodingFilter.doFilter(AbstractEncodingFilter.java:39)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at com.atlassian.jira.web.filters.PathMatchingEncodingFilter.doFilter(PathMatchingEncodingFilter.java:41)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.startup.JiraStartupChecklistFilter.doFilter(JiraStartupChecklistFilter.java:62)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.MultipartBoundaryCheckFilter.doFilter(MultipartBoundaryCheckFilter.java:36)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.servermetrics.MetricsCollectorFilter.doFilter(MetricsCollectorFilter.java:25)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.steps.ChainedFilterStepRunner.doFilter(ChainedFilterStepRunner.java:74)
at com.atlassian.jira.web.filters.JiraFirstFilter.doFilter(JiraFirstFilter.java:59)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.gzipfilter.GzipFilter.doFilterInternal(GzipFilter.java:115)
at com.atlassian.gzipfilter.GzipFilter.doFilter(GzipFilter.java:92)
at com.atlassian.jira.web.filters.gzip.JiraGzipFilter.doFilter(JiraGzipFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.atlassian.jira.web.filters.InstantUpgradeHoldingFilter.doFilter(InstantUpgradeHoldingFilter.java:99)
at com.atlassian.core.filters.AbstractHttpFilter.doFilter(AbstractHttpFilter.java:32)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2500)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2489)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
Caused by: com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.zoho.com, 587; timeout 10000;
nested exception is:
java.net.SocketTimeoutException: connect timed out
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2118)
at com.sun.mail.smtp.SMTPTransport.protocolConnect(SMTPTransport.java:712)
at javax.mail.Service.connect(Service.java:388)
at javax.mail.Service.connect(Service.java:246)
at javax.mail.Service.connect(Service.java:195)
at com.atlassian.mail.server.impl.SMTPMailServerImpl.sendWithMessageId(SMTPMailServerImpl.java:185)
... 252 more
Caused by: java.net.SocketTimeoutException: connect timed out
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:589)
at com.sun.mail.util.SocketFetcher.createSocket(SocketFetcher.java:329)
at com.sun.mail.util.SocketFetcher.getSocket(SocketFetcher.java:238)
at com.sun.mail.smtp.SMTPTransport.openServer(SMTPTransport.java:2084)
... 257 more

DEBUG: getProvider() returning javax.mail.Provider[TRANSPORT,smtps,com.sun.mail.smtp.SMTPSSLTransport,Oracle]
DEBUG SMTP: need username and password for authentication
DEBUG SMTP: protocolConnect returning false, host=smtp.zoho.com, user=daemon, password=
DEBUG SMTP: useEhlo true, useAuth true
DEBUG SMTP: trying to connect to host "smtp.zoho.com", port 587, isSSL true

Image is missing dejavu-sans-fonts

I'm getting the following exception when I try to log in:

    Caused by: java.lang.NullPointerException
    	at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) [?:1.8.0_151]
    	at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) [?:1.8.0_151]
    	at sun.awt.FontConfiguration.init(FontConfiguration.java:107) [?:1.8.0_151]
    	at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774) [?:1.8.0_151]
    	at sun.font.SunFontManager$2.run(SunFontManager.java:431) [?:1.8.0_151]
    	at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_151]
    	at sun.font.SunFontManager.<init>(SunFontManager.java:376) [?:1.8.0_151]
    	at sun.awt.FcFontManager.<init>(FcFontManager.java:35) [?:1.8.0_151]
    	at sun.awt.X11FontManager.<init>(X11FontManager.java:57) [?:1.8.0_151]
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [?:1.8.0_151]
    	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) [?:1.8.0_151]
    	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:1.8.0_151]
    	at java.lang.reflect.Constructor.newInstance(Constructor.java:423) [?:1.8.0_151]
    	at java.lang.Class.newInstance(Class.java:442) [?:1.8.0_151]
    	at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83) [?:1.8.0_151]
    	at java.security.AccessController.doPrivileged(Native Method) [?:1.8.0_151]

It seems to be caused by trying to display a captcha.

The nearest I can find is https://jira.atlassian.com/browse/BSERV-6886, which mentions missing fonts. It wouldn't surprise me that the apline image is missing fonts compared to the debian image. I'd suggest the ttf-dejavu package is the one required on alpine.

JIRA Not loading

Hello ,
I am running the Docker Image of Jira on an AWS Redhat EC2 instance .
I am using the port 8085 for my traffic .However when i visit the url JIRA welcome page does open ,but it gets stuck and keeps on loading .
I try try to refresh the page but nothing happens
When i use the Docker ps -a command i can see my container is up and running but the url stops responding.
I have to either stop or completely terminate my EC2 instance and then try again .
This has happened for quite sometime now and i presume it would not work at all .
Kindly advise on this issue

Running jira as https

I am trying to run the docker as

docker run --detach --name "jira-prod" \ --publish "8080:8080" \ --env "CATALINA_OPTS=-Xms1024m -Xmx1024m -Datlassian.plugins.enable.wait=300" \ --env "X_PROXY_NAME=jira.domain.com" \ --env "X_PROXY_SCHEME=https" \ --env "X_PROXY_PORT=443" \ cptactionhank/atlassian-jira:latest

But I can still access the instance on http and not https. Am I doing something wrong or misconfiguring somehow? I am using nginx on front, but my understanding is that it should at least run on: https://IP:PORT and then i will point my FQDN to this specific port using nginx.

Thanks a lot for the great docker image. 👍

Jira 7.3.5 port forwarding base url issue

I used the cptactionhank configuration to Jira-software 7.3.5. Jira runs on port 8080 behind a nginx proxy. Since upgrading to version 7.3.5, Jira gives an error about the "Base URL for Gadgets" in the Support Tools settings menu. The result is that dashboard gadgets have incorrect names and no descriptions.

The issue seems to be that Jira tries to contact itself from inside the Docker image to retrieve gadget information and tries to use port 80 for this. Since Jira only listens on port 8080 inside the docker image the retrieval of information fails.

I was wondering if this should be fixed by routing port 80 to 8080 inside the docker Jira image using iptables. I tried to look inside, but it seems iptables is not available inside the docker image at the moment. Is this something that can be solved, and what could be the correct way to solve it?

I tried adding X_PROXY_PORT=8080 to the docker environment. This does seem to make the Gadgets name and discription appear correctly. However, Jira comes up with a slightly different error on the dachboard page stating "Dashboard Diagnostics: Mismatched URL Port". The Base URL error in the Support Tools menu is also still present.

I also tried the solution described in issue #20, setting the X_PROXY_NAME to docker and X_PROXY_PORT to 80, but this results in a different "Dashboard Diagnostics: Mismatched URL Hostname" error about a conflict between the docker host and the host described in the Base URL settings. It also doesn't seem to fix the faulty Gadget names.

Unable to connect to external database

I have a VM set up on my local network that is accesible from my docker host, but I cannot connect to it during the initial JIRA setup using this container.

I realize that MySQL requires a special adapter be included, but I'm trying to use MSSQL (have a Postgres server running as well, but no luck there either).

The logs in the container say that it's timing out trying to connect.

I'm a newb to docker really, so is there a reason that the connection would be failing? My best guesses are that my local network is somehow being blocked within the container, or the JIRA install does not include the SQL and Postgres drivers. These are included with the default installation package though, and checking out the Dockerfile, it doesn't look like you're using the WAR.

Any help would be greatly appreciated - as I'd like to avoid having to spin up another VM just to use JIRA.

If it helps, I've tried other JIRA containers from the hub and have the same issue. I do have an ubuntu VM running JIRA (non-docker) without any issues connecting to the database server though, so I'm confused.

provide a preconfigured image

As I want to use the Jira image only for Jira API testing purposes it would be really helpful to have an image that doesn't need any further configuration in order to be accessible via Jira REST API.

Would it be possible?

JIRA can't create a lock for your jira.home directory

Hello all,

I've a wired issue, my Jira setup mount a nfs volume for Jira Home, on the first start, files are written to NFS share with the right user (daemon or uid 1 on server side), the .lock_file is also written but Jira show me this error.

I don't understand, if someone could help me.

Here is the NFS Export line from the server:
/nfs/exports/jira-home 192.168.205.0/24(rw,async,no_subtree_check,no_root_squash)

Thanks !

JIRA_HOME volume dir is mounted as root:root instead of daemon:daemon

Hello strange issue here: when starting the jira image as kubernetes pod, the JIRA_HOME volume dir is mounted as root:root instead of daemon:daemon. This only happens when the volume is mounted on a block device, eg. an external disk or iSCSI. It does not happens when the volume is mounted on a file system share as NFS or GlusterFS.

kubectl get pods
NAME                                        READY     STATUS        RESTARTS   AGE
jira-78df8bdcc-sgtbv                        0/1       Running       0          14s

kubectl exec -it jira-78df8bdcc-sgtbv bash
daemon@jira-78df8bdcc-sgtbv:/var/atlassian/jira$ ls -l
total 0
daemon@jira-78df8bdcc-sgtbv:/var/atlassian/jira$ cd ..
daemon@jira-78df8bdcc-sgtbv:/var/atlassian$ ls -lr
total 0
drwxr-xr-x 2 root root 6 Dec  5 17:10 jira

The container fails to start because it is not able to access its home directory (permission denied ERROR). Any idea?

Upgrading jira

Hi,
Ever Trier to Upgrade jira from Version 7.0 to 7.1
Does this work?
I am considering moving from an Static Instanzen to docker because of the easier scalling in instances (Running an more by using the scalling feature of docker)

Jira Software (v7)

It looks like Jira + Agile is now called jira software, and is also Jira 7.
Basicly, there is now Jira Core, Jira Software and the one with ServiceDesk.

See https://blogs.atlassian.com/2015/10/introducing-jira-software/ for more info.
I can't currently get Agile to work with this docker-container, which is the root cause of this issue.
Are you going for the "core" version of jira in the future? Or this bundle? Or the one that bundles everyone?

Unknown system variable 'storage_engine'

When I try to setup jira with mysql I get this error:

Error connecting to database
Unknown system variable 'storage_engine'

I use mysq:5.7 for the db container

volume mapping caused failure

Hey, the /opt/atlassian/jira/logs directory owner changed from daemon:daemon to bin:bin after docker run:
image

there is the log the jira started:

jira_1                  | Using JIRA_HOME:       /var/atlassian/jira
jira_1                  | 
jira_1                  | Server startup logs are located in /opt/atlassian/jira/logs/catalina.out
jira_1                  | OpenJDK 64-Bit Server VM warning: Cannot open file /opt/atlassian/jira/logs/atlassian-jira-gc-2017-09-11_02-55-04.log due to Permission denied
jira_1                  | 
jira_1                  | java.util.logging.ErrorManager: 4
jira_1                  | java.io.FileNotFoundException: /opt/atlassian/jira/logs/catalina.2017-09-11.log (Permission denied)
jira_1                  |       at java.io.FileOutputStream.open0(Native Method)
jira_1                  |       at java.io.FileOutputStream.open(FileOutputStream.java:270)
jira_1                  |       at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
jira_1                  |       at org.apache.juli.FileHandler.openWriter(FileHandler.java:384)
jira_1                  |       at org.apache.juli.FileHandler.<init>(FileHandler.java:96)
jira_1                  |       at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:78)
jira_1                  |       at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:74)
jira_1                  |       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jira_1                  |       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
jira_1                  |       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
jira_1                  |       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
jira_1                  |       at java.lang.Class.newInstance(Class.java:442)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:563)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:506)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:309)
jira_1                  |       at java.util.logging.LogManager$3.run(LogManager.java:399)
jira_1                  |       at java.util.logging.LogManager$3.run(LogManager.java:396)
jira_1                  |       at java.security.AccessController.doPrivileged(Native Method)
jira_1                  |       at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:396)
jira_1                  |       at java.util.logging.LogManager.access$800(LogManager.java:145)
jira_1                  |       at java.util.logging.LogManager$2.run(LogManager.java:345)
jira_1                  |       at java.security.AccessController.doPrivileged(Native Method)
jira_1                  |       at java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:338)
jira_1                  |       at java.util.logging.LogManager.getLogManager(LogManager.java:378)
jira_1                  |       at java.util.logging.Logger.demandLogger(Logger.java:448)
jira_1                  |       at java.util.logging.Logger.getLogger(Logger.java:502)
jira_1                  |       at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:67)
jira_1                  |       at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:187)
jira_1                  |       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:117)
jira_1                  |       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:141)
jira_1                  |       at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:196)
jira_1                  |       at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52)
jira_1                  | java.util.logging.ErrorManager: 4
jira_1                  | java.io.FileNotFoundException: /opt/atlassian/jira/logs/localhost.2017-09-11.log (Permission denied)
jira_1                  |       at java.io.FileOutputStream.open0(Native Method)
jira_1                  |       at java.io.FileOutputStream.open(FileOutputStream.java:270)
jira_1                  |       at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
jira_1                  |       at org.apache.juli.FileHandler.openWriter(FileHandler.java:384)
jira_1                  |       at org.apache.juli.FileHandler.<init>(FileHandler.java:96)
jira_1                  |       at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:78)
jira_1                  |       at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:74)
jira_1                  |       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jira_1                  |       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
jira_1                  |       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
jira_1                  |       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
jira_1                  |       at java.lang.Class.newInstance(Class.java:442)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:563)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:506)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:309)
jira_1                  |       at java.util.logging.LogManager$3.run(LogManager.java:399)
jira_1                  |       at java.util.logging.LogManager$3.run(LogManager.java:396)
jira_1                  |       at java.security.AccessController.doPrivileged(Native Method)
jira_1                  |       at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:396)
jira_1                  |       at java.util.logging.LogManager.access$800(LogManager.java:145)
jira_1                  |       at java.util.logging.LogManager$2.run(LogManager.java:345)
jira_1                  |       at java.security.AccessController.doPrivileged(Native Method)
jira_1                  |       at java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:338)
jira_1                  |       at java.util.logging.LogManager.getLogManager(LogManager.java:378)
jira_1                  |       at java.util.logging.Logger.demandLogger(Logger.java:448)
jira_1                  |       at java.util.logging.Logger.getLogger(Logger.java:502)
jira_1                  |       at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:67)
jira_1                  |       at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:187)
jira_1                  |       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:117)
jira_1                  |       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:141)
jira_1                  |       at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:196)
jira_1                  |       at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52)
jira_1                  | java.util.logging.ErrorManager: 4
jira_1                  | java.io.FileNotFoundException: /opt/atlassian/jira/logs/manager.2017-09-11.log (Permission denied)
jira_1                  |       at java.io.FileOutputStream.open0(Native Method)
jira_1                  |       at java.io.FileOutputStream.open(FileOutputStream.java:270)
jira_1                  |       at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
jira_1                  |       at org.apache.juli.FileHandler.openWriter(FileHandler.java:384)
jira_1                  |       at org.apache.juli.FileHandler.<init>(FileHandler.java:96)
jira_1                  |       at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:78)
jira_1                  |       at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:74)
jira_1                  |       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jira_1                  |       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
jira_1                  |       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
jira_1                  |       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
jira_1                  |       at java.lang.Class.newInstance(Class.java:442)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:563)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:506)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:309)
jira_1                  |       at java.util.logging.LogManager$3.run(LogManager.java:399)
jira_1                  |       at java.util.logging.LogManager$3.run(LogManager.java:396)
jira_1                  |       at java.security.AccessController.doPrivileged(Native Method)
jira_1                  |       at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:396)
jira_1                  |       at java.util.logging.LogManager.access$800(LogManager.java:145)
jira_1                  |       at java.util.logging.LogManager$2.run(LogManager.java:345)
jira_1                  |       at java.security.AccessController.doPrivileged(Native Method)
jira_1                  |       at java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:338)
jira_1                  |       at java.util.logging.LogManager.getLogManager(LogManager.java:378)
jira_1                  |       at java.util.logging.Logger.demandLogger(Logger.java:448)
jira_1                  |       at java.util.logging.Logger.getLogger(Logger.java:502)
jira_1                  |       at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:67)
jira_1                  |       at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:187)
jira_1                  |       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:117)
jira_1                  |       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:141)
jira_1                  |       at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:196)
jira_1                  |       at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52)
jira_1                  | java.util.logging.ErrorManager: 4
jira_1                  | java.io.FileNotFoundException: /opt/atlassian/jira/logs/host-manager.2017-09-11.log (Permission denied)
jira_1                  |       at java.io.FileOutputStream.open0(Native Method)
jira_1                  |       at java.io.FileOutputStream.open(FileOutputStream.java:270)
jira_1                  |       at java.io.FileOutputStream.<init>(FileOutputStream.java:213)
jira_1                  |       at org.apache.juli.FileHandler.openWriter(FileHandler.java:384)
jira_1                  |       at org.apache.juli.FileHandler.<init>(FileHandler.java:96)
jira_1                  |       at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:78)
jira_1                  |       at org.apache.juli.AsyncFileHandler.<init>(AsyncFileHandler.java:74)
jira_1                  |       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jira_1                  |       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
jira_1                  |       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
jira_1                  |       at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
jira_1                  |       at java.lang.Class.newInstance(Class.java:442)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:563)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:506)
jira_1                  |       at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:309)
jira_1                  |       at java.util.logging.LogManager$3.run(LogManager.java:399)
jira_1                  |       at java.util.logging.LogManager$3.run(LogManager.java:396)
jira_1                  |       at java.security.AccessController.doPrivileged(Native Method)
jira_1                  |       at java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:396)
jira_1                  |       at java.util.logging.LogManager.access$800(LogManager.java:145)
jira_1                  |       at java.util.logging.LogManager$2.run(LogManager.java:345)
jira_1                  |       at java.security.AccessController.doPrivileged(Native Method)
jira_1                  |       at java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:338)
jira_1                  |       at java.util.logging.LogManager.getLogManager(LogManager.java:378)
jira_1                  |       at java.util.logging.Logger.demandLogger(Logger.java:448)
jira_1                  |       at java.util.logging.Logger.getLogger(Logger.java:502)
jira_1                  |       at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:67)
jira_1                  |       at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:187)
jira_1                  |       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:117)
jira_1                  |       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:141)
jira_1                  |       at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:196)
jira_1                  |       at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52)

docker compose :

  jira:
    image: cptactionhank/atlassian-jira
    ports:
      - 15000:8080
    networks:
      - jira_net
      - ci_net
    volumes:
      - /var/jira/webapp:/var/atlassian/jira
      - /var/jira/logs:/opt/atlassian/jira/logs

Upgrading to a new JIRA version

New minor versions of JIRA appear to be released every 2 weeks, however, the upgrade process is kind of convluted.

How do you upgrade your instance of JIRA? Do you follow the upgrade process described in the docs?

What do you think about automating the process?

Jira Developer Version

Whether we can have a posibility to run Docker with installed and configured atlasian-sdk with script running developer version of Jira on localhost but open to outer connections from Internet? Thanks in advance!

JIRA base url issue

Hi,

I get this error :
Dashboard Diagnostics: Mismatched URL Hostname JIRA is reporting that it is running on the hostname '172.31.11.210', which does not match the hostname used to run these diagnostics, 'my-host-name.com'. This is known to cause JIRA to construct URLs using the incorrect hostname, which will result in errors in the dashboard, among other issues. The most common cause of this is the use of a reverse-proxy HTTP server (often Apache or IIS) in front of the application server running JIRA. While this configuration is supported, some additional setup might be necessary in order to ensure that JIRA detects the correct hostname. The following articles describe the issue and the steps you should take to ensure that your web server and app server are configured correctly: Gadgets do not display correctly after upgrade to JIRA 4.0 Integrating JIRA with Apache Integrating JIRA with Apache using SSL If you believe this diagnosis is in error, or you have any other questions, please contact Atlassian Support.

I have JIRA behind Nginx proxy. So to fix this I updated the baseURL to : 'my-host-name.com'.
Some of the things got fixed, like creating new issue etc. But the dashboard does not show activity stream, and I get the above mentioned message after changing the baseURL also.

In the documentation it says we need to update server.xml file with this :

<Connector acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" port="8080" protocol="HTTP/1.1" redirectPort="8443" useBodyEncodingForURI="true" 
proxyName="jira.atlassian.com" proxyPort="80"/> 

I tried finding server.xml like so:

docker exec -it jira-docker /bin/bash
Entered JIRA docker, but could not find server.xml file to make changes.

How can we update the baseURL or fix this error?

Cannot mount volumes properly using docker-compose

I am trying to start JIRA container using compose as following:

version: '3'

services:
  jira:
    image: cptactionhank/atlassian-jira-software:latest
    container_name: jira
    ports:
      - "8080:8080"
    volumes:
      - ./installation:/opt/atlassian/jira
      - ./home:/var/atlassian/jira
    networks:
      - jira_net

when I run docker-compose up -d and then docker ps --all, it reports that jira has exited. Here is the logs:

stat: cannot stat '/opt/atlassian/jira/conf/server.xml': No such file or directory
/docker-entrypoint.sh: line 6: [: : integer expression expected
/docker-entrypoint.sh: line 21: /opt/atlassian/jira/bin/catalina.sh: No such file or directory

Which suggests that the JIRA install folder is not filled with files because I've mounted them as volumes.

ENV JIRA_VERSION in Dockerfile wrong?

https://hub.docker.com/r/cptactionhank/atlassian-jira/~/dockerfile/ lists:
ENV JIRA_VERSION 7.2.0-RC01

This is apparently incorrect.
Could this be corrected, since the ENV variable is presumably being used somewhere?

Other than just running the container, how can I ascertain from the web pages which jira version I get when pulling cptactionhank/atlassian-jira:latest? (I had presumed that I could use that ENV variable...)

(Alternatively the dockerfile at that URL could just be out of date, of course. The questions of either fixing that, or an alternative means of determining the version stay the same either way.)

JIRA raises file permission error since 7.7.2

JIRA shows the following error on upgrading from 7.7.1 to 7.7.2.

Setup: JIRA couldn't create the jira.home directory
Ensure JIRA has permission to create and write to the jira.home directory /var/atlassian/jira.
Review our documentation for more information on setting your JIRA home.

It seems the ID of running user daemon has been changed from 1 to 2 since 7.7.2, maybe due to alpine image.

I fixed owner of files under /var/atlassian/jira by the following command and JIRA works fine.

chown daemon:daemon -R /var/atlassian/jira

It would be nice if this change is documented.

Thank you for the great work.

Failed to create application links

Hello Martin

First of all i want to say thank you for the nice atlassian docker containers.
I got errors when i want to create some new application links for confluence and bitbucket.
Maybe you know that issue and can help me?

My Setup:
I use traefik for https:// and all 3 atlassian applications are running on the same docker host.

Docker code:
JIRA

docker run -d
--restart always
--name "jira.flavio-meyer.ch"
-l traefik.backend=jira
-l traefik.frontend.rule=Host:jira.flavio-meyer.ch
-l traefik.docker.network=proxy
-l traefik.port=8080
-e X_PROXY_NAME=jira.flavio-meyer.ch
-e X_PROXY_SCHEME=https
-e X_PROXY_PORT=443
-p 8080:8080
--network="internal"
--network="proxy"
--volume "/docker/atlassian/jira/data:/var/atlassian/jira"
--link mysql_atlassian:mysql_atlassian
--env "CATALINA_OPTS= -Datlassian.plugins.enable.wait=300"
cptactionhank/atlassian-jira-software:latest

Confluence

docker run -d
--restart always
--name "confluence.flavio-meyer.ch"
-l traefik.backend=confluence
-l traefik.frontend.rule=Host:confluence.flavio-meyer.ch
-l traefik.docker.network=proxy
-l traefik.port=8090
-e X_PROXY_NAME=confluence.flavio-meyer.ch
-e X_PROXY_SCHEME=https
-e X_PROXY_PORT=443
-v "/docker/atlassian/confluence:/var/atlassian/confluence"
-p 8090:8090
--network="internal"
--network="proxy"
--link mysql_atlassian:mysql_atlassian
--env "CATALINA_OPTS="
cptactionhank/atlassian-confluence:6.3.4

Thanks for helping.

Kind regards,

Flavio

error

error_1

error_2

JIRA couldn't create the jira.home directory

If any folder ist mounted on Synology Docker I got the error.
Setup: JIRA couldn't create the jira.home directory
Ensure JIRA has permission to create and write to the jira.home directory /var/atlassian/jira.
Review our documentation for more information on setting your JIRA home.
Learn more
jira error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.