Added initial config template for Mautic

This commit is contained in:
WilliamMiceli
2019-08-14 20:51:54 -04:00
parent 2c1c9d8626
commit 4760ee782d
5 changed files with 154 additions and 0 deletions

View File

@@ -0,0 +1,30 @@
# Nextcloud
Nextcloud offers industry-leading on-premises file sync and online collaboration technology. Our expertise is in combining the convenience and ease of use of consumer-grade solutions like Dropbox and Google Drive with the security, privacy and control business needs.
Our self-hosted solutions ensure you know where data is, who has access, and that even meta-data does not leak.
## Pre-Requisites
* Traefik deployed
## Useful Tools
* [Official Security Check](https://scan.nextcloud.com/)
## Easy Redis Setup
Copy the "redis.config.php" file into your Configuration directory.
You may need to restart your stack for it to pick up.
You can monitor if it is working by opening a shell terminal on your Redis container and using `redis-cli MONITOR`
## To-Do's
* Explain how to manually setup Redis
* Fix Cron container, does not yet properly execute yet
* Better setup trusted_proxies
* [Documentation Reference](https://docs.nextcloud.com/server/stable/admin_manual/configuration_server/reverse_proxy_configuration.html?highlight=reverse%20proxy)
* Create my own Nextcloud image and make the following changes:
* Add the Redis config
* Add the reverse proxy config
* Have the entrypoint automatically run the "php occ db:add-missing-indices"

View File

@@ -0,0 +1,66 @@
version: '2'
services:
mautic:
image: mautic/mautic:latest
dns: # Using Cloudflare DNS
- 1.1.1.1
- 1.0.0.1
- 2606:4700:4700::1111
- 2606:4700:4700::1001
environment:
MAUTIC_DB_HOST: mysql
MAUTIC_DB_USER: mautic_user
MAUTIC_DB_PASSWORD: ${DB_USER_PASS}
MAUTIC_DB_NAME: mautic_db
MAUTIC_TRUSTED_PROXIES: 10.42.0.0/16 # 10.42.0.0/16 is the default Rancher-managed subnet
labels:
io.rancher.container.pull_image: always
{{- if .Values.HOST_LABEL}}
io.rancher.scheduler.affinity:host_label: ${HOST_LABEL}
{{- end}}
# io.rancher.sidekicks: cron
traefik.enable: true
### Start Web UI Segment
traefik.frontend.entryPoints: http,https
traefik.frontend.headers.forceSTSHeader: true
traefik.frontend.headers.referrerPolicy: no-referrer # Security enhancement (Prevents leaking of referer information)
traefik.frontend.headers.SSLRedirect: true
traefik.frontend.headers.STSIncludeSubdomains: true
traefik.frontend.headers.STSPreload: true
traefik.frontend.headers.STSSeconds: 15552000
traefik.frontend.passHostHeader: true
traefik.frontend.rule: Host:${TRAEFIK_HOST}
traefik.port: "80"
### End Web UI Segment
links:
- mysql
restart: on-failure
volumes:
- /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system
- /etc/timezone:/etc/timezone:ro # Syncronize timezone of container with the host system
- /Persistent/${DATA_DIR}:/var/www/html # Mautic site
mysql:
image: mysql:5.6
dns: # Using Cloudflare DNS
- 1.1.1.1
- 1.0.0.1
- 2606:4700:4700::1111
- 2606:4700:4700::1001
environment:
MYSQL_DATABASE: mautic_db
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASS}
MYSQL_USER: mautic_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}}
traefik.enable: false
restart: on-failure
volumes:
- /etc/localtime:/etc/localtime:ro # Syncronize time of container with the host system
- /etc/timezone:/etc/timezone:ro # Syncronize timezone of container with the host system
- /Persistent/${DATA_DIR}/Database:/var/lib/mysql

View File

@@ -0,0 +1,49 @@
version: '2'
catalog:
name: Mautic
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 of 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.
default: "subdomain.domain.tld"
required: true
type: string
- variable: "DB_ROOT_PASS"
label: "Database Root Password"
description: |
A secure password to be used by the "root" database user.
# default:
required: true
type: password
- variable: "DB_USER_PASS"
label: "Database User Password"
description: |
A secure password to be used by the "mautic_user" database user.
# default:
required: true
type: password
- variable: "DATA_DIR"
label: "Data Directory"
description: |
The directory to store persistent data for the stack.
default: "Personal/Mautic"
required: true
type: string

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 75 KiB

View File

@@ -0,0 +1,8 @@
name: Nextcloud
description: |
Nextcloud is a suite of client-server software for creating and using file hosting services.
version: latest
# category:
maintainer: WilliamMiceli
# license:
# projectURL: