skip to Main Content

I’m recently trying to get a local Jira instance run in a docker container on an Apple Silicone M1 chip.

I’m using Postgres for the database (also tried mariaDB) and an arm image of Jira that I’ve found on GitHub.
However, whenever I docker-compose the setup I run into an error 500 "Error writing database configuration file."
Both, Jira and the DB container seem to start up fine.

I guess that the database might be not reachable but I have no idea how to check that.

TLDR: How can I check whether my DB is reachable to my Jira container OR rather how to fix the error 500 from Jira "Error writing database configuration file."

Below is the compose file I’m using:

services:
  jira:
    dchevell/jira-software-arm64
    #image: ghcr.io/eugenmayer/jira:${JIRA_VERSION}
    depends_on:
      - db
    container_name: jirasoftwarevomeugen
    volumes:
      - jiradata:/var/atlassian/jira
    ports:
      - '80:8080'
    environment:
      - 'JIRA_DATABASE_URL=postgresql://jira@db/jiradb'
      - 'JIRA_DB_PASSWORD=jellyfish'
      - 'CATALINA_OPTS= -Xms256m -Xmx1g'
      - 'JIRA_PROXY_NAME='
      - 'JIRA_PROXY_PORT='
      - 'JIRA_PROXY_SCHEME='
      # need for the wait-for-db statement
      - 'JIRA_DB_HOST=db'
      - 'JIRA_DB_PORT=5432'

  db:
    image: postgres
    hostname: postgresql
    volumes:
      - postgresqldata:/var/lib/postgresql/data
    environment:
      - 'POSTGRES_USER=jira'
      - 'POSTGRES_PASSWORD=jellyfish'
      - 'POSTGRES_DB=jiradb'
      - 'POSTGRES_ENCODING=UTF8'
      - 'POSTGRES_COLLATE=C'
      - 'POSTGRES_COLLATE_TYPE=C'
# uncomment this to run against mysql
#  db:
#    image: mariadb:10.3
#    hostname: mysql
#    volumes:
#      - mysqldata:/var/lib/mysql
#    environment:
#      - 'MYSQL_ROOT_PASSWORD=verybigsecretrootpassword'
#      - 'MYSQL_DATABASE=jiradb'
#      - 'MYSQL_USER=jira'
#      - 'MYSQL_PASSWORD=jellyfish'
volumes:
  jiradata:
    external: false
  postgresqldata:
    external: false
  mysqldata:
    external: false
  newdb:
    external: false

2

Answers


  1. When Jira starts up, it will try to write configuration files into the Jira data directory. This type of problem can occur if the directory you have mounted is not writable by the Jira user.

    You may want to investigate the UID:GID of the Jira user in the image you have chosen, then spin up a standalone container to run a shell (which also mounts the jiradata container), chown -R the mounted directory to the correct user:group (if it is not what you expect), and then try restarting Jira.

    Login or Signup to reply.
  2. I took a build in arm architecture and uploaded it to the hub. You can access it here. You can use the following docker compose as an example.

    version: "3.1" 
        
     volumes:
    
       jira_volume:
       postgres_volume:
    
    services:
    
      postgres:
        image: postgres:10
        ports:
          - 5435:5432
        volumes:
          - postgres_volume:/var/lib/postgresql/data
        environment:
          POSTGRES_PASSWORD: admin
    
      jira:
        image: yasinmert/atlassian-jira-software-arm64
        ports:
          - 7030:8080
        volumes:
          - jira_volume:/var/atlassian/application-data/jira
        environment:
          ATL_TOMCAT_CONTEXTPATH: /jira
          ATL_JDBC_URL: jdbc:postgresql://postgres:5432/jira
          ATL_JDBC_USER: postgres
          ATL_JDBC_PASSWORD: admin
          ATL_DB_DRIVER: org.postgresql.Driver
        depends_on:
          - postgres  
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search