From f300e0107597a0e910285bcfc52ba19701ced530 Mon Sep 17 00:00:00 2001 From: WilliamMiceli <9000802+WilliamMiceli@users.noreply.github.com> Date: Sat, 13 Oct 2018 13:24:33 -0400 Subject: [PATCH] Added Gogs --- templates/Gogs/0/README.md | 1 + templates/Gogs/0/docker-compose.yml | 60 +++++++++++++++++++++++ templates/Gogs/0/rancher-compose.yml | 72 ++++++++++++++++++++++++++++ templates/Gogs/config.yml | 8 ++++ 4 files changed, 141 insertions(+) create mode 100644 templates/Gogs/0/README.md create mode 100644 templates/Gogs/0/docker-compose.yml create mode 100644 templates/Gogs/0/rancher-compose.yml create mode 100644 templates/Gogs/config.yml diff --git a/templates/Gogs/0/README.md b/templates/Gogs/0/README.md new file mode 100644 index 0000000..d5927ef --- /dev/null +++ b/templates/Gogs/0/README.md @@ -0,0 +1 @@ +# Gogs \ No newline at end of file diff --git a/templates/Gogs/0/docker-compose.yml b/templates/Gogs/0/docker-compose.yml new file mode 100644 index 0000000..ae053a6 --- /dev/null +++ b/templates/Gogs/0/docker-compose.yml @@ -0,0 +1,60 @@ +version: '2' + +services: + gogs: + image: gogs/gogs:latest + dns: + - 1.1.1.1 + - 1.0.0.1 + environment: + RUN_CROND: true + SOCAT_LINK: false # Being used inside of Rancher + labels: + 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 + traefik.frontend.rule: Host:${TRAEFIK_HOST} + traefik.frontend.entryPoints: http,https +# traefik.frontend.headers.forceSTSHeader: true +# traefik.frontend.headers.SSLRedirect: true +# traefik.frontend.headers.STSPreload: true +# traefik.frontend.headers.STSSeconds: 15552000 + traefik.port: "3000" + {{- else}} + traefik.enable: false + {{- end}} + links: + - mysql + networks: + - public-proxy + ports: + - "${SSH_PORT}:22" + - "${WEB_PORT}:3000" + restart: on-failure + volumes: + - /RancherCattleData/${DATA_DIR}/Data:/data + mysql: + image: mysql:5 + dns: + - 1.1.1.1 + - 1.0.0.1 + environment: + MYSQL_DATABASE: gogs + MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS} + MYSQL_USER: gogs_user + MYSQL_PASSWORD: ${DB_USER_PASS} + labels: + io.rancher.container.pull_image: always + {{- if .Values.HOST_LABEL}} + io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} + {{- end}} + restart: on-failure + volumes: + - /RancherCattleData/${DATA_DIR}/Database:/var/lib/mysql + +networks: + public-proxy: + external: true \ No newline at end of file diff --git a/templates/Gogs/0/rancher-compose.yml b/templates/Gogs/0/rancher-compose.yml new file mode 100644 index 0000000..f8a4eaa --- /dev/null +++ b/templates/Gogs/0/rancher-compose.yml @@ -0,0 +1,72 @@ +version: '2' +catalog: + name: Gogs + version: latest + # description: + # minimum_rancher_version: + # maximum_rancher_version: + # upgrade_from: + questions: + + - variable: "HOST_LABEL" + label: "Host Label Key/Value Pair" + description: | + The Label Key/Value pair on the host which containers should be deployed + default: "host.id=Host1" + required: false + type: string + + - 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: "Web Port" + description: | + The port to access the web interface on. + default: "10500" + required: true + type: string + + - variable: "SSH_PORT" + label: "SSH Port" + description: | + The port to access the SSH server on. + default: "10522" + required: true + type: string + + - variable: "DB_ROOT_PASS" + label: "MySQL Root Password" + description: | + A secure password to be used by the "root" MySQL user. + # default: + required: true + type: password + + - variable: "DB_USER_PASS" + label: "MySQL User Password" + description: | + A secure password to be used by the "gogs_user" MySQL user. + # default: + required: true + type: password + + - variable: "DATA_DIR" + label: "Data Directory" + description: | + The directory to store persistent data for the stack. + default: "Personal/Gogs" + required: true + type: string + +services: + gogs: + scale: 1 + mysql: + scale: 1 \ No newline at end of file diff --git a/templates/Gogs/config.yml b/templates/Gogs/config.yml new file mode 100644 index 0000000..9286194 --- /dev/null +++ b/templates/Gogs/config.yml @@ -0,0 +1,8 @@ +name: Gogs +description: | + Status: EXPERIMENTAL +version: latest +# category: +maintainer: WilliamMiceli +# license: +# projectURL: \ No newline at end of file