From b3336b344245dc8b5b31c66cef5fbd99aff35806 Mon Sep 17 00:00:00 2001 From: Eduardo Figueroa Date: Fri, 5 Dec 2025 03:36:54 +0000 Subject: [PATCH] two dashboards for testing --- compose/services/homarr/configs/default.json | 1847 ++++++++++++++++++ compose/services/homepage/compose.yaml | 37 + 2 files changed, 1884 insertions(+) create mode 100644 compose/services/homarr/configs/default.json create mode 100644 compose/services/homepage/compose.yaml diff --git a/compose/services/homarr/configs/default.json b/compose/services/homarr/configs/default.json new file mode 100644 index 0000000..f3ec639 --- /dev/null +++ b/compose/services/homarr/configs/default.json @@ -0,0 +1,1847 @@ +{ + "schemaVersion": 2, + "configProperties": { + "name": "default" + }, + "categories": [], + "wrappers": [ + { + "id": "default", + "position": 0 + } + ], + "apps": [ + { + "id": "5df743d9-5cb1-457c-85d2-64ff86855652", + "name": "Documentation", + "url": "https://homarr.dev", + "behaviour": { + "onClickUrl": "https://homarr.dev", + "externalUrl": "https://homarr.dev", + "isOpeningNewTab": true + }, + "network": { + "enabledStatusChecker": false, + "statusCodes": [ + "200" + ] + }, + "appearance": { + "iconUrl": "/imgs/logo/logo.png", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1 + }, + "integration": { + "type": null, + "properties": [] + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": { + "md": { + "location": { + "x": 5, + "y": 1 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "sm": { + "location": { + "x": 0, + "y": 1 + }, + "size": { + "width": 1, + "height": 2 + } + }, + "lg": { + "location": { + "x": 6, + "y": 1 + }, + "size": { + "width": 2, + "height": 2 + } + } + } + }, + { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a337", + "name": "Discord", + "url": "https://discord.com/invite/aCsmEV5RgA", + "behaviour": { + "onClickUrl": "https://discord.com/invite/aCsmEV5RgA", + "isOpeningNewTab": true, + "externalUrl": "https://discord.com/invite/aCsmEV5RgA", + "tooltipDescription": "Join our Discord server! We're waiting for your ideas and feedback. " + }, + "network": { + "enabledStatusChecker": false, + "statusCodes": [ + "200" + ] + }, + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/discord.png", + "appNameStatus": "normal", + "positionAppName": "row-reverse", + "lineClampAppName": 1 + }, + "integration": { + "type": null, + "properties": [] + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": { + "md": { + "location": { + "x": 3, + "y": 1 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "sm": { + "location": { + "x": 1, + "y": 4 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "lg": { + "location": { + "x": 4, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + }, + { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a330", + "name": "Contribute", + "url": "https://github.com/ajnart/homarr", + "behaviour": { + "onClickUrl": "https://github.com/ajnart/homarr", + "externalUrl": "https://github.com/ajnart/homarr", + "isOpeningNewTab": true, + "tooltipDescription": "" + }, + "network": { + "enabledStatusChecker": false, + "statusCodes": [] + }, + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/github.png", + "appNameStatus": "normal", + "positionAppName": "row-reverse", + "lineClampAppName": 2 + }, + "integration": { + "type": null, + "properties": [] + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": { + "md": { + "location": { + "x": 3, + "y": 2 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "sm": { + "location": { + "x": 1, + "y": 3 + }, + "size": { + "width": 2, + "height": 1 + } + }, + "lg": { + "location": { + "x": 2, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + }, + { + "id": "47af36c0-47c1-4e5b-bfc7-ad645ee6a990", + "name": "Donate", + "url": "https://ko-fi.com/ajnart", + "behaviour": { + "onClickUrl": "https://ko-fi.com/ajnart", + "externalUrl": "https://ko-fi.com/ajnart", + "isOpeningNewTab": true, + "tooltipDescription": "Please consider making a donation" + }, + "network": { + "enabledStatusChecker": false, + "statusCodes": [ + "200" + ] + }, + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons@master/png/ko-fi.png", + "appNameStatus": "normal", + "positionAppName": "row-reverse", + "lineClampAppName": 1 + }, + "integration": { + "type": null, + "properties": [] + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": { + "md": { + "location": { + "x": 4, + "y": 1 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "sm": { + "location": { + "x": 2, + "y": 4 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "lg": { + "location": { + "x": 6, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + }, + { + "id": "63119b75-9eff-4d25-96b3-ce9ffb109aa3", + "name": "homarr", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/homarr.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "28aba35e-af6c-44bc-a969-1b5a481fdce0", + "name": "freshrss", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/freshrss.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "165231f7-8fbc-4312-a022-7261f84cc384", + "name": "jellyseerr", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/jellyseerr.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "474f3d87-ee73-4368-8cd6-050cbaddbd03", + "name": "jellyfin", + "url": "http://localhost:7359", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/jellyfin-vue.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost:7359" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "c631cf5f-0210-4127-9dac-bf1f8922841e", + "name": "rss-bridge", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/rss-bridge.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "7c1dbaf4-878d-4fca-a308-258a0a2b5fea", + "name": "calibre-web", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/calibre-web.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "441a601d-f36b-41bc-9b7d-bff66c8553b0", + "name": "rsshub", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/rsshub.png", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "c31d8ecc-d098-4414-8d01-f4289f4795af", + "name": "karakeep", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/karakeep-dark.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "da36d167-aaac-4660-bb8f-a85a8f30f802", + "name": "karakeep-meilisearch", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/meilisearch.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "f604477d-b5b0-4198-9a3d-4432c57a2a42", + "name": "karakeep-chrome", + "url": "http://localhost", + "appearance": { + "iconUrl": "/public/imgs/logo/logo.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "26c52e16-e115-4fe8-89c7-e29dfaeef486", + "name": "immich_server", + "url": "http://localhost:2283", + "appearance": { + "iconUrl": "/public/imgs/logo/logo.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost:2283" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "72c6c3b9-bda0-4213-b2e9-b200ec5d9445", + "name": "immich_postgres", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/postgres.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "1e01303e-950b-406e-b3c9-7a7466893b23", + "name": "immich_machine_learning", + "url": "http://localhost", + "appearance": { + "iconUrl": "/public/imgs/logo/logo.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "fbe92f8f-3503-4635-b536-b8520128e473", + "name": "immich_redis", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/valkey.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "aa4ad0ac-b58e-44cc-a09a-b8aa3f0b8fc8", + "name": "sabnzbd", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/sabnzbd-light.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "467d3c7f-c12b-44d9-8678-0c981781b355", + "name": "prowlarr", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/prowlarr.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "146e7f3a-cf45-415f-bc14-c124edd72826", + "name": "profilarr", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/profilarr.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "f50fd9e9-9d5e-4ce3-bbd4-61285c856e60", + "name": "recyclarr", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/recyclarr.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "73ec50ad-f851-41c0-8685-5709f608dc30", + "name": "qbittorrent", + "url": "http://localhost:6881", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/qbittorrent.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost:6881" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "2d43a7c8-896b-47ba-980b-7788ee48edbe", + "name": "sonarr", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/sonarr-4k.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "0baa00c3-2a47-4067-b3e8-101e9a41042f", + "name": "radarr", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/radarr-4k.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "0a0a704d-91c5-4d52-901a-9c0b99573176", + "name": "uptime-kuma", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/uptime-kuma.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "352aaa9b-14ab-4752-80bd-fe083478d466", + "name": "grafana", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/grafana.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "d5131f4e-060f-481d-8535-0076b7619852", + "name": "promtail", + "url": "http://localhost", + "appearance": { + "iconUrl": "/public/imgs/logo/logo.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "2c450f1d-50cf-4e19-b63b-d1f1a1034afe", + "name": "loki", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/loki.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "6e7df1ff-35de-43f5-ac2c-07836fe8e8b8", + "name": "traefik", + "url": "http://localhost:80", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/traefik-proxy.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost:80" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "fd2661ce-25a7-40fc-9329-aa36b8ba6534", + "name": "tinyauth", + "url": "http://localhost", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/tinyauth.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "4419f6b3-d156-40aa-9619-d1433d288c37", + "name": "lldap", + "url": "http://localhost:3890", + "appearance": { + "iconUrl": "https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/svg/lldap-dark.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost:3890" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + }, + { + "id": "780f1223-4800-468c-b53b-d227ea5a0314", + "name": "quizzical_wright", + "url": "http://localhost", + "appearance": { + "iconUrl": "/public/imgs/logo/logo.svg", + "appNameStatus": "normal", + "positionAppName": "column", + "lineClampAppName": 1, + "appNameFontSize": 16 + }, + "network": { + "enabledStatusChecker": true, + "statusCodes": [ + "200", + "301", + "302", + "304", + "307", + "308" + ], + "okStatus": [ + 200, + 301, + 302, + 304, + 307, + 308 + ] + }, + "behaviour": { + "isOpeningNewTab": true, + "externalUrl": "http://localhost" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": {}, + "integration": { + "type": null, + "properties": [] + } + } + ], + "widgets": [ + { + "id": "e3004052-6b83-480e-b458-56e8ccdca5f0", + "type": "weather", + "properties": { + "displayInFahrenheit": false, + "location": { + "name": "Paris", + "latitude": 48.85341, + "longitude": 2.3488 + }, + "displayCityName": true + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": { + "md": { + "location": { + "x": 5, + "y": 0 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "sm": { + "location": { + "x": 2, + "y": 0 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "lg": { + "location": { + "x": 0, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + }, + { + "id": "971aa859-8570-49a1-8d34-dd5c7b3638d1", + "type": "date", + "properties": { + "display24HourFormat": true, + "dateFormat": "hide", + "enableTimezone": false, + "timezoneLocation": { + "name": "Paris", + "latitude": 48.85341, + "longitude": 2.3488 + }, + "titleState": "city" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": { + "sm": { + "location": { + "x": 1, + "y": 0 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "md": { + "location": { + "x": 4, + "y": 0 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "lg": { + "location": { + "x": 8, + "y": 0 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + }, + { + "id": "f252768d-9e69-491b-b6b4-8cad04fa30e8", + "type": "date", + "properties": { + "display24HourFormat": true, + "dateFormat": "hide", + "enableTimezone": true, + "timezoneLocation": { + "name": "Tokyo", + "latitude": 35.6895, + "longitude": 139.69171 + }, + "titleState": "city" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": { + "sm": { + "location": { + "x": 0, + "y": 0 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "md": { + "location": { + "x": 3, + "y": 0 + }, + "size": { + "width": 1, + "height": 1 + } + }, + "lg": { + "location": { + "x": 8, + "y": 1 + }, + "size": { + "width": 2, + "height": 1 + } + } + } + }, + { + "id": "86b1921f-efa7-410f-92dd-79553bf3264d", + "type": "notebook", + "properties": { + "showToolbar": true, + "content": "

Welcome to Homarr 🚀👋

We're glad that you're here! Homarr is a modern and easy to use dashboard that helps you to organize and manage your home network from one place. Control is at your fingertips.

We recommend you to read the getting started guide first. To edit this board you must enter the edit mode - only administrators can do this. Adding an app is the first step you should take. You can do this by clicking the Add tile button at the top right and select App. After you provided an internal URL, external URL and selected an icon you can drag it around when holding down the left mouse button. Make it bigger or smaller using the drag icon at the bottom right. When you're happy with it's position, you must exit edit mode to save your board. Adding widgets works the same way but may require additional configuration - read the documentation for more information.

To remove this widget, you must log in to your administrator account and click on the menu to delete it.

Your TODO list:

" + }, + "area": { + "type": "wrapper", + "properties": { + "id": "default" + } + }, + "shape": { + "sm": { + "location": { + "x": 0, + "y": 0 + }, + "size": { + "width": 3, + "height": 2 + } + }, + "md": { + "location": { + "x": 0, + "y": 0 + }, + "size": { + "width": 3, + "height": 4 + } + }, + "lg": { + "location": { + "x": 0, + "y": 1 + }, + "size": { + "width": 6, + "height": 3 + } + } + } + } + ], + "settings": { + "common": { + "searchEngine": { + "type": "google", + "properties": {} + } + }, + "customization": { + "layout": { + "enabledLeftSidebar": false, + "enabledRightSidebar": false, + "enabledDocker": false, + "enabledPing": false, + "enabledSearchbar": true + }, + "pageTitle": "Homarr ⭐️", + "logoImageUrl": "/imgs/logo/logo.png", + "faviconUrl": "/imgs/favicon/favicon-squared.png", + "backgroundImageUrl": "", + "customCss": "", + "colors": { + "primary": "red", + "secondary": "yellow", + "shade": 7 + }, + "appOpacity": 100, + "gridstack": { + "columnCountSmall": 3, + "columnCountMedium": 6, + "columnCountLarge": 10 + } + }, + "access": { + "allowGuests": false + } + } +} \ No newline at end of file diff --git a/compose/services/homepage/compose.yaml b/compose/services/homepage/compose.yaml new file mode 100644 index 0000000..7c619a6 --- /dev/null +++ b/compose/services/homepage/compose.yaml @@ -0,0 +1,37 @@ +# Homepage - Modern dashboard with service integrations +# Docs: https://gethomepage.dev/ + +services: + homepage: + container_name: homepage + image: ghcr.io/gethomepage/homepage:latest + restart: unless-stopped + + env_file: + - .env + + volumes: + - ./config:/app/config + - /var/run/docker.sock:/var/run/docker.sock:ro + - /mnt/media:/mnt/media:ro + + networks: + - homelab + + labels: + # Traefik + traefik.enable: true + traefik.docker.network: homelab + + # Web UI + traefik.http.routers.homepage.rule: Host(`homepage.fig.systems`) + traefik.http.routers.homepage.entrypoints: websecure + traefik.http.routers.homepage.tls.certresolver: letsencrypt + traefik.http.services.homepage.loadbalancer.server.port: 3000 + + # Optional: SSO Protection (disabled for easy dashboard access) + # traefik.http.routers.homepage.middlewares: tinyauth + +networks: + homelab: + external: true