diff --git a/templates/OpenProject/0/README.md b/templates/OpenProject/0/README.md index 8c69a0c..7924210 100644 --- a/templates/OpenProject/0/README.md +++ b/templates/OpenProject/0/README.md @@ -1 +1,7 @@ -# OpenProject \ No newline at end of file +# OpenProject + +https://github.com/opf/openproject/blob/dev/docs/configuration/configuration.md + +##### Default admin login +User: admin +Pass: admin \ No newline at end of file diff --git a/templates/OpenProject/0/docker-compose.yml b/templates/OpenProject/0/docker-compose.yml index 684e2df..9a3a82c 100644 --- a/templates/OpenProject/0/docker-compose.yml +++ b/templates/OpenProject/0/docker-compose.yml @@ -1,23 +1,59 @@ version: '2' + services: - openproject: - image: openproject/community:7 - volumes_from: - - openproject-data - ports: - - ${OPENPROJECT_PORT}:80 + memcached: + image: memcached:latest + dns: + - 1.1.1.1 + - 1.0.0.1 labels: io.rancher.container.pull_image: always - io.rancher.sidekicks: openproject-data - io.rancher.container.hostname_override: container_name - openproject-data: - image: openproject/community:7 - entrypoint: - - /bin/true - volumes: - - /var/lib/postgresql/9.4/main - - /var/log/supervisor - - /var/db/openproject + {{- if .Values.HOST_LABEL}} + io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} + {{- end}} + restart: on-failure + openproject: + image: openproject/community:latest + dns: + - 1.1.1.1 + - 1.0.0.1 + environment: + CACHE_MEMCACHE_SERVER: memcached + CACHE_NAMESPACE: openproject + SECRET_KEY_BASE: ${SECRET_KEY} labels: - io.rancher.container.start_once: 'true' - io.rancher.container.hostname_override: container_name \ No newline at end of file + io.rancher.container.pull_image: always + {{- if .Values.HOST_LABEL}} + io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} + {{- end}} + {{- if .Values.TRAEFIK_HOST}} + traefik.enable: true + ### Start Web Segment + traefik.web.frontend.entryPoints: http,https + traefik.web.frontend.headers.forceSTSHeader: true + traefik.web.frontend.headers.SSLRedirect: true + traefik.web.frontend.headers.STSPreload: true + traefik.web.frontend.headers.STSSeconds: 15552000 + traefik.web.frontend.redirect.entryPoint: https + traefik.web.frontend.redirect.permanent: true + traefik.web.frontend.rule: Host:${TRAEFIK_HOST} + traefik.web.port: "80" + ### End Web Segment + {{- else}} + traefik.enable: false + {{- end}} + links: + - memcached + networks: + - public-proxy # Used for the connection to the Traefik container for public access + ports: + - "${WEB_PORT}:80" + restart: on-failure + volumes: + - /RancherCattleData/${DATA_DIR}/Database:/var/lib/postgresql/9.6/main + - /RancherCattleData/${DATA_DIR}/Logs:/var/log/supervisor + - /RancherCattleData/${DATA_DIR}/Static:/var/db/openproject + +networks: + public-proxy: + external: true \ No newline at end of file diff --git a/templates/OpenProject/0/rancher-compose.yml b/templates/OpenProject/0/rancher-compose.yml index b6ede9a..8591abc 100644 --- a/templates/OpenProject/0/rancher-compose.yml +++ b/templates/OpenProject/0/rancher-compose.yml @@ -6,18 +6,46 @@ catalog: # minimum_rancher_version: # maximum_rancher_version: # upgrade_from: + # uuid: questions: - - variable: OPENPROJECT_PORT - label: Port - default: 80 - required: true - type: int + - variable: "HOST_LABEL" + label: "Host Label Key/Value Pair" + description: | + The Key/Value pair on the host which the stack should be deployed. + default: "host.id=Host1" + required: false + type: string -services: - openproject: - scale: 1 - start_on_create: true - openproject-data: - scale: 1 - start_on_create: true \ No newline at end of file + - variable: "TRAEFIK_HOST" + label: "Public Host Domain" + description: | + The host that Traefik will use to provide public access. + Leaving this empty will disable Traefik on this stack. + default: "subdomain.domain.tld" + required: false + type: string + + - variable: "WEB_PORT" + label: "Local Web Port" + description: | + The port to locally access the web interface on. + default: "10800" + required: true + type: string + + - variable: "SECRET_KEY" + label: "Secret Key Base" + description: | + A randomly generated string for encryption purposes + # default: + required: true + type: password + + - variable: "DATA_DIR" + label: "Data Directory" + description: | + The directory to store persistent data for the stack. + default: "Personal/OpenProject" + required: true + type: string \ No newline at end of file