Deploy Jira & Confluence based on postgre database

Service planning

Service nameData directoryAccess port / data portClient access address
Postgre/data/atlassian/postgre/postgreData254323.1.101.36:25432
Jira/data/atlassian/jira80803.1.101.36:8080
Confluence/data/atlassian/confluence8090/80913.1.101.36:8090

Basic environment configuration

Create application data directory

mkdir -pv /data/atlassian/postgre/postgreData
mkdir -pv /data/atlassian/confluence/{data,logs}
mkdir -pv /data/atlassian/jira/{data,logs}
chown 2002.2002 /data/atlassian/confluence -R
chown 2001.2001 /data/atlassian/jira -R

Create docker compose configuration file directory

mkdir -pv /data/docker-compose/atlassian/{postgre,jira,confluence}

Docker compose configuration

cat > /data/docker-compose/atlassian/postgre/docker-compose.yml << EOF
version: "3"
services:
  atlassian_db:
    container_name: atlassian_db
    image: postgres:9.6.21
    restart: always
    ports:
      - 5432:5432
    volumes:
      - /etc/localtime:/etc/localtime
      - /data/atlassian/postgre/postgreData:/var/lib/postgresql/data
    environment:
      - POSTGRES_PASSWORD=123456
    deploy:
      resources:
        limits:
           memory: 2G
        reservations:
           memory: 1G      
    networks:
      - atlassian
networks:
  atlassian:
EOF

Start Postgres

docker-compose up -d

Create database and authorize

# Enter atlassian_db container
docker-compose exec atlassian_db /bin/bash

# Login database
su - postgres
psql

# Create jira user data and authorize
create user jiraadmin with password 'jirapwd';
create database jiradb owner jiraadmin;
grant all privileges on database jiradb to jiraadmin;

# Create conference user data and authorize
create user confluenceadmin with password 'confluencepwd';
create database confluencedb owner confluenceadmin;
grant all privileges on database confluencedb to confluenceadmin;

Jira deployment

Docker compose configuration

cat > /data/docker-compose/atlassian/jira/docker-compose.yml << EOF
version: "3"
services:
  jira:
    container_name: jira
    image: atlassian/jira-software:8.14
    restart: always
    ports:
      - 8080:8080
    volumes:
      - /etc/localtime:/etc/localtime
      - /data/atlassian/jira/data:/var/atlassian/application-data/jira
      - /data/atlassian/jira/logs:/opt/atlassian/jira/logs
    environment:
      JVM_MINIMUM_MEMORY: 1024m
      JVM_MAXIMUM_MEMORY: 2048m
      JVM_RESERVED_CODE_CACHE_SIZE: 512m
    deploy:
      resources:
        limits:
           memory: 4G
        reservations:
           memory: 1G
    networks:
      - atlassian
networks:
  atlassian:
EOF

Start JIRA

docker-compose up -d

Free (PJ) method

  1. PJ package download

atlassian-extras-3.2.jar download address

Extraction code: txpp

  1. Crack package upload
docker cp atlassian-extras-3.2.jar jira:/opt/atlassian/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-3.2.jar
docker exec jira chmod +r /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-3.2.jar
docker exec jira ls /opt/atlassian/jira/atlassian-jira/WEB-INF/lib/atlassian-extras-3.2.jar -l

Install JIRA

Restart the container and all imported jar packages will take effect

docker-compose restart jira

Access address:

http://3.1.101.36:8080

Language selection - > Chinese

Database information:

Connecting to databases: Other Databases
 Database type: postgre
 Host: 3.1.101.36
 Port: 5432
 Database: jiradb
 user name: jiraadmin
 password: jirapwd

Just install according to the prompt. Check whether there is a 29 day limit in the application after installation. If not, PJ is successful

Confluence deployment

Docker compose configuration

cat > /data/docker-compose/atlassian/confluence/docker-compose.yml << EOF
version: "3"
services:
  confluence:
    container_name: confluence
    image: atlassian/confluence-server:7.13.0-m03
    restart: always
    ports:
      - 8090:8090
      - 8091:8091
    volumes:
      - /etc/localtime:/etc/localtime
      - /data/atlassian/confluence/data:/var/atlassian/application-data/confluence
      - /data/atlassian/confluence/logs:/opt/atlassian/confluence/logs
    environment:
      JVM_MINIMUM_MEMORY: 1024m
      JVM_MAXIMUM_MEMORY: 2048m
      JVM_RESERVED_CODE_CACHE_SIZE: 512m
    deploy:
      resources:
        limits:
           memory: 4G
        reservations:
           memory: 1G
    networks:
      - atlassian
networks:
  atlassian:
EOF

Start Conference

docker-compose up -d

Free (PJ) method

Access address: http://3.1.101.36:8090

Go to the enter authorization code page and do the following

  1. Export Jar package
1. from docker Export container to server,And rename to atlassian-extras-2.4.jar
docker cp confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar /usr/local/src/atlassian-extras-2.4.jar
2. Export from server to windows environment
 take atlassian-extras-2.4.jar copy to windows environment(Already installed jdk environment)
  1. Download PJ file

confluence_keygen download address

Download code: zsu5

  1. Generate a new jar package
stay win Environmental execution confluence_keygen.jar
 Enter in the pop-up box NAME and ServerID(Is the server in the authorization page ID)
Then click patch,choice atlassian-extras-2.4.jar,click gen Generate authorization code,Save authorization code; After the authorization code is generated, the original atlassian-extras-2.4.jar backups,Then generate a new atlassian-extras-2.4.jar
  1. Upload jar package
1. New atlassian-extras-2.4.jar Upload to server
2. Import from server docker container
docker cp atlassian-extras-2.4.jar confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
docker exec confluence chmod +r /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar
docker exec confluence ls -l /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.4.1.jar

Install confluence

Restart the container and all imported jar packages will take effect

docker-compose restart confluence

Restart the docker container (load the newly imported jar package), repeat the above login operation, enter the authorization page, enter the authorization code saved above, and click next

Configuration database

  • Database selection Postgres

Connection mode (select any one)

  • Connect via IP
Hostname: 3.1.101.36
Port: 5432
Database name: confluencedb
Username: confluenceadmin
Password: confluencepwd
  • Connect via JDBC
Database URL: jdbc:mysql://3.1.101.36:5432/confluencedb?useUnicode=true&characterEncoding=utf8
Username: confluenceadmin
Password: confluencepwd

Connect to the database and prompt success! Successfully connected to the database. That is, the mysql connection is successful. Click Next and wait for the installation to succeed

Install free plug-ins

  • Online installation

Management - > Application Management - > search plug-in - > installation

  • Offline installation

Plug in download address

Search plug-in - > Download Free Version (Data Center version) - > save to local

Management - > Application Management - > upload application - > upload plug-ins

Confluence connects with Jira users

Add applications to each other

Login Confluence:

Management - > application link. Add the configuration of jira here according to the prompt. The local authentication mode is - OAuth (simulation)

According to the prompt, switch to jira and add the configuration of Confluence

Jira user configuration

Add Jira user server

Management - > User Management - > JIRA user server - > add application - > according to the prompt data application name and password,

  • For the same server, fill in the docker container IP of Confluence,

  • If the server is unavailable, fill in the docker container host IP

Otherwise, the following error will be reported when connecting

Connection test failed. Response from server:
com.atlassian.crowd.exception.ApplicationPermissionException: Forbidden (403) Occurs when the page is loaded "403 - Forbidden" error client.forbidden.exception Convert to Jira homepage

To view container IP commands:

docker inspect Container name

Configure Jira user group

Add the conference administrators and conference users user groups respectively (used to log in to conference), and add corresponding users in the groups

Other permission settings:

1. Administration->application program->Group authorization in application access
2. Administration->problem->More detailed permissions are configured in the permission scheme,Or add a permission scheme
3. project->Project settings->Permissions call different permission schemes according to different projects

Confluence user directory configuration

  1. Add user directory

Management - > User Management - > user directory add Directory - > select atlas jira - > enter the name (from yourself), jira server address, user name and password of the user server defined above according to the prompt - > test - Test and save

  1. Adjust user directory order

Adjust the added jira user directory to the first place and check the user. If there is no synchronization, click manual synchronization

Other permission settings:

Administration->user&In safety, Configure global and spatial permissions for user groups

##Test verification

Create a new user group g1 and a new user u1 in JIRA, add u1 to g1 group and conference users group, and configure the corresponding permissions. Click the application navigator in the upper left corner, switch to conflict, and log in with this user. If you can log in normally, it proves that conflict calls JIRA user successfully

Reference link

https://www.cwiki.us/display/CONFLUENCEWIKI/Connecting+to+Crowd+or+Jira+for+User+Management

Keywords: Docker Confluence jira

Added by casbboy on Wed, 02 Feb 2022 05:11:45 +0200