diff --git a/README.md b/README.md index 1fd79b4..9c7dd49 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,2 @@ -![Build Status](https://woodpecker.nixc.us/api/badges/132/status.svg) +![Build Status](https://woodpecker.nixc.us/api/badges/134/status.svg) diff --git a/docker-compose.production.yml b/docker-compose.production.yml index fd835ed..f31477a 100644 --- a/docker-compose.production.yml +++ b/docker-compose.production.yml @@ -1,12 +1,7 @@ version: "3.9" services: - focalboard: + super-productivity: build: - context: docker/focalboard + context: docker/super-productivity dockerfile: Dockerfile.production - image: git.nixc.us/nixius/focalboard:production-focalboard - db: - build: - context: docker/db - dockerfile: Dockerfile.production - image: git.nixc.us/nixius/focalboard:production-db \ No newline at end of file + image: git.nixc.us/nixius/super-productivity:production diff --git a/docker-compose.staging.yml b/docker-compose.staging.yml index d1edcb0..8a3b8c4 100644 --- a/docker-compose.staging.yml +++ b/docker-compose.staging.yml @@ -1,12 +1,7 @@ version: "3.9" services: - focalboard: + super-productivity: build: - context: docker/focalboard + context: docker/super-productivity dockerfile: Dockerfile - image: git.nixc.us/nixius/focalboard:staging-focalboard - db: - build: - context: docker/db - dockerfile: Dockerfile - image: git.nixc.us/nixius/focalboard:staging-db \ No newline at end of file + image: git.nixc.us/nixius/super-productivity:staging diff --git a/docker/db/Dockerfile b/docker/db/Dockerfile deleted file mode 100644 index 0cda63a..0000000 --- a/docker/db/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM postgres:latest \ No newline at end of file diff --git a/docker/db/Dockerfile.production b/docker/db/Dockerfile.production deleted file mode 100644 index 12a07d7..0000000 --- a/docker/db/Dockerfile.production +++ /dev/null @@ -1 +0,0 @@ -FROM git.nixc.us/nixius/focalboard:staging-db \ No newline at end of file diff --git a/docker/focalboard/Dockerfile b/docker/focalboard/Dockerfile deleted file mode 100644 index 12c7a79..0000000 --- a/docker/focalboard/Dockerfile +++ /dev/null @@ -1 +0,0 @@ -FROM mattermost/focalboard \ No newline at end of file diff --git a/docker/focalboard/Dockerfile.production b/docker/focalboard/Dockerfile.production deleted file mode 100644 index b653fc3..0000000 --- a/docker/focalboard/Dockerfile.production +++ /dev/null @@ -1 +0,0 @@ -FROM git.nixc.us/nixius/focalboard:staging-focalboard \ No newline at end of file diff --git a/docker/nginx/Dockerfile b/docker/nginx/Dockerfile deleted file mode 100644 index 7f6e3e0..0000000 --- a/docker/nginx/Dockerfile +++ /dev/null @@ -1,8 +0,0 @@ -FROM grafana/grafana:latest -ENV GF_SECURITY_ADMIN_USER=Fifth3591 -ENV GF_SECURITY_ADMIN_PASSWORD=hhg4eW6nPfLurzNHjdTtUxqP8SQxdqT7R - -COPY grafana.ini /etc/grafana/grafana.ini -COPY datasources.yaml /etc/grafana/provisioning/datasources/datasources.yaml -COPY dashboards.yaml /etc/grafana/provisioning/dashboards/dashboards.yaml -COPY --chown=grafana:grafana dashboards/ /var/lib/grafana/dashboards/ \ No newline at end of file diff --git a/docker/nginx/Dockerfile.production b/docker/nginx/Dockerfile.production deleted file mode 100644 index c8b27e4..0000000 --- a/docker/nginx/Dockerfile.production +++ /dev/null @@ -1 +0,0 @@ -FROM git.nixc.us/nixius/loki:staging-grafana \ No newline at end of file diff --git a/docker/nginx/dashboards.yaml b/docker/nginx/dashboards.yaml deleted file mode 100644 index dafdd51..0000000 --- a/docker/nginx/dashboards.yaml +++ /dev/null @@ -1,11 +0,0 @@ -apiVersion: 1 - -providers: - - name: 'default' - orgId: 1 - folder: '' - type: file - disableDeletion: false - editable: true - options: - path: /var/lib/grafana/dashboards/default diff --git a/docker/nginx/dashboards/dashboard.json b/docker/nginx/dashboards/dashboard.json deleted file mode 100644 index 60b161f..0000000 --- a/docker/nginx/dashboards/dashboard.json +++ /dev/null @@ -1,1061 +0,0 @@ -{ - "__inputs": [ - { - "name": "DS_LOKI", - "label": "Loki", - "description": "", - "type": "datasource", - "pluginId": "loki", - "pluginName": "Loki" - } - ], - "__requires": [ - { - "type": "panel", - "id": "gauge", - "name": "Gauge", - "version": "" - }, - { - "type": "grafana", - "id": "grafana", - "name": "Grafana", - "version": "7.0.4" - }, - { - "type": "panel", - "id": "grafana-piechart-panel", - "name": "Pie Chart", - "version": "1.5.0" - }, - { - "type": "panel", - "id": "graph", - "name": "Graph", - "version": "" - }, - { - "type": "datasource", - "id": "graphite", - "name": "Graphite", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "logs", - "name": "Logs", - "version": "" - }, - { - "type": "datasource", - "id": "loki", - "name": "Loki", - "version": "1.0.0" - }, - { - "type": "panel", - "id": "singlestat", - "name": "Singlestat", - "version": "" - }, - { - "type": "panel", - "id": "text", - "name": "Text", - "version": "" - } - ], - "annotations": { - "list": [ - { - "builtIn": 1, - "datasource": "-- Grafana --", - "enable": true, - "hide": true, - "iconColor": "rgba(0, 211, 255, 1)", - "name": "Annotations & Alerts", - "type": "dashboard" - } - ] - }, - "editable": true, - "gnetId": 16966, - "graphTooltip": 0, - "id": null, - "iteration": 1594222083341, - "links": [], - "panels": [ - { - "cacheTimeout": null, - "colorBackground": false, - "colorPostfix": true, - "colorValue": true, - "colors": [ - "rgb(31, 255, 7)", - "rgb(31, 255, 7)", - "rgb(31, 255, 7)" - ], - "datasource": "${DS_LOKI}", - "description": "Total Count of log lines in the specified time range", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "format": "short", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 12, - "x": 0, - "y": 0 - }, - "id": 11, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "$$hashKey": "object:65", - "name": "value to text", - "value": 1 - }, - { - "$$hashKey": "object:66", - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "pluginVersion": "6.4.3", - "postfix": " lines", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgb(0, 82, 0)", - "full": false, - "lineColor": "rgb(31, 255, 7)", - "show": true, - "ymax": null, - "ymin": null - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(count_over_time(({namespace=\"$namespace\", stream=~\"$stream\", pod=~\"$pod\"})[$__interval]))", - "hide": false, - "refId": "A" - } - ], - "thresholds": "10,50", - "timeFrom": null, - "timeShift": null, - "title": "Total Count of logs", - "type": "singlestat", - "valueFontSize": "70%", - "valueMaps": [ - { - "$$hashKey": "object:68", - "op": "=", - "text": "0", - "value": "null" - } - ], - "valueName": "total" - }, - { - "cacheTimeout": null, - "colorBackground": false, - "colorPostfix": true, - "colorPrefix": false, - "colorValue": true, - "colors": [ - "rgb(222, 15, 43)", - "rgb(222, 15, 43)", - "rgb(222, 15, 43)" - ], - "datasource": "${DS_LOKI}", - "description": "Total Count: of $searchable_pattern in the specified time range", - "fieldConfig": { - "defaults": { - "custom": {}, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "format": "short", - "gauge": { - "maxValue": 100, - "minValue": 0, - "show": false, - "thresholdLabels": false, - "thresholdMarkers": true - }, - "gridPos": { - "h": 3, - "w": 12, - "x": 12, - "y": 0 - }, - "id": 6, - "interval": null, - "links": [], - "mappingType": 1, - "mappingTypes": [ - { - "$$hashKey": "object:1630", - "name": "value to text", - "value": 1 - }, - { - "$$hashKey": "object:1631", - "name": "range to text", - "value": 2 - } - ], - "maxDataPoints": 100, - "nullPointMode": "connected", - "nullText": null, - "pluginVersion": "6.4.3", - "postfix": " \"$searchable_pattern\"", - "postfixFontSize": "50%", - "prefix": "", - "prefixFontSize": "50%", - "rangeMaps": [ - { - "from": "null", - "text": "N/A", - "to": "null" - } - ], - "sparkline": { - "fillColor": "rgb(105, 34, 43)", - "full": false, - "lineColor": "#C4162A", - "show": true, - "ymax": null, - "ymin": null - }, - "tableColumn": "", - "targets": [ - { - "expr": "sum(count_over_time(({namespace=\"$namespace\", stream=~\"$stream\", pod=~\"$pod\"} |~ \"(?i)$searchable_pattern\")[$__interval]))", - "hide": false, - "refId": "A" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Total Count: of $searchable_pattern", - "type": "singlestat", - "valueFontSize": "70%", - "valueMaps": [ - { - "$$hashKey": "object:1633", - "op": "=", - "text": "0", - "value": "null" - } - ], - "valueName": "total" - }, - { - "datasource": "${DS_LOKI}", - "description": "Live logs is a like 'tail -f' in a real time", - "fieldConfig": { - "defaults": { - "custom": {}, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - } - }, - "overrides": [] - }, - "gridPos": { - "h": 9, - "w": 24, - "x": 0, - "y": 3 - }, - "id": 2, - "options": { - "showLabels": false, - "showTime": true, - "sortOrder": "Descending", - "wrapLogMessage": false - }, - "targets": [ - { - "expr": "{namespace=\"$namespace\", pod=~\"$pod\", stream=~\"$stream\"} |~ \"(?i)$searchable_pattern\" ", - "hide": false, - "refId": "A" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Live logs", - "type": "logs" - }, - { - "aliasColors": { - "stderr": "#C4162A", - "stdout": "#37872D" - }, - "breakPoint": "50%", - "cacheTimeout": null, - "combine": { - "label": "Others", - "threshold": 0 - }, - "datasource": "${DS_LOKI}", - "decimals": null, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "mappings": [ - { - "options": { - "match": "null", - "result": { - "color": "#299c46", - "text": "0" - } - }, - "type": "special" - } - ], - "unit": "none" - }, - "overrides": [] - }, - "fontSize": "80%", - "format": "short", - "gridPos": { - "h": 7, - "w": 9, - "x": 0, - "y": 12 - }, - "id": 19, - "interval": null, - "legend": { - "header": "Total Count", - "percentage": true, - "percentageDecimals": 2, - "show": true, - "sort": "total", - "sortDesc": true, - "values": true - }, - "legendType": "right", - "links": [], - "maxDataPoints": 100, - "nullPointMode": "connected", - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single" - } - }, - "pieType": "pie", - "pluginVersion": "7.0.4", - "strokeWidth": "1.5", - "targets": [ - { - "expr": "sum(count_over_time(({namespace=\"$namespace\", pod=~\"$pod\"})[$__interval])) by (stream)", - "hide": false, - "refId": "A" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Total count of stderr / stdout pie", - "type": "piechart", - "valueName": "total" - }, - { - "aliasColors": {}, - "breakPoint": "50%", - "cacheTimeout": null, - "combine": { - "label": "Others", - "threshold": 0 - }, - "datasource": "${DS_LOKI}", - "decimals": 0, - "fieldConfig": { - "defaults": { - "color": { - "mode": "palette-classic" - }, - "custom": { - "hideFrom": { - "legend": false, - "tooltip": false, - "viz": false - } - }, - "mappings": [] - }, - "overrides": [] - }, - "fontSize": "80%", - "format": "short", - "gridPos": { - "h": 7, - "w": 9, - "x": 9, - "y": 12 - }, - "id": 20, - "interval": "1m", - "legend": { - "header": "total count", - "percentage": true, - "show": true, - "sort": "total", - "sortDesc": true, - "values": true - }, - "legendType": "right", - "links": [], - "maxDataPoints": "", - "nullPointMode": "connected", - "options": { - "legend": { - "displayMode": "list", - "placement": "right" - }, - "pieType": "pie", - "reduceOptions": { - "calcs": [ - "lastNotNull" - ], - "fields": "", - "values": false - }, - "tooltip": { - "mode": "single" - } - }, - "pieType": "donut", - "pluginVersion": "6.4.3", - "strokeWidth": "0.4", - "targets": [ - { - "expr": "sum(count_over_time(({namespace=\"$namespace\", pod=~\"$pod\", stream=~\"$stream\"} |~ \"(?i)$searchable_pattern\")[$__interval])) by (pod)", - "refId": "A" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "Matched word: \"$searchable_pattern\" donut", - "type": "piechart", - "valueName": "total" - }, - { - "cacheTimeout": null, - "datasource": "${DS_LOKI}", - "fieldConfig": { - "defaults": { - "custom": {}, - "mappings": [ - { - "id": 0, - "op": "=", - "text": "0", - "type": 1, - "value": "null" - } - ], - "max": 100, - "min": 0, - "noValue": "0", - "nullValueMode": "connected", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "green", - "value": null - } - ] - }, - "unit": "percent" - }, - "overrides": [] - }, - "gridPos": { - "h": 7, - "w": 6, - "x": 18, - "y": 12 - }, - "id": 9, - "interval": null, - "links": [], - "maxDataPoints": 100, - "options": { - "orientation": "auto", - "reduceOptions": { - "calcs": [ - "mean" - ], - "fields": "", - "values": false - }, - "showThresholdLabels": false, - "showThresholdMarkers": false - }, - "pluginVersion": "7.0.4", - "targets": [ - { - "expr": "sum(count_over_time(({namespace=\"$namespace\", stream=~\"$stream\", pod=~\"$pod\"} |~ \"(?i)$searchable_pattern\")[$__interval])) * 100 / sum(count_over_time(({namespace=\"$namespace\", stream=~\"$stream\", pod=~\"$pod\"})[$__interval]))", - "hide": false, - "refId": "A" - } - ], - "timeFrom": null, - "timeShift": null, - "title": "\"$searchable_pattern\" Percentage for specified time", - "type": "gauge" - }, - { - "aliasColors": {}, - "bars": true, - "cacheTimeout": null, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_LOKI}", - "decimals": 0, - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 1, - "gridPos": { - "h": 9, - "w": 12, - "x": 0, - "y": 21 - }, - "hiddenSeries": false, - "id": 18, - "interval": "1m", - "legend": { - "alignAsTable": true, - "avg": false, - "current": true, - "hideEmpty": false, - "hideZero": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "sort": "current", - "sortDesc": true, - "total": false, - "values": true - }, - "lines": false, - "linewidth": 3, - "links": [], - "maxDataPoints": "", - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "6.4.3", - "pointradius": 2, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(count_over_time(({namespace=\"$namespace\", pod=~\"$pod\", stream=~\"$stream\"} |~ \"(?i)$searchable_pattern\")[$__interval])) by (pod)", - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Matched word: \"$searchable_pattern\" historical", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:425", - "decimals": 0, - "format": "short", - "label": "Count", - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "$$hashKey": "object:426", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": false - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "cacheTimeout": null, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_LOKI}", - "fieldConfig": { - "defaults": { - "custom": {} - }, - "overrides": [] - }, - "fill": 1, - "fillGradient": 10, - "gridPos": { - "h": 9, - "w": 12, - "x": 12, - "y": 21 - }, - "hiddenSeries": false, - "id": 10, - "interval": null, - "legend": { - "alignAsTable": true, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "maxDataPoints": 100, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "6.4.3", - "pointradius": 0.5, - "points": false, - "renderer": "flot", - "seriesOverrides": [], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(rate(({namespace=\"$namespace\", stream=~\"$stream\", pod=~\"$pod\"} |~ \"(?i)$searchable_pattern\")[30s])) by (pod)", - "hide": false, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "\"$searchable_pattern\" Rate per Pod", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:2804", - "format": "short", - "label": null, - "logBase": 10, - "max": null, - "min": null, - "show": true - }, - { - "$$hashKey": "object:2805", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - }, - { - "aliasColors": {}, - "bars": false, - "cacheTimeout": null, - "dashLength": 10, - "dashes": false, - "datasource": "${DS_LOKI}", - "fieldConfig": { - "defaults": { - "custom": {}, - "mappings": [ - { - "id": 0, - "op": "=", - "text": "0", - "type": 1, - "value": "null" - } - ], - "nullValueMode": "connected", - "thresholds": { - "mode": "absolute", - "steps": [ - { - "color": "#299c46", - "value": null - }, - { - "color": "rgba(237, 129, 40, 0.89)", - "value": 10 - }, - { - "color": "#C4162A", - "value": 50 - } - ] - }, - "unit": "none" - }, - "overrides": [] - }, - "fill": 2, - "fillGradient": 4, - "gridPos": { - "h": 8, - "w": 24, - "x": 0, - "y": 30 - }, - "hiddenSeries": false, - "id": 7, - "interval": null, - "legend": { - "alignAsTable": false, - "avg": false, - "current": false, - "max": false, - "min": false, - "rightSide": false, - "show": true, - "total": false, - "values": false - }, - "lines": true, - "linewidth": 1, - "links": [], - "maxDataPoints": 100, - "nullPointMode": "null", - "options": { - "dataLinks": [] - }, - "percentage": false, - "pluginVersion": "7.0.4", - "pointradius": 2, - "points": true, - "renderer": "flot", - "seriesOverrides": [ - { - "$$hashKey": "object:154", - "alias": "{stream=\"stderr\"} stderr", - "color": "#C4162A", - "legend": false, - "linewidth": 2 - }, - { - "$$hashKey": "object:220", - "alias": "{stream=\"stdout\"} stdout", - "color": "#56A64B", - "legend": false, - "linewidth": 2 - } - ], - "spaceLength": 10, - "stack": false, - "steppedLine": false, - "targets": [ - { - "expr": "sum(count_over_time(({namespace=\"$namespace\", pod=~\"$pod\"})[$__interval])) by (stream)", - "hide": false, - "refId": "A" - } - ], - "thresholds": [], - "timeFrom": null, - "timeRegions": [], - "timeShift": null, - "title": "Count of stderr / stdout historical", - "tooltip": { - "shared": true, - "sort": 2, - "value_type": "individual" - }, - "type": "graph", - "xaxis": { - "buckets": null, - "mode": "time", - "name": null, - "show": true, - "values": [] - }, - "yaxes": [ - { - "$$hashKey": "object:188", - "format": "short", - "label": null, - "logBase": 1, - "max": null, - "min": null, - "show": true - }, - { - "$$hashKey": "object:189", - "format": "short", - "label": "", - "logBase": 1, - "max": null, - "min": null, - "show": true - } - ], - "yaxis": { - "align": false, - "alignLevel": null - } - } - ], - "refresh": "1m", - "schemaVersion": 25, - "style": "dark", - "tags": [ - "Loki", - "logging" - ], - "templating": { - "list": [ - { - "allValue": null, - "current": { - "selected": true, - "text": "loki", - "value": "loki" - }, - "datasource": "${DS_LOKI}", - "definition": "label_values({namespace=~\".+\"}, namespace)", - "hide": 0, - "includeAll": false, - "label": "Namespace", - "multi": false, - "name": "namespace", - "options": [], - "query": "label_values({namespace=~\".+\"}, namespace)", - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_LOKI}", - "definition": "label_values({namespace=\"$namespace\"}, pod)", - "hide": 0, - "includeAll": true, - "label": "Pod", - "multi": false, - "name": "pod", - "options": [], - "query": "label_values({namespace=\"$namespace\"}, pod)", - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "allValue": null, - "current": {}, - "datasource": "${DS_LOKI}", - "definition": "label_values({namespace=\"$namespace\"}, stream)", - "hide": 0, - "includeAll": true, - "label": "Stream", - "multi": false, - "name": "stream", - "options": [], - "query": "label_values({namespace=\"$namespace\"}, stream)", - "refresh": 2, - "regex": "", - "skipUrlSync": false, - "sort": 0, - "tagValuesQuery": "", - "tags": [], - "tagsQuery": "", - "type": "query", - "useTags": false - }, - { - "current": { - "selected": true, - "text": "", - "value": "" - }, - "hide": 0, - "label": "Search (case insensitive)", - "name": "searchable_pattern", - "options": [ - { - "selected": true, - "text": "", - "value": "" - } - ], - "query": "", - "skipUrlSync": false, - "type": "textbox" - } - ] - }, - "time": { - "from": "now-30m", - "to": "now" - }, - "timepicker": { - "refresh_intervals": [ - "10s", - "30s", - "1m", - "5m", - "15m", - "30m", - "1h", - "2h", - "1d" - ] - }, - "timezone": "", - "title": "Container Log Dashboard", - "uid": "fRIvzUZMz", - "version": 2, - "description": "Container/Pod Log Dashboard(Loki as DataSource)" - } \ No newline at end of file diff --git a/docker/nginx/datasources.yaml b/docker/nginx/datasources.yaml deleted file mode 100644 index 53089a4..0000000 --- a/docker/nginx/datasources.yaml +++ /dev/null @@ -1,9 +0,0 @@ -apiVersion: 1 - -datasources: - - name: Loki - type: loki - access: proxy - url: http://loki_loki:3100 - jsonData: - maxLines: 1000 diff --git a/docker/nginx/grafana.ini b/docker/nginx/grafana.ini deleted file mode 100644 index 8b26d56..0000000 --- a/docker/nginx/grafana.ini +++ /dev/null @@ -1,5 +0,0 @@ -[server] -domain = grafana.nixc.us - -[auth.anonymous] -enabled = false diff --git a/docker/productivity/Dockerfile b/docker/productivity/Dockerfile new file mode 100644 index 0000000..d16075c --- /dev/null +++ b/docker/productivity/Dockerfile @@ -0,0 +1 @@ +FROM johannesjo/super-productivity:latest \ No newline at end of file diff --git a/docker/productivity/Dockerfile.production b/docker/productivity/Dockerfile.production new file mode 100644 index 0000000..b673c29 --- /dev/null +++ b/docker/productivity/Dockerfile.production @@ -0,0 +1 @@ +FROM git.nixc.us/nixius/super-productivity:staging \ No newline at end of file diff --git a/stack.production.yml b/stack.production.yml index 4e76dde..0ad9435 100644 --- a/stack.production.yml +++ b/stack.production.yml @@ -1,68 +1,33 @@ version: "3.7" services: - focalboard: - image: git.nixc.us/nixius/focalboard:production-focalboard - environment: - - VIRTUAL_HOST=focalboard.nixc.us - - VIRTUAL_PORT=8000 + productivity: + image: git.nixc.us/nixius/super-productivity:production volumes: - ## must be owned by "nobody" example: `sudo chown -R nobody /mnt/tank/persist/focalboard/production/data/` - - "/mnt/tank/persist/nixc.us/focalboard/production/data/:/data" - - "/mnt/tank/persist/nixc.us/focalboard/production/config/config.json:/opt/focalboard/config.json" + - "/mnt/tank/persist/nixc.us/productivity/production/data/:/home/user/.config/superProductivity" deploy: replicas: 1 placement: constraints: - node.hostname == macmini2 - labels: - - "traefik.enable=false" - networks: - - default - nginx: - image: codeberg.org/iridium-net/lan-to-nginx:latest - environment: - - BACKEND_ADDRESS=focalboard_focalboard - - BACKEND_PORT=8000 - - PROTOCOL=http - networks: - - default - - traefik deploy: replicas: 1 labels: homepage.group: apps - homepage.name: focalboard - homepage.href: https://focalboard.nixc.us/ + homepage.name: productivity + homepage.href: https://productivity.nixc.us/ homepage.description: us.nixc.autodeploy: "true" traefik.enable: "true" - traefik.http.routers.production_focalboard_focalboard.tls: "true" - traefik.http.services.production_focalboard_focalboard.loadbalancer.server.port: 80 - traefik.http.routers.production_focalboard_focalboard.rule: Host(`focalboard.nixc.us`) - traefik.http.routers.production_focalboard_focalboard.entrypoints: websecure - traefik.http.routers.production_focalboard_focalboard.tls.certresolver: letsencryptresolver - traefik.http.routers.production_focalboard_focalboard.service: production_focalboard_focalboard + traefik.http.routers.production_productivity_productivity.tls: "true" + traefik.http.services.production_productivity_productivity.loadbalancer.server.port: 80 + traefik.http.routers.production_productivity_productivity.rule: Host(`productivity.nixc.us`) + traefik.http.routers.production_productivity_productivity.entrypoints: websecure + traefik.http.routers.production_productivity_productivity.tls.certresolver: letsencryptresolver + traefik.http.routers.production_productivity_productivity.service: production_productivity_productivity traefik.docker.network: traefik # - 'traefik.http.routers.production_uptime_uptime.middlewares=authelia@docker' - focalboard-db: - image: git.nixc.us/nixius/focalboard:production-db - deploy: - replicas: 1 - placement: - constraints: - - node.hostname == macmini2 - labels: - - "traefik.enable=false" - volumes: - - "/mnt/tank/persist/nixc.us/focalboard/production/db:/var/lib/postgresql/data" - environment: - POSTGRES_DB: boards - POSTGRES_USER: boardsuser - POSTGRES_PASSWORD: boardsuser-password networks: - - default - + traefik networks: traefik: - external: true - default: + external: true \ No newline at end of file diff --git a/stack.staging.yml b/stack.staging.yml index 08d155b..5d5e4e6 100644 --- a/stack.staging.yml +++ b/stack.staging.yml @@ -1,68 +1,33 @@ version: "3.7" services: - focalboard: - image: git.nixc.us/nixius/focalboard:staging-focalboard - environment: - - VIRTUAL_HOST=focalboard.nixc.us - - VIRTUAL_PORT=8000 - # volumes: - # ## must be owned by "nobody" example: `sudo chown -R nobody /mnt/tank/persist/focalboard/staging/data/` - # - "/mnt/tank/persist/nixc.us/focalboard/staging/data/:/data" - # - "/mnt/tank/persist/nixc.us/focalboard/staging/config/config.json:/opt/focalboard/config.json" + productivity: + image: git.nixc.us/nixius/super-productivity:staging + volumes: + - "/mnt/tank/persist/nixc.us/productivity/staging/data/:/home/user/.config/superProductivity" deploy: replicas: 1 placement: constraints: - node.hostname == macmini2 - labels: - - "traefik.enable=false" - networks: - - default - nginx: - image: codeberg.org/iridium-net/lan-to-nginx:latest - environment: - - BACKEND_ADDRESS=focalboard_focalboard - - BACKEND_PORT=8000 - - PROTOCOL=http - networks: - - default - - traefik deploy: replicas: 1 labels: homepage.group: apps - homepage.name: focalboard - homepage.href: https://focalboard.nixc.us/ + homepage.name: productivity + homepage.href: https://staging.productivity.nixc.us/ homepage.description: us.nixc.autodeploy: "true" traefik.enable: "true" - traefik.http.routers.staging_focalboard_focalboard.tls: "true" - traefik.http.services.staging_focalboard_focalboard.loadbalancer.server.port: 80 - traefik.http.routers.staging_focalboard_focalboard.rule: Host(`staging.focalboard.nixc.us`) - traefik.http.routers.staging_focalboard_focalboard.entrypoints: websecure - traefik.http.routers.staging_focalboard_focalboard.tls.certresolver: letsencryptresolver - traefik.http.routers.staging_focalboard_focalboard.service: staging_focalboard_focalboard + traefik.http.routers.staging_productivity_productivity.tls: "true" + traefik.http.services.staging_productivity_productivity.loadbalancer.server.port: 80 + traefik.http.routers.staging_productivity_productivity.rule: Host(`staging.productivity.nixc.us`) + traefik.http.routers.staging_productivity_productivity.entrypoints: websecure + traefik.http.routers.staging_productivity_productivity.tls.certresolver: letsencryptresolver + traefik.http.routers.staging_productivity_productivity.service: staging_productivity_productivity traefik.docker.network: traefik # - 'traefik.http.routers.staging_uptime_uptime.middlewares=authelia@docker' - focalboard-db: - image: git.nixc.us/nixius/focalboard:staging-db - deploy: - replicas: 1 - placement: - constraints: - - node.hostname == macmini2 - labels: - - "traefik.enable=false" - # volumes: - # - "/mnt/tank/persist/nixc.us/focalboard/staging/db:/var/lib/postgresql/data" - environment: - POSTGRES_DB: boards - POSTGRES_USER: boardsuser - POSTGRES_PASSWORD: boardsuser-password networks: - - default - + traefik networks: traefik: - external: true - default: + external: true \ No newline at end of file