initial commit
This commit is contained in:
parent
b9c557a65c
commit
685486015b
3 changed files with 157 additions and 0 deletions
42
README.md
Normal file
42
README.md
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
# jira-docker
|
||||
|
||||
docker-compose for jira including letsencrypt auto renewal https
|
||||
|
||||
# Description
|
||||
|
||||
With this project you can easily run jira-software inside one docker-compose including https.
|
||||
|
||||
# Prerequisite
|
||||
|
||||
* Docker needs to be installed
|
||||
|
||||
# Usage
|
||||
|
||||
## Set env variables
|
||||
|
||||
```
|
||||
export JIRA_MYSQL_ROOT_PASSWORD=__ROOT_PASSWORD__ # e.g. supersecret
|
||||
export JIRA_MYSQL_DATABASE=jiradb
|
||||
export JIRA_MYSQL_USER=jiradbuser
|
||||
export JIRA_MYSQL_PASSWORD=__JIRAUSER_PASSWORD__ # e.g. 12345
|
||||
export JIRA_HOST=__YOUR_HOSTNAME__ # e.g. jira.example.com
|
||||
export JIRA_EMAIL=__EMAIL___ # e.g. admin@jira.example.com
|
||||
|
||||
```
|
||||
|
||||
## Update dbconfig.xml
|
||||
|
||||
Replace
|
||||
* JIRA_MYSQL_USER and
|
||||
* JIRA_MYSQL_PASSWORD
|
||||
with the correct username and password like in the env variables
|
||||
|
||||
## Start it
|
||||
|
||||
* docker-compose up
|
||||
|
||||
# Contact us
|
||||
|
||||
If you need more information feel free to contact us
|
||||
|
||||
[https://froso.de](https://froso.de)
|
||||
24
dbconfig.xml
Executable file
24
dbconfig.xml
Executable file
|
|
@ -0,0 +1,24 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<jira-database-config>
|
||||
<name>defaultDS</name>
|
||||
<delegator-name>default</delegator-name>
|
||||
<database-type>mysql</database-type>
|
||||
<jdbc-datasource>
|
||||
<url>jdbc:mysql://mysql:3306/jiradb?useUnicode=true&characterEncoding=UTF8&sessionVariables=default_storage_engine=InnoDB</url>
|
||||
<driver-class>com.mysql.jdbc.Driver</driver-class>
|
||||
<username>JIRA_MYSQL_USER</username>
|
||||
<password>JIRA_MYSQL_PASSWORD</password>
|
||||
<pool-min-size>20</pool-min-size>
|
||||
<pool-max-size>20</pool-max-size>
|
||||
<pool-max-wait>30000</pool-max-wait>
|
||||
<validation-query>select 1</validation-query>
|
||||
<min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
|
||||
<time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
|
||||
<pool-max-idle>20</pool-max-idle>
|
||||
<pool-remove-abandoned>true</pool-remove-abandoned>
|
||||
<pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
|
||||
<pool-test-while-idle>true</pool-test-while-idle>
|
||||
<validation-query-timeout>3</validation-query-timeout>
|
||||
</jdbc-datasource>
|
||||
</jira-database-config>
|
||||
91
docker-compose.yaml
Normal file
91
docker-compose.yaml
Normal file
|
|
@ -0,0 +1,91 @@
|
|||
version: '3'
|
||||
# help for backup and importing
|
||||
# export
|
||||
# mysql: mysqldump -u jiradbuser -p --opt --single-transaction jiradb > "/home/server/jira-backup-sql.sql"
|
||||
# tar -zcf /home/server/jira-back-var-application-data.tar.gz /var/atlassian/application-data/jira/data &>/dev/null
|
||||
|
||||
# import
|
||||
# docker-compose up mysql
|
||||
# docker cp ./jira-backup-sql.sql mysql:/
|
||||
# docker exec -it mysql bash
|
||||
# mysql -u root -p jiradb < /jira-backup-sql.sql
|
||||
# docker-compose up jira
|
||||
# docker cp jira-backup-data.zip jira:/
|
||||
# docker exec -it jira bash
|
||||
# unzip /jira-backup-data.zip -d /var/atlassian/jira/
|
||||
# install add-ons "Tempo"
|
||||
# configure look and feel again
|
||||
|
||||
services:
|
||||
jira:
|
||||
depends_on:
|
||||
- mysql
|
||||
container_name: jira
|
||||
restart: always
|
||||
image: cptactionhank/atlassian-jira-software:7.13.0
|
||||
environment:
|
||||
- VIRTUAL_HOST=${JIRA_HOST}
|
||||
- LETSENCRYPT_HOST=${JIRA_HOST}
|
||||
- LETSENCRYPT_EMAIL=${JIRA_EMAIL}
|
||||
ports:
|
||||
- '8080:8080'
|
||||
volumes:
|
||||
- jira-data:/var/atlassian/jira # JIRA_HOME
|
||||
- ./dbconfig.xml:/var/atlassian/jira/dbconfig.xml
|
||||
networks:
|
||||
jira-network:
|
||||
|
||||
mysql:
|
||||
container_name: mysql
|
||||
restart: always
|
||||
image: mysql:5
|
||||
environment:
|
||||
- NETWORK_ACCESS=internal
|
||||
environment:
|
||||
- MYSQL_ROOT_PASSWORD="${JIRA_MYSQL_ROOT_PASSWORD}"
|
||||
- MYSQL_DATABASE="${JIRA_MYSQL_DATABASE}" # this database will be created on image startup
|
||||
- MYSQL_USER="${JIRA_MYSQL_USER}" # this user will be granted superuser permissions on MYSQL_DATABASE
|
||||
- MYSQL_PASSWORD="${JIRA_MYSQL_PASSWORD}"
|
||||
volumes:
|
||||
- mysql-data:/var/lib/mysql
|
||||
networks:
|
||||
jira-network:
|
||||
|
||||
nginx-proxy:
|
||||
image: jwilder/nginx-proxy
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
labels:
|
||||
- "com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy"
|
||||
volumes:
|
||||
- /var/run/docker.sock:/tmp/docker.sock:ro
|
||||
- nginx-vhost.d:/etc/nginx/vhost.d
|
||||
- nginx-vhost.d:/usr/share/nginx/html
|
||||
- nginx-certs:/etc/nginx/certs:ro
|
||||
networks:
|
||||
- jira-network
|
||||
restart: always
|
||||
|
||||
letsencrypt:
|
||||
image: jrcs/letsencrypt-nginx-proxy-companion
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||
- nginx-certs:/etc/nginx/certs:rw
|
||||
- nginx-vhost.d:/etc/nginx/vhost.d
|
||||
- nginx-vhost.d:/usr/share/nginx/html
|
||||
networks:
|
||||
- jira-network
|
||||
restart: always
|
||||
|
||||
|
||||
networks:
|
||||
jira-network:
|
||||
driver: bridge
|
||||
|
||||
volumes:
|
||||
jira-data:
|
||||
mysql-data:
|
||||
nginx-vhost.d:
|
||||
nginx-share.html:
|
||||
nginx-certs:
|
||||
Loading…
Add table
Add a link
Reference in a new issue