cptactionhank / docker-atlassian-jira Goto Github PK
View Code? Open in Web Editor NEWAtlassian JIRA Core wrapped in a Docker image
Home Page: https://cptactionhank.github.io/docker-atlassian-jira
License: MIT License
Atlassian JIRA Core wrapped in a Docker image
Home Page: https://cptactionhank.github.io/docker-atlassian-jira
License: MIT License
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.
Since moving to 7.8.0 with alpine, we're getting NullPointerException errors when displaying some gadgets on dashboards. Googling around, it appears this may be directly related to openjdk in alpine.
Hey it seems this url has a lot of random words from "configuring system properties". Even when I browse using a private browser.
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!
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?
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
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?
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:
*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"]
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?
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
hi,
there is any example with docker-compose to how integrate jira and bitbucket together ?
regards
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
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.
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
using your fastlane-start command on archlinux
Docker version 1.8.1, build d12ea79
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?
Thanks for this excellent project.
Not reporting a code issue, but the documentation on dockerhub seems to be corrupted, see
https://cptactionhank.github.io/docker-atlassian-jira/#configuring-system-properties
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 :)
I am reading the README file of this project and I only see that you say use run
that's it?
This is a great image! You may consider to also provide docker tags for the EAP releases (Early Access Program).
The download URL follows the same pattern, so an update of your version variable may do the trick (ENV JIRA_VERSION 7.0.0-m01
).
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
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.
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
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. 👍
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.
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.
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?
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 !
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?
Implement this:
cptactionhank/docker-atlassian-confluence#19
and create acceptance tests for these environment variables
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)
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?
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
Hey, the /opt/atlassian/jira/logs directory owner changed from daemon:daemon to bin:bin after docker run:
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
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?
Have you thought about adding the possibility to link a database container?
Otherwise I had to get the IP of the database container manually and add during the setup process of JIRA. Also when the IP of the database changes I had to manually reconfigure JIRA.
See: https://bitbucket.org/atlassianlabs/atlassian-docker/src/9da1818bd2415d8cf7da4b354151cd6ad42b0f92/jira/launch.bash?at=master
What do you think about this?
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!
Isn't the java docker base deprecated?
I cannot find the /conf/server.xml file in order to configure JIRA
This is useful for nginx reverse proxying stuff (see guide below)
https://confluence.atlassian.com/jirakb/integrating-jira-with-nginx-426115340.html
https://cptactionhank.github.io/docker-atlassian-jira/#configuring-system-properties:
This doesn't look like very helpful documentation:
Physical vehicle A.I. corrupted Legba-ware franchise city plastic human. Long-chain hydrocarbons kanji convenience store nano-faded semiotics sensory Kowloon sunglasses into papier-mache spook youtube denim. Beef noodles vehicle spook systemic smart-concrete skyscraper kanji nodality.
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?
Are there any plans to add support for JIRA-Software package any time soon?
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.
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 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.
The automated build has a failing unit test because the version of tomcat is incompatible with the version of libtcnative.
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
7.3.0 was released on 3rd January, but CircleCI has not built this version.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.