Confluence/Jira roles: add READMEs, switch to custom images, proxy/JVM envs, and integer-safe heap sizing

Confluence: README added; demo disables OIDC/LDAP; Dockerfile overlay; docker-compose now uses CONFLUENCE_CUSTOM_IMAGE and DB depends include; env.j2 adds ATL_* and JVM_*; vars use integer math (//) for Xmx/Xms and expose CUSTOM_IMAGE.

Jira: initial role skeleton with README, config/meta/tasks; Dockerfile overlay; docker-compose using JIRA_CUSTOM_IMAGE and DB depends include; env.j2 with proxy + JVM envs; vars with integer-safe memory sizing.

Context: https://chatgpt.com/share/68b6b592-2250-800f-b68e-b37ae98dbe70
This commit is contained in:
2025-09-02 12:07:34 +02:00
parent bc56940e55
commit 188b098503
15 changed files with 265 additions and 29 deletions

View File

@@ -0,0 +1,8 @@
FROM "{{ JIRA_IMAGE }}:{{ JIRA_VERSION }}"
# Optional: install OIDC SSO app (example path/name)
# COPY ./plugins/atlassian-sso-dc-latest.obr /opt/atlassian/jira/atlassian-bundled-plugins/
# Ensure proper permissions for app data
RUN mkdir -p /var/atlassian/application-data/jira && \
chown -R 2001:2001 /var/atlassian/application-data/jira

View File

@@ -0,0 +1,23 @@
{% include 'roles/docker-compose/templates/base.yml.j2' %}
application:
build:
context: .
dockerfile: Dockerfile
image: "{{ JIRA_CUSTOM_IMAGE }}"
container_name: "{{ JIRA_CONTAINER }}"
hostname: '{{ JIRA_HOSTNAME }}'
ports:
- "127.0.0.1:{{ ports.localhost.http[application_id] }}:8080"
volumes:
- 'data:/var/atlassian/application-data/jira'
{% include 'roles/docker-container/templates/healthcheck/curl.yml.j2' %}
{% include 'roles/docker-container/templates/base.yml.j2' %}
{% include 'roles/docker-container/templates/depends_on/dmbs_excl.yml.j2' %}
{% include 'roles/docker-container/templates/networks.yml.j2' %}
{% include 'roles/docker-compose/templates/volumes.yml.j2' %}
data:
name: {{ JIRA_DATA_VOLUME }}
{% include 'roles/docker-compose/templates/networks.yml.j2' %}

View File

@@ -0,0 +1,31 @@
## Jira core
JIRA_URL="{{ JIRA_URL }}"
## Database
JIRA_DATABASE_NAME="{{ database_name }}"
JIRA_DATABASE_USER="{{ database_username }}"
JIRA_DATABASE_PASSWORD="{{ database_password }}"
JIRA_DATABASE_HOST="{{ database_host }}"
JIRA_DATABASE_PORT="{{ database_port }}"
ATL_PROXY_NAME={{ JIRA_HOSTNAME }}
ATL_PROXY_PORT={{ WEB_PORT }}
ATL_TOMCAT_SCHEME={{ WEB_PROTOCOL }}
ATL_TOMCAT_SECURE={{ (WEB_PORT == 443) | lower }}
JVM_MINIMUM_MEMORY={{ JIRA_JVM_MIN }}
JVM_MAXIMUM_MEMORY={{ JIRA_JVM_MAX }}
## OIDC
{% if JIRA_OIDC_ENABLED %}
JIRA_OIDC_TITLE="{{ JIRA_OIDC_LABEL | replace('\"','\\\"') }}"
JIRA_OIDC_ISSUER="{{ JIRA_OIDC_ISSUER }}"
JIRA_OIDC_AUTHORIZATION_ENDPOINT="{{ JIRA_OIDC_AUTH_URL }}"
JIRA_OIDC_TOKEN_ENDPOINT="{{ JIRA_OIDC_TOKEN_URL }}"
JIRA_OIDC_USERINFO_ENDPOINT="{{ JIRA_OIDC_USERINFO_URL }}"
JIRA_OIDC_END_SESSION_ENDPOINT="{{ JIRA_OIDC_LOGOUT_URL }}"
JIRA_OIDC_JWKS_URI="{{ JIRA_OIDC_JWKS_URL }}"
JIRA_OIDC_CLIENT_ID="{{ JIRA_OIDC_CLIENT_ID }}"
JIRA_OIDC_CLIENT_SECRET="{{ JIRA_OIDC_CLIENT_SECRET }}"
JIRA_OIDC_SCOPES="{{ JIRA_OIDC_SCOPES }}"
JIRA_OIDC_UNIQUE_ATTRIBUTE="{{ JIRA_OIDC_UNIQUE_ATTRIBUTE }}"
{% endif %}