diff --git a/templates/Nextcloud-nfs/0/README.md b/templates/Nextcloud-nfs/0/README.md new file mode 100644 index 0000000..5a626c5 --- /dev/null +++ b/templates/Nextcloud-nfs/0/README.md @@ -0,0 +1 @@ +# Nextcloud \ No newline at end of file diff --git a/templates/Nextcloud-nfs/0/docker-compose.yml b/templates/Nextcloud-nfs/0/docker-compose.yml new file mode 100644 index 0000000..fbab7c5 --- /dev/null +++ b/templates/Nextcloud-nfs/0/docker-compose.yml @@ -0,0 +1,70 @@ +version: '2' +services: + + nextcloud: + image: nextcloud:stable-apache + depends_on: + - mysql + dns: + - 1.1.1.1 + - 1.0.0.1 + environment: + MYSQL_HOST: mysql + MYSQL_DATABASE: nextcloud + MYSQL_USER: nextcloud_user + MYSQL_PASSWORD: ${DB_USER_PASS} + NEXTCLOUD_ADMIN_USER: ${NC_ADMIN} + NEXTCLOUD_ADMIN_PASSWORD: ${NC_ADMIN_PASS} + labels: + # io.rancher.container.hostname_override: container_name +{{- if (.Values.HOST_LABEL)}} + io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} +{{- end}} + traefik.enable: true + traefik.alias: cloudtest + traefik.domain: williammiceli.systems + traefik.port: 9000 + traefik.acme: true + traefik.backend: Nextcloud + traefik.frontend.entryPoints: http,https + traefik.docker.network: public + networks: + - nextcloud-net + - public + ports: + - "${HOST_HTTP_PORT}:80" + restart: on-failure + volumes: + - nextcloud/Application:/var/www/html + - nextcloud/UserData:/var/www/html/data + + mysql: + image: mysql:5 + dns: + - 1.1.1.1 + - 1.0.0.1 + environment: + MYSQL_DATABASE: nextcloud + MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS} + MYSQL_USER: nextcloud_user + MYSQL_PASSWORD: ${DB_USER_PASS} + labels: +{{- if (.Values.HOST_LABEL)}} + io.rancher.scheduler.affinity:host_label: ${HOST_LABEL} +{{- end}} + networks: + - nextcloud-net + restart: on-failure + volumes: + - nextcloud/Database:/var/lib/mysql + +networks: + nextcloud-net: + driver: bridge + public: + external: true +volumes: + nextcloud: + driver: rancher-nfs + driver_opts: + onRemove: retain \ No newline at end of file diff --git a/templates/Nextcloud-nfs/0/rancher-compose.yml b/templates/Nextcloud-nfs/0/rancher-compose.yml new file mode 100644 index 0000000..46afb9c --- /dev/null +++ b/templates/Nextcloud-nfs/0/rancher-compose.yml @@ -0,0 +1,59 @@ +version: '2' +catalog: + name: Nextcloud + 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=0000" + required: false + type: string + + - variable: HOST_HTTP_PORT + label: Port + description: | + The HTTP port to access the web interface on. + default: "9000" + required: true + type: string + + - variable: DB_ROOT_PASS + label: "MySQL Root Password" + description: | + A secure password to be used by the "root" MySQL user. + required: true + type: password + + - variable: DB_USER_PASS + label: "MySQL User Password" + description: | + A secure password to be used by the "nextcloud_user" MySQL user. + required: true + type: password + + - variable: NC_ADMIN + label: "Nextcloud Admin Username" + description: | + The username of the Nextcloud admin user. + required: true + type: string + + - variable: NC_ADMIN_PASS + label: "Nextcloud Admin Password" + description: | + A secure password for the Nextcloud admin user. + required: true + type: password + +services: + nextcloud: + scale: 1 + mysql: + scale: 1 \ No newline at end of file diff --git a/templates/Nextcloud-nfs/config.yml b/templates/Nextcloud-nfs/config.yml new file mode 100644 index 0000000..3e0f8be --- /dev/null +++ b/templates/Nextcloud-nfs/config.yml @@ -0,0 +1,8 @@ +name: Nextcloud +description: | + Status: Functional +version: latest +# category: +maintainer: WilliamMiceli +# license: +# projectURL: https://github.com/ellerbrock/rancher-collection \ No newline at end of file