added matomo

This commit is contained in:
2020-05-18 20:08:26 -07:00
parent e4e8278883
commit 4af5b07162
5 changed files with 470 additions and 10 deletions
+11 -9
View File
@@ -3,22 +3,24 @@
# Docker clean up guilde https://gist.github.com/bastman/5b57ddb3c11942094f8d0a97d461b430 # Docker clean up guilde https://gist.github.com/bastman/5b57ddb3c11942094f8d0a97d461b430
# kill all containers # kill all containers
echo "*** Killing All Containers ***"
docker stop $(docker ps -aq) docker stop $(docker ps -aq)
echo "*** Docker prune ***"
docker system prune docker system prune
#remove all containers
#docker rm $(docker ps -aq)
#remove all images #remove all images
#docker rmi $(docker images -q) echo "*** Removing all Docker images ***"
docker rmi $(docker images -q)
#delete all volumnes #delete all volumnes
#docker volume rm $(docker volume ls -qf dangling=true) echo "*** Removing all Docker volumes ***"
#docker volume ls -qf dangling=true | xargs -r docker volume rm docker volume rm $(docker volume ls -qf dangling=true)
docker volume ls -qf dangling=true | xargs -r docker volume rm
#remove all networks #remove all networks
echo "*** Removing all Docker Networks ***"
docker network prune docker network prune
#docker network ls docker network rm $(docker network ls | grep "bridge" | awk '/ / { print $1 }')
#docker network ls | grep "bridge"
#docker network rm $(docker network ls | grep "bridge" | awk '/ / { print $1 }') echo "*** All done ***"
+50
View File
@@ -0,0 +1,50 @@
################################################################################
# matomo
#
# Version 1
#
################################################################################
version: '3.3'
volumes:
matomodb:
matomo:
matomoconfig:
matomologs:
networks:
admin_web:
external:
name: admin_web
services:
matomodb:
image: mariadb:${DB_V}
restart: always
volumes:
- matomodb:/var/lib/mysql
networks:
- admin_web
environment:
MYSQL_ROOT_PASSWORD: ${MATOMO_MYSQL_ROOT_PASSWORD}
MYSQL_PASSWORD: ${MATOMO_MYSQL_PASSWORD}
MYSQL_DATABASE: matomo
MYSQL_USER: matomo
# https://hub.docker.com/_/matomo/
matomo:
image: matomo:${MATOMO_V}
volumes:
- matomo:/var/www/html
- matomoconfig:/var/www/html/config
- matomologs:/var/www/html/logs
networks:
- admin_web
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.${PREFIX}_nextcloud.rule=Host(`${MATOMO_DOMAIN_NAME}`)"
- "traefik.http.routers.${PREFIX}_nextcloud.entrypoints=websecure"
- "traefik.http.routers.${PREFIX}_nextcloud.tls.certresolver=letsencrypt"
- "traefik.http.services.${PREFIX}_nextcloud.loadbalancer.server.port=80"
+11
View File
@@ -0,0 +1,11 @@
# Domains & Project
PREFIX=p1
MATOMO_DOMAIN_NAME=matomo.nickyeoman.com
# Passwords
MATOMO_MYSQL_ROOT_PASSWORD=ChangeMe2ASecurepass!
MATOMO_MYSQL_PASSWORD=Again2ASecurepass!
# Software versions
DB_V=10.4.0
MATOMO_V=3.7.0
+2 -1
View File
@@ -4,7 +4,7 @@
# Change .env then # Change .env then
# docker-compose up -d # docker-compose up -d
# #
# Version 1 # Version 2
################################################################################ ################################################################################
version: '2' version: '2'
@@ -27,6 +27,7 @@ services:
- admin_web - admin_web
volumes: volumes:
- /var/run/docker.sock:/var/run/docker.sock - /var/run/docker.sock:/var/run/docker.sock
- ./templates/templates.json:/templates.json
- portainer:/data - portainer:/data
command: -H unix:///var/run/docker.sock command: -H unix:///var/run/docker.sock
labels: labels:
+396
View File
@@ -0,0 +1,396 @@
[
{
"type": 1,
"title": "Nix Registry",
"description": "Docker image registry by nick 20",
"categories": ["docker"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/registry.png",
"image": "registry:latest",
"ports": [
"5000/tcp"
],
"volumes": [{ "container": "/var/lib/registry"}]
},
{
"type": 1,
"title": "Nix MariaDB",
"description": "Performance beyond MySQL",
"categories": ["database"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/mariadb.png",
"image": "mariadb:latest",
"env": [
{
"name": "MYSQL_ROOT_PASSWORD",
"label": "Root password"
}
],
"ports": [
"3306/tcp"
],
"volumes": [{"container": "/var/lib/mysql"}]
},
{
"type": 1,
"title": "Nix PostgreSQL",
"description": "The most advanced open-source database",
"categories": ["database"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/postgres.png",
"image": "postgres:latest",
"env": [
{
"name": "POSTGRES_USER",
"label": "Superuser"
},
{
"name": "POSTGRES_PASSWORD",
"label": "Superuser password"
}
],
"ports": [
"5432/tcp"
],
"volumes": [{"container": "/var/lib/postgresql/data"}]
},
{
"type": 1,
"title": "Gitlab CE",
"description": "Nix Open-source end-to-end software development platform",
"note": "Default username is <b>root</b>. Check the <a href=\"https://docs.gitlab.com/omnibus/docker/README.html#after-starting-a-container\" target=\"_blank\">Gitlab documentation</a> to get started.",
"categories": ["development", "project-management"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/gitlab_ce.png",
"image": "gitlab/gitlab-ce:latest",
"ports": [
"80/tcp",
"443/tcp",
"22/tcp"
],
"volumes": [
{ "container": "/etc/gitlab" },
{ "container": "/var/log/gitlab" },
{ "container": "/var/opt/gitlab" }
]
},
{
"type": 1,
"title": "Redis",
"description": "Open-source in-memory data structure store",
"categories": ["database"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redis.png",
"image": "redis:latest",
"ports": [
"6379/tcp"
],
"volumes": [{"container": "/data"}]
},
{
"type": 1,
"title": "RabbitMQ",
"description": "Highly reliable enterprise messaging system",
"categories": ["messaging"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/rabbitmq.png",
"image": "rabbitmq:latest",
"ports": [
"5671/tcp",
"5672/tcp"
],
"volumes": [{"container": "/var/lib/rabbitmq"}]
},
{
"type": 1,
"title": "Ghost",
"description": "Free and open-source blogging platform",
"categories": ["blog"],
"note": "Access the blog management interface under <code>/ghost/</code>.",
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ghost.png",
"image": "ghost:latest",
"ports": [
"2368/tcp"
],
"volumes": [{"container": "/var/lib/ghost/content"}]
},
{
"type": 1,
"title": "Joomla",
"description": "Another free and open-source CMS",
"categories": ["CMS"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/joomla.png",
"image": "joomla:latest",
"env": [
{
"name": "JOOMLA_DB_HOST",
"label": "MySQL database host",
"type": "container"
},
{
"name": "JOOMLA_DB_PASSWORD",
"label": "Database password"
}
],
"ports": [
"80/tcp"
],
"volumes": [{"container": "/var/www/html"}]
},
{
"type": 1,
"title": "Wowza",
"description": "Streaming media server",
"categories": ["streaming"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wowza.png",
"image": "sameersbn/wowza:4.1.2-8",
"env": [
{
"name": "WOWZA_ACCEPT_LICENSE",
"label": "Agree to Wowza EULA",
"set": "yes"
},
{
"name": "WOWZA_KEY",
"label": "License key"
}
],
"ports": [
"1935/tcp",
"8086/tcp",
"8087/tcp",
"8088/tcp"
],
"volumes": [{"container": "/var/lib/wowza"}]
},
{
"type": 1,
"title": "Redmine",
"description": "Open-source project management tool",
"categories": ["project-management"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/redmine.png",
"image": "redmine:latest",
"ports": [
"3000/tcp"
],
"volumes": [{"container": "/usr/src/redmine/files"}]
},
{
"type": 1,
"title": "Odoo",
"description": "Open-source business apps",
"categories": ["project-management"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/odoo.png",
"image": "odoo:latest",
"env": [
{
"name": "HOST",
"label": "PostgreSQL database host",
"type": "container"
},
{
"name": "USER",
"label": "Database user"
},
{
"name": "PASSWORD",
"label": "Database password"
}
],
"ports": [
"8069/tcp"
],
"volumes": [{"container": "/var/lib/odoo"}, {"container": "/mnt/extra-addons"}]
},
{
"type": 1,
"title": "Urbackup",
"description": "Open-source network backup",
"categories": ["backup"],
"platform": "linux",
"note": "This application web interface is exposed on the port 55414 inside the container.",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/urbackup.png",
"image": "cfstras/urbackup",
"ports": [
"55413/tcp", "55414/tcp", "55415/tcp", "35622/tcp"
],
"volumes": [{"container": "/var/urbackup"}]
},
{
"type": 1,
"title": "File browser",
"description": "A web file manager",
"note": "Default credentials: admin/admin",
"categories": ["filesystem", "storage"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/filebrowser.png",
"image": "filebrowser/filebrowser:latest",
"ports": [
"80/tcp"
],
"volumes": [{"container": "/data"}, {"container": "/srv"}],
"command": "--port 80 --database /data/database.db --scope /srv"
},
{
"type": 2,
"title": "Portainer Agent",
"description": "Manage all the resources in your Swarm cluster",
"note": "The agent will be deployed globally inside your cluster and available on port 9001.",
"categories": ["portainer"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/portainer.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/portainer-agent/docker-stack.yml"
}
},
{
"type": 2,
"title": "OpenFaaS",
"name": "func",
"description": "Serverless functions made simple",
"note": "Deploys the API gateway and sample functions. You can access the UI on port 8080. <b>Warning</b>: the name of the stack must be 'func'.",
"categories": ["serverless"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/openfaas.png",
"repository": {
"url": "https://github.com/openfaas/faas",
"stackfile": "docker-compose.yml"
}
},
{
"type": 2,
"title": "IronFunctions",
"description": "Open-source serverless computing platform",
"note": "Deploys the IronFunctions API and UI.",
"categories": ["serverless"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/ironfunctions.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/ironfunctions/docker-stack.yml"
}
},
{
"type": 2,
"title": "CockroachDB",
"description": "CockroachDB cluster",
"note": "Deploys an insecure CockroachDB cluster, please refer to <a href=\"https://www.cockroachlabs.com/docs/stable/orchestrate-cockroachdb-with-docker-swarm.html\" target=\"_blank\">CockroachDB documentation</a> for production deployments.",
"categories": ["database"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/cockroachdb.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/cockroachdb/docker-stack.yml"
}
},
{
"type": 2,
"title": "Wordpress",
"description": "Wordpress setup with a MySQL database",
"note": "Deploys a Wordpress instance connected to a MySQL database.",
"categories": ["CMS"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/wordpress/docker-stack.yml"
},
"env": [
{
"name": "MYSQL_DATABASE_PASSWORD",
"label": "Database root password",
"description": "Password used by the MySQL root user."
}
]
},
{
"type": 3,
"title": "Wordpress",
"description": "Wordpress setup with a MySQL database",
"note": "Deploys a Wordpress instance connected to a MySQL database.",
"categories": ["CMS"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/wordpress.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/wordpress/docker-compose.yml"
},
"env": [
{
"name": "MYSQL_DATABASE_PASSWORD",
"label": "Database root password",
"description": "Password used by the MySQL root user."
}
]
},
{
"type": 2,
"title": "Microsoft OMS Agent",
"description": "Microsoft Operations Management Suite Linux agent.",
"categories": ["OPS"],
"platform": "linux",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/microsoft.png",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/microsoft-oms/docker-stack.yml"
},
"env": [
{
"name": "AZURE_WORKSPACE_ID",
"label": "Workspace ID",
"description": "Azure Workspace ID"
},
{
"name": "AZURE_PRIMARY_KEY",
"label": "Primary key",
"description": "Azure primary key"
}
]
},
{
"title": "Sematext Docker Agent",
"type": 2,
"categories": ["Log Management", "Monitoring"],
"description": "Collect logs, metrics and docker events",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/sematext_agent.png",
"platform": "linux",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/sematext-agent-docker/docker-stack.yml"
},
"env": [
{
"name": "LOGSENE_TOKEN",
"label": "Logs token"
},
{
"name": "SPM_TOKEN",
"label": "SPM monitoring token"
}
]
},
{
"title": "Datadog agent",
"type": 2,
"categories": ["Monitoring"],
"description": "Collect events and metrics",
"logo": "https://portainer-io-assets.sfo2.digitaloceanspaces.com/logos/datadog_agent.png",
"platform": "linux",
"repository": {
"url": "https://github.com/portainer/templates",
"stackfile": "stacks/datadog-agent/docker-stack.yml"
},
"env": [
{
"name": "API_KEY",
"label": "Datadog API key"
}
]
}
]