dashy/assets/js/72e14192.c3b3a598.js

1 line
16 KiB
JavaScript

"use strict";(self.webpackChunkdashy=self.webpackChunkdashy||[]).push([[814],{5680:(e,t,a)=>{a.d(t,{xA:()=>y,yg:()=>d});var n=a(6540);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function r(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function i(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?r(Object(a),!0).forEach((function(t){o(e,t,a[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):r(Object(a)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))}))}return e}function s(e,t){if(null==e)return{};var a,n,o=function(e,t){if(null==e)return{};var a,n,o={},r=Object.keys(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n<r.length;n++)a=r[n],t.indexOf(a)>=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),p=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},y=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},u="mdxType",c={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},h=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,y=s(e,["components","mdxType","originalType","parentName"]),u=p(a),h=o,d=u["".concat(l,".").concat(h)]||u[h]||c[h]||r;return a?n.createElement(d,i(i({ref:t},y),{},{components:a})):n.createElement(d,i({ref:t},y))}));function d(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:o,i[1]=s;for(var p=2;p<r;p++)i[p]=a[p];return n.createElement.apply(null,i)}return n.createElement.apply(null,a)}h.displayName="MDXCreateElement"},9327:(e,t,a)=>{a.r(t),a.d(t,{contentTitle:()=>i,default:()=>u,frontMatter:()=>r,metadata:()=>s,toc:()=>l});var n=a(8168),o=(a(6540),a(5680));const r={},i="Quick Start",s={unversionedId:"quick-start",id:"quick-start",isDocsHomePage:!1,title:"Quick Start",description:"Welcome to Dashy! So glad you're here \ud83d\ude0a In a couple of minutes, you'll have your new dashboard up and running \ud83d\ude80",source:"@site/docs/quick-start.md",sourceDirName:".",slug:"/quick-start",permalink:"/docs/quick-start",editUrl:"https://github.com/Lissy93/dashy/edit/gh-pages/docs/docs/quick-start.md",version:"current",frontMatter:{},sidebar:"dashySidebar",next:{title:"Deployment",permalink:"/docs/deployment"}},l=[{value:"1. Prerequisites",id:"1-prerequisites",children:[]},{value:"2. Installation",id:"2-installation",children:[]},{value:"3. Configure",id:"3-configure",children:[]},{value:"4. Further Customisation",id:"4-further-customisation",children:[]},{value:"5. Final Note",id:"5-final-note",children:[]},{value:"Alternative Deployment Method 1 - From Source",id:"alternative-deployment-method-1---from-source",children:[]},{value:"Alternative Deployment Method 2 - Netlify",id:"alternative-deployment-method-2---netlify",children:[]},{value:"Alternative Deployment Method 3 - Cloud Services",id:"alternative-deployment-method-3---cloud-services",children:[]}],p={toc:l},y="wrapper";function u(e){let{components:t,...a}=e;return(0,o.yg)(y,(0,n.A)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,o.yg)("h1",{id:"quick-start"},"Quick Start"),(0,o.yg)("p",null,"Welcome to Dashy! So glad you're here \ud83d\ude0a In a couple of minutes, you'll have your new dashboard up and running \ud83d\ude80"),(0,o.yg)("p",null,(0,o.yg)("strong",{parentName:"p"},"TLDR;")," Run ",(0,o.yg)("inlineCode",{parentName:"p"},"docker run -p 8080:80 lissy93/dashy"),", then open ",(0,o.yg)("inlineCode",{parentName:"p"},"http://localhost:8080")),(0,o.yg)("hr",null),(0,o.yg)("h2",{id:"1-prerequisites"},"1. Prerequisites"),(0,o.yg)("p",null,"The quickest and easiest method of running Dashy is using Docker (or another container engine). You can find installation instructions for your system in the ",(0,o.yg)("a",{parentName:"p",href:"https://docs.docker.com/get-docker/"},"Docker Documentation"),".\nIf you don't want to use Docker, then you can use one of Dashy's other supported installation methods instead, all of which are outlined in the ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/docs/deployment.md"},"Deployment Docs"),"."),(0,o.yg)("hr",null),(0,o.yg)("h2",{id:"2-installation"},"2. Installation"),(0,o.yg)("p",null,"To pull the latest image, and build and start the app run:"),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-bash"},"docker run -d \\\n -p 8080:80 \\\n -v ~/my-conf.yml:/app/public/conf.yml \\\n --name my-dashboard \\\n --restart=always \\\n lissy93/dashy:latest\n")),(0,o.yg)("p",null,"Either replace the -v path to point to your config file, or leave it out. For a full list of available options, then see ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/docs/deployment.md#deploy-with-docker"},"Dashy with Docker")," Docs. If you'd prefer to use Docker Compose, then see ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/docs/deployment.md#using-docker-compose"},"Dashy with Docker Compose")," Docs. Alternate registries, architectures and pinned versions are also supported."),(0,o.yg)("p",null,"Your dashboard should now be up and running at ",(0,o.yg)("inlineCode",{parentName:"p"},"http://localhost:8080")," (or your servers IP address/ domain, and the port that you chose). The first time you build, it may take a few minutes."),(0,o.yg)("hr",null),(0,o.yg)("h2",{id:"3-configure"},"3. Configure"),(0,o.yg)("p",null,"Now that you've got Dashy running, you are going to want to set it up with your own content.\nConfig is written in ",(0,o.yg)("a",{parentName:"p",href:"https://yaml.org/"},"YAML Format"),", and saved in ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/public/conf.yml"},(0,o.yg)("inlineCode",{parentName:"a"},"/public/conf.yml")),".\nThe format on the config file is pretty straight forward. There are three root attributes:"),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://github.com/Lissy93/dashy/blob/master/docs/configuring.md#pageinfo"},(0,o.yg)("inlineCode",{parentName:"a"},"pageInfo"))," - Dashboard meta data, like title, description, nav bar links and footer text"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://github.com/Lissy93/dashy/blob/master/docs/configuring.md#appconfig-optional"},(0,o.yg)("inlineCode",{parentName:"a"},"appConfig"))," - Dashboard settings, like themes, authentication, language and customization"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://github.com/Lissy93/dashy/blob/master/docs/configuring.md#section"},(0,o.yg)("inlineCode",{parentName:"a"},"sections"))," - An array of sections, each including an array of items")),(0,o.yg)("p",null,"You can view a full list of all available config options in the ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/docs/configuring.md"},"Configuring Docs"),"."),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-yaml"},"pageInfo:\n title: Home Lab\nsections: # An array of sections\n- name: Example Section\n icon: far fa-rocket\n items:\n - title: GitHub\n description: Dashy source code and docs\n icon: fab fa-github\n url: https://github.com/Lissy93/dashy\n - title: Issues\n description: View open issues, or raise a new one\n icon: fas fa-bug\n url: https://github.com/Lissy93/dashy/issues\n- name: Local Services\n items:\n - title: Firewall\n icon: favicon\n url: http://192.168.1.1/\n - title: Game Server\n icon: https://i.ibb.co/710B3Yc/space-invader-x256.png\n url: http://192.168.130.1/\n")),(0,o.yg)("p",null,"Notes:"),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},"You can use a Docker volume to pass a config file from your host system to the container",(0,o.yg)("ul",{parentName:"li"},(0,o.yg)("li",{parentName:"ul"},"E.g. ",(0,o.yg)("inlineCode",{parentName:"li"},"-v ./host-system/my-local-conf.yml:/app/public/conf.yml")))),(0,o.yg)("li",{parentName:"ul"},"It's also possible to edit your config directly through the UI, and changes will be saved in this file"),(0,o.yg)("li",{parentName:"ul"},"Check your config against Dashy's schema, with ",(0,o.yg)("inlineCode",{parentName:"li"},"docker exec -it [container-id] yarn validate-config")),(0,o.yg)("li",{parentName:"ul"},"You might find it helpful to look at some examples, a collection of which can be ",(0,o.yg)("a",{parentName:"li",href:"https://gist.github.com/Lissy93/000f712a5ce98f212817d20bc16bab10"},"found here")),(0,o.yg)("li",{parentName:"ul"},"After editing your config, the app will rebuild in the background, which may take a minute")),(0,o.yg)("hr",null),(0,o.yg)("h2",{id:"4-further-customisation"},"4. Further Customisation"),(0,o.yg)("p",null,"Once you've got Dashy setup, you'll want to ensure the container is properly healthy, secured, backed up and kept up-to-date. All this is covered in the ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/docs/management.md"},"Management Docs"),"."),(0,o.yg)("p",null,"You might also want to check out the docs for specific features you'd like to use:"),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"/docs/authentication"},"Authentication")," - Setting up authentication to protect your dashboard"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"/docs/alternate-views"},"Alternate Views")," - Using the startpage and workspace view"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"/docs/backup-restore"},"Backup & Restore")," - Guide to Dashy's cloud sync feature"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"/docs/icons"},"Icons")," - Outline of all available icon types for sections and items"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"/docs/multi-language-support"},"Localisation")," - How to change language, or add your own"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"/docs/status-indicators"},"Status Indicators")," - Using Dashy to monitor uptime and status of your apps"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"/docs/searching"},"Search & Shortcuts")," - Using instant filter, web search and custom hotkeys"),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"/docs/theming"},"Theming")," - Complete guide to applying, writing and modifying themes and styles")),(0,o.yg)("hr",null),(0,o.yg)("h2",{id:"5-final-note"},"5. Final Note"),(0,o.yg)("p",null,"If you need any help or support in getting Dashy running, head over to the ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/discussions"},"Discussions")," page. If you think you've found a bug, please do ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/issues/new/choose"},"raise it")," so it can be fixed. For contact options, see the ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/.github/SUPPORT.md"},"Support Page"),"."),(0,o.yg)("p",null,"If you're enjoying Dashy, and have a few minutes to spare, please do take a moment to look at the ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/docs/contributing.md"},"Contributing Page"),". Huge thanks to ",(0,o.yg)("a",{parentName:"p",href:"https://github.com/Lissy93/dashy/blob/master/docs/credits.md"},"everyone")," who has already helped out!"),(0,o.yg)("p",null,"Enjoy your dashboard :)"),(0,o.yg)("hr",null),(0,o.yg)("h2",{id:"alternative-deployment-method-1---from-source"},"Alternative Deployment Method 1 - From Source"),(0,o.yg)("p",null,"You can also easily run the app on your system without Docker. For this ",(0,o.yg)("a",{parentName:"p",href:"https://git-scm.com/downloads"},"Git"),", ",(0,o.yg)("a",{parentName:"p",href:"https://nodejs.org/"},"Node.js"),", and ",(0,o.yg)("a",{parentName:"p",href:"https://yarnpkg.com/"},"Yarn")," are required."),(0,o.yg)("pre",null,(0,o.yg)("code",{parentName:"pre",className:"language-bash"},"git clone https://github.com/Lissy93/dashy.git && cd dashy\nyarn # Install dependencies\nyarn build # Build the app\nyarn start # Start the app\n")),(0,o.yg)("p",null,"Then edit ",(0,o.yg)("inlineCode",{parentName:"p"},"./public/conf.yml")," and rebuild the app with ",(0,o.yg)("inlineCode",{parentName:"p"},"yarn build")),(0,o.yg)("hr",null),(0,o.yg)("h2",{id:"alternative-deployment-method-2---netlify"},"Alternative Deployment Method 2 - Netlify"),(0,o.yg)("p",null,"Don't have a server? No problem! You can run Dashy for free on Netlify (as well as many ",(0,o.yg)("a",{parentName:"p",href:"/docs/deployment#deploy-to-cloud-service"},"other cloud providers"),"). All you need it a GitHub account."),(0,o.yg)("ol",null,(0,o.yg)("li",{parentName:"ol"},"Fork Dashy's repository on GitHub"),(0,o.yg)("li",{parentName:"ol"},(0,o.yg)("a",{parentName:"li",href:"app.netlify.com/login/"},"Log in")," to Netlify with GitHub"),(0,o.yg)("li",{parentName:"ol"},'Click "New site from Git" and select your forked repo, then click ',(0,o.yg)("strong",{parentName:"li"},"Deploy"),"!"),(0,o.yg)("li",{parentName:"ol"},"You can then edit the config in ",(0,o.yg)("inlineCode",{parentName:"li"},"./public/conf.yml")," in your repo, and Netlify will rebuild the app")),(0,o.yg)("hr",null),(0,o.yg)("h2",{id:"alternative-deployment-method-3---cloud-services"},"Alternative Deployment Method 3 - Cloud Services"),(0,o.yg)("p",null,"Dashy supports 1-Click deployments on several popular cloud platforms. To spin up a new instance, just click a link below:"),(0,o.yg)("ul",null,(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://app.netlify.com/start/deploy?repository=https://github.com/lissy93/dashy"},(0,o.yg)("img",{src:"https://i.ibb.co/ZxtzrP3/netlify.png",width:"18"})," Deploy to Netlify")),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://heroku.com/deploy?template=https://github.com/Lissy93/dashy"},(0,o.yg)("img",{src:"https://i.ibb.co/d2P1WZ7/heroku.png",width:"18"})," Deploy to Heroku")),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://vercel.com/new/project?template=https://github.com/lissy93/dashy"},(0,o.yg)("img",{src:"https://i.ibb.co/Ld2FZzb/vercel.png",width:"18"})," Deploy to Vercel")),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://render.com/deploy?repo=https://github.com/lissy93/dashy/tree/deploy_render"},(0,o.yg)("img",{src:"https://i.ibb.co/xCHtzgh/render.png",width:"18"})," Deploy to Render")),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://deploy.cloud.run/?git_repo=https://github.com/lissy93/dashy.git"},(0,o.yg)("img",{src:"https://i.ibb.co/J7MGymY/googlecloud.png",width:"18"})," Deploy to GCP")),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://labs.play-with-docker.com/?stack=https://raw.githubusercontent.com/Lissy93/dashy/master/docker-compose.yml"},(0,o.yg)("img",{src:"https://i.ibb.co/HVWVYF7/docker.png",width:"18"})," Deploy to PWD")),(0,o.yg)("li",{parentName:"ul"},(0,o.yg)("a",{parentName:"li",href:"https://easypanel.io/docs/templates/dashy"},(0,o.yg)("img",{src:"https://i.ibb.co/7NxnM2P/easypanel.png",width:"18"})," Deploy to Easypanel"))))}u.isMDXComponent=!0}}]);