diff --git a/404.html b/404.html index 39c97bc..0bb6fb0 100644 --- a/404.html +++ b/404.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/assets/js/a951fea5.36aeb45e.js b/assets/js/a951fea5.ef82c545.js similarity index 79% rename from assets/js/a951fea5.36aeb45e.js rename to assets/js/a951fea5.ef82c545.js index 64684e4..9ea9d7a 100644 --- a/assets/js/a951fea5.36aeb45e.js +++ b/assets/js/a951fea5.ef82c545.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"April 21, 2024",tags:[{label:"casvisor",permalink:"/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"May 23, 2024",tags:[{label:"casvisor",permalink:"/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/acf87bcd.53ae7369.js b/assets/js/acf87bcd.5e0b3b92.js similarity index 79% rename from assets/js/acf87bcd.53ae7369.js rename to assets/js/acf87bcd.5e0b3b92.js index e8c08dd..6d40320 100644 --- a/assets/js/acf87bcd.53ae7369.js +++ b/assets/js/acf87bcd.5e0b3b92.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"April 21, 2024",tags:[{label:"casvisor",permalink:"/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"May 23, 2024",tags:[{label:"casvisor",permalink:"/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.3a6324d8.js b/assets/js/b2f554cd.3a6324d8.js deleted file mode 100644 index dd947ca..0000000 --- a/assets/js/b2f554cd.3a6324d8.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[301],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-04-21T09:50:06.000Z","formattedDate":"April 21, 2024","tags":[{"label":"casvisor","permalink":"/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/assets/js/b2f554cd.92106e74.js b/assets/js/b2f554cd.92106e74.js new file mode 100644 index 0000000..0b689f0 --- /dev/null +++ b/assets/js/b2f554cd.92106e74.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[301],{10:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-05-23T12:56:39.000Z","formattedDate":"May 23, 2024","tags":[{"label":"casvisor","permalink":"/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/assets/js/ea47aeb2.5e8db163.js b/assets/js/ea47aeb2.5e8db163.js deleted file mode 100644 index 573b571..0000000 --- a/assets/js/ea47aeb2.5e8db163.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);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=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=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},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,h=d["".concat(l,".").concat(u)]||d[u]||m[u]||r;return a?n.createElement(h,i(i({ref:t},c),{},{components:a})):n.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=a(7462),o=(a(7294),a(3905));const r={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/docs/basic/installation"},next:{title:"Assets",permalink:"/docs/category/assets"}},l={},p=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],c={toc:p},d="wrapper";function m(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"requirements"},"Requirements"),(0,o.kt)("h3",{id:"hardware"},"Hardware"),(0,o.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,o.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,o.kt)("h3",{id:"os"},"OS"),(0,o.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,o.kt)("h3",{id:"docker"},"Docker"),(0,o.kt)("p",null,"You can use ",(0,o.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,o.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,o.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,o.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,o.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,o.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,o.kt)("h2",{id:"get-the-image"},"Get the image"),(0,o.kt)("p",null,"We have provided two DockerHub images:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"),(0,o.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,o.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,o.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,o.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,o.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,o.kt)("h3",{id:"option-1-use-the-toy-database"},(0,o.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,o.kt)("p",null,"Run the container with port ",(0,o.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor-all-in-one:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,o.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("p",null,"You can use ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,o.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,o.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,o.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,o.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,o.kt)("h4",{id:"mysql"},"MySQL"),(0,o.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,o.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,o.kt)("p",null,"Create ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("p",null,"Then run"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,o.kt)("p",null,"Anyway, just ",(0,o.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,o.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/ea47aeb2.a01c2166.js b/assets/js/ea47aeb2.a01c2166.js new file mode 100644 index 0000000..a5dd3fe --- /dev/null +++ b/assets/js/ea47aeb2.a01c2166.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>h});var o=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(a),m=r,h=d["".concat(l,".").concat(m)]||d[m]||u[m]||n;return a?o.createElement(h,i(i({ref:t},p),{},{components:a})):o.createElement(h,i({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=a(7462),r=(a(7294),a(3905));const n={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/docs/basic/installation"},next:{title:"Assets",permalink:"/docs/category/assets"}},l={},c=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],p={toc:c},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"requirements"},"Requirements"),(0,r.kt)("h3",{id:"hardware"},"Hardware"),(0,r.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,r.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,r.kt)("h3",{id:"os"},"OS"),(0,r.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,r.kt)("h3",{id:"docker"},"Docker"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,r.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,r.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,r.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,r.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,r.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,r.kt)("h2",{id:"get-the-image"},"Get the image"),(0,r.kt)("p",null,"We have provided two DockerHub images:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,r.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,r.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,r.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,r.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,r.kt)("h3",{id:"option-1-use-the-toy-database"},(0,r.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,r.kt)("p",null,"Run the container with port ",(0,r.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,r.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,r.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,r.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,r.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,r.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,r.kt)("h4",{id:"mysql"},"MySQL"),(0,r.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,r.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,r.kt)("p",null,"Create ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("p",null,"Then run"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,r.kt)("p",null,"Anyway, just ",(0,r.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,r.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,r.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.d75f9096.js b/assets/js/runtime~main.08c25df6.js similarity index 55% rename from assets/js/runtime~main.d75f9096.js rename to assets/js/runtime~main.08c25df6.js index 74f5c8f..fd5ca85 100644 --- a/assets/js/runtime~main.d75f9096.js +++ b/assets/js/runtime~main.08c25df6.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,a,r,c,d={},o={};function b(e){var t=o[e];if(void 0!==t)return t.exports;var a=o[e]={exports:{}};return d[e].call(a.exports,a,a.exports,b),a.exports}b.m=d,e=[],b.O=(t,a,r,c)=>{if(!a){var d=1/0;for(i=0;i=c)&&Object.keys(b.O).every((e=>b.O[e](a[f])))?a.splice(f--,1):(o=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[a,r,c]},b.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return b.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,b.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);b.r(c);var d={};t=t||[null,a({}),a([]),a(a)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=a(o))Object.getOwnPropertyNames(o).forEach((t=>d[t]=()=>e[t]));return d.default=()=>e,b.d(c,d),c},b.d=(e,t)=>{for(var a in t)b.o(t,a)&&!b.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},b.f={},b.e=e=>Promise.all(Object.keys(b.f).reduce(((t,a)=>(b.f[a](e,t),t)),[])),b.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",151:"7190cbd8",167:"3c34cc8d",175:"269afbcb",195:"c4f5d8e4",217:"1dba9094",301:"b2f554cd",305:"92f6d415",310:"ea47aeb2",369:"52be48e5",391:"290cc788",432:"a951fea5",477:"9f958c7d",514:"1be78505",533:"b2b675dd",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",646:"acf87bcd",713:"a7023ddc",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",817:"14eb3368",864:"8dd2e619",918:"17896441",933:"39b3f2e7"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"fcf78295",68:"fcef898b",81:"46eb4fb4",89:"1656bb5b",103:"e5273bec",151:"da92c47e",167:"f69c8db3",175:"039b4bc7",195:"5f072758",217:"b7d5aef2",301:"3a6324d8",305:"275fad0e",310:"5e8db163",316:"81ede736",369:"68628eb6",391:"0946f115",432:"36aeb45e",477:"35229af6",487:"c64f1a92",514:"bc0c2ac7",533:"124ddf38",535:"17c47168",562:"ab71eabd",583:"ab265d9c",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",628:"2fe50af1",646:"53ae7369",713:"3b3f3e4a",724:"1f48a7fd",740:"70ede3d4",776:"f24efa91",778:"5e624e7e",780:"de6153af",817:"59925caf",864:"5528c9b9",918:"d7957afb",933:"0098bc9a",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",b.miniCssF=e=>{},b.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),b.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},c="casvisor-website:",b.l=(e,t,a,d)=>{if(r[e])r[e].push(t);else{var o,f;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach((e=>e(a))),t)return t(a)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),f&&document.head.appendChild(o)}},b.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},b.p="/",b.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","7190cbd8":"151","3c34cc8d":"167","269afbcb":"175",c4f5d8e4:"195","1dba9094":"217",b2f554cd:"301","92f6d415":"305",ea47aeb2:"310","52be48e5":"369","290cc788":"391",a951fea5:"432","9f958c7d":"477","1be78505":"514",b2b675dd:"533","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610",acf87bcd:"646",a7023ddc:"713","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","14eb3368":"817","8dd2e619":"864","39b3f2e7":"933"}[e]||e,b.p+b.u(e)},(()=>{var e={303:0,532:0};b.f.j=(t,a)=>{var r=b.o(e,t)?e[t]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var c=new Promise(((a,c)=>r=e[t]=[a,c]));a.push(r[2]=c);var d=b.p+b.u(t),o=new Error;b.l(d,(a=>{if(b.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var c=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;o.message="Loading chunk "+t+" failed.\n("+c+": "+d+")",o.name="ChunkLoadError",o.type=c,o.request=d,r[1](o)}}),"chunk-"+t,t)}},b.O.j=t=>0===e[t];var t=(t,a)=>{var r,c,d=a[0],o=a[1],f=a[2],n=0;if(d.some((t=>0!==e[t]))){for(r in o)b.o(o,r)&&(b.m[r]=o[r]);if(f)var i=f(b)}for(t&&t(a);n{"use strict";var e,t,a,r,c,d={},o={};function f(e){var t=o[e];if(void 0!==t)return t.exports;var a=o[e]={exports:{}};return d[e].call(a.exports,a,a.exports,f),a.exports}f.m=d,e=[],f.O=(t,a,r,c)=>{if(!a){var d=1/0;for(i=0;i=c)&&Object.keys(f.O).every((e=>f.O[e](a[b])))?a.splice(b--,1):(o=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[a,r,c]},f.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return f.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);f.r(c);var d={};t=t||[null,a({}),a([]),a(a)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=a(o))Object.getOwnPropertyNames(o).forEach((t=>d[t]=()=>e[t]));return d.default=()=>e,f.d(c,d),c},f.d=(e,t)=>{for(var a in t)f.o(t,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((t,a)=>(f.f[a](e,t),t)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",151:"7190cbd8",167:"3c34cc8d",175:"269afbcb",195:"c4f5d8e4",217:"1dba9094",301:"b2f554cd",305:"92f6d415",310:"ea47aeb2",369:"52be48e5",391:"290cc788",432:"a951fea5",477:"9f958c7d",514:"1be78505",533:"b2b675dd",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",646:"acf87bcd",713:"a7023ddc",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",817:"14eb3368",864:"8dd2e619",918:"17896441",933:"39b3f2e7"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"fcf78295",68:"fcef898b",81:"46eb4fb4",89:"1656bb5b",103:"e5273bec",151:"da92c47e",167:"f69c8db3",175:"039b4bc7",195:"5f072758",217:"b7d5aef2",301:"92106e74",305:"275fad0e",310:"a01c2166",316:"81ede736",369:"68628eb6",391:"0946f115",432:"ef82c545",477:"35229af6",487:"c64f1a92",514:"bc0c2ac7",533:"124ddf38",535:"17c47168",562:"ab71eabd",583:"ab265d9c",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",628:"2fe50af1",646:"5e0b3b92",713:"3b3f3e4a",724:"1f48a7fd",740:"70ede3d4",776:"f24efa91",778:"5e624e7e",780:"de6153af",817:"59925caf",864:"5528c9b9",918:"d7957afb",933:"0098bc9a",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},c="casvisor-website:",f.l=(e,t,a,d)=>{if(r[e])r[e].push(t);else{var o,b;if(void 0!==a)for(var n=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach((e=>e(a))),t)return t(a)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),b&&document.head.appendChild(o)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","7190cbd8":"151","3c34cc8d":"167","269afbcb":"175",c4f5d8e4:"195","1dba9094":"217",b2f554cd:"301","92f6d415":"305",ea47aeb2:"310","52be48e5":"369","290cc788":"391",a951fea5:"432","9f958c7d":"477","1be78505":"514",b2b675dd:"533","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610",acf87bcd:"646",a7023ddc:"713","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","14eb3368":"817","8dd2e619":"864","39b3f2e7":"933"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(t,a)=>{var r=f.o(e,t)?e[t]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var c=new Promise(((a,c)=>r=e[t]=[a,c]));a.push(r[2]=c);var d=f.p+f.u(t),o=new Error;f.l(d,(a=>{if(f.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var c=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;o.message="Loading chunk "+t+" failed.\n("+c+": "+d+")",o.name="ChunkLoadError",o.type=c,o.request=d,r[1](o)}}),"chunk-"+t,t)}},f.O.j=t=>0===e[t];var t=(t,a)=>{var r,c,d=a[0],o=a[1],b=a[2],n=0;if(d.some((t=>0!==e[t]))){for(r in o)f.o(o,r)&&(f.m[r]=o[r]);if(b)var i=b(f)}for(t&&t(a);n!function(t,h,e,j,s,n){t.hj=t.hj||function(){(t.hj.q=t.hj.q||[]).push(arguments)},t._hjSettings={hjid:3620236,hjsv:6},s=h.getElementsByTagName("head")[0],(n=h.createElement("script")).async=1,n.src="https://static.hotjar.com/c/hotjar-"+t._hjSettings.hjid+".js?sv="+t._hjSettings.hjsv,s.appendChild(n)}(window,document) - +
-

Archive

Archive

- + \ No newline at end of file diff --git a/fr/assets/js/cf23ded0.e8e0be82.js b/de/assets/js/291c70d7.4f6240bc.js similarity index 51% rename from fr/assets/js/cf23ded0.e8e0be82.js rename to de/assets/js/291c70d7.4f6240bc.js index 4fcdf99..99d30ef 100644 --- a/fr/assets/js/cf23ded0.e8e0be82.js +++ b/de/assets/js/291c70d7.4f6240bc.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[375],{441:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/fr/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-04-21T09:50:06.000Z","formattedDate":"21 avril 2024","tags":[{"label":"casvisor","permalink":"/fr/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[725],{9574:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/de/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-05-23T12:56:39.000Z","formattedDate":"23. Mai 2024","tags":[{"label":"casvisor","permalink":"/de/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/de/assets/js/291c70d7.f6c11373.js b/de/assets/js/291c70d7.f6c11373.js deleted file mode 100644 index 0cc7a1b..0000000 --- a/de/assets/js/291c70d7.f6c11373.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[725],{9574:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/de/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-04-21T09:50:06.000Z","formattedDate":"21. April 2024","tags":[{"label":"casvisor","permalink":"/de/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/de/assets/js/a951fea5.f33e2634.js b/de/assets/js/a951fea5.cfee5137.js similarity index 79% rename from de/assets/js/a951fea5.f33e2634.js rename to de/assets/js/a951fea5.cfee5137.js index c15ec4c..b3d735f 100644 --- a/de/assets/js/a951fea5.f33e2634.js +++ b/de/assets/js/a951fea5.cfee5137.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/de/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"21. April 2024",tags:[{label:"casvisor",permalink:"/de/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/de/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"23. Mai 2024",tags:[{label:"casvisor",permalink:"/de/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/de/assets/js/acf87bcd.94e6b9e3.js b/de/assets/js/acf87bcd.8130afad.js similarity index 79% rename from de/assets/js/acf87bcd.94e6b9e3.js rename to de/assets/js/acf87bcd.8130afad.js index ede1a87..a9e3fef 100644 --- a/de/assets/js/acf87bcd.94e6b9e3.js +++ b/de/assets/js/acf87bcd.8130afad.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/de/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"21. April 2024",tags:[{label:"casvisor",permalink:"/de/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/de/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"23. Mai 2024",tags:[{label:"casvisor",permalink:"/de/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/de/assets/js/ea47aeb2.1a8586c3.js b/de/assets/js/ea47aeb2.1a8586c3.js new file mode 100644 index 0000000..c990a6c --- /dev/null +++ b/de/assets/js/ea47aeb2.1a8586c3.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>h});var o=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(a),m=r,h=d["".concat(l,".").concat(m)]||d[m]||u[m]||n;return a?o.createElement(h,i(i({ref:t},p),{},{components:a})):o.createElement(h,i({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=a(7462),r=(a(7294),a(3905));const n={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/de/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/de/docs/basic/installation"},next:{title:"Assets",permalink:"/de/docs/category/assets"}},l={},c=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],p={toc:c},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"requirements"},"Requirements"),(0,r.kt)("h3",{id:"hardware"},"Hardware"),(0,r.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,r.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,r.kt)("h3",{id:"os"},"OS"),(0,r.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,r.kt)("h3",{id:"docker"},"Docker"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,r.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,r.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,r.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,r.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,r.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,r.kt)("h2",{id:"get-the-image"},"Get the image"),(0,r.kt)("p",null,"We have provided two DockerHub images:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,r.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,r.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,r.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,r.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,r.kt)("h3",{id:"option-1-use-the-toy-database"},(0,r.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,r.kt)("p",null,"Run the container with port ",(0,r.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,r.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,r.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,r.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,r.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,r.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,r.kt)("h4",{id:"mysql"},"MySQL"),(0,r.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,r.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,r.kt)("p",null,"Create ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("p",null,"Then run"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,r.kt)("p",null,"Anyway, just ",(0,r.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,r.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,r.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/de/assets/js/ea47aeb2.cc288558.js b/de/assets/js/ea47aeb2.cc288558.js deleted file mode 100644 index cc9dd00..0000000 --- a/de/assets/js/ea47aeb2.cc288558.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);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=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=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},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,h=d["".concat(l,".").concat(u)]||d[u]||m[u]||r;return a?n.createElement(h,i(i({ref:t},c),{},{components:a})):n.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=a(7462),o=(a(7294),a(3905));const r={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/de/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/de/docs/basic/installation"},next:{title:"Assets",permalink:"/de/docs/category/assets"}},l={},p=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],c={toc:p},d="wrapper";function m(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"requirements"},"Requirements"),(0,o.kt)("h3",{id:"hardware"},"Hardware"),(0,o.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,o.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,o.kt)("h3",{id:"os"},"OS"),(0,o.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,o.kt)("h3",{id:"docker"},"Docker"),(0,o.kt)("p",null,"You can use ",(0,o.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,o.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,o.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,o.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,o.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,o.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,o.kt)("h2",{id:"get-the-image"},"Get the image"),(0,o.kt)("p",null,"We have provided two DockerHub images:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"),(0,o.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,o.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,o.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,o.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,o.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,o.kt)("h3",{id:"option-1-use-the-toy-database"},(0,o.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,o.kt)("p",null,"Run the container with port ",(0,o.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor-all-in-one:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,o.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("p",null,"You can use ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,o.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,o.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,o.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,o.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,o.kt)("h4",{id:"mysql"},"MySQL"),(0,o.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,o.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,o.kt)("p",null,"Create ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("p",null,"Then run"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,o.kt)("p",null,"Anyway, just ",(0,o.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,o.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/de/assets/js/runtime~main.637aa41b.js b/de/assets/js/runtime~main.a624e99a.js similarity index 51% rename from de/assets/js/runtime~main.637aa41b.js rename to de/assets/js/runtime~main.a624e99a.js index cbca8f3..b2a2201 100644 --- a/de/assets/js/runtime~main.637aa41b.js +++ b/de/assets/js/runtime~main.a624e99a.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,a,r,c,d={},o={};function f(e){var t=o[e];if(void 0!==t)return t.exports;var a=o[e]={exports:{}};return d[e].call(a.exports,a,a.exports,f),a.exports}f.m=d,e=[],f.O=(t,a,r,c)=>{if(!a){var d=1/0;for(i=0;i=c)&&Object.keys(f.O).every((e=>f.O[e](a[n])))?a.splice(n--,1):(o=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[a,r,c]},f.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return f.d(t,{a:t}),t},a=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);f.r(c);var d={};t=t||[null,a({}),a([]),a(a)];for(var o=2&r&&e;"object"==typeof o&&!~t.indexOf(o);o=a(o))Object.getOwnPropertyNames(o).forEach((t=>d[t]=()=>e[t]));return d.default=()=>e,f.d(c,d),c},f.d=(e,t)=>{for(var a in t)f.o(t,a)&&!f.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((t,a)=>(f.f[a](e,t),t)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",45:"5a84578f",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",305:"92f6d415",307:"efa2691c",310:"ea47aeb2",391:"290cc788",432:"a951fea5",495:"41944db3",512:"756b6fdd",514:"1be78505",534:"5c56caec",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",609:"5d433765",610:"6875c492",646:"acf87bcd",725:"291c70d7",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",817:"14eb3368",864:"8dd2e619",917:"06459453",918:"17896441"}[e]||e)+"."+{13:"3186fb4b",45:"605ae6e1",48:"63c544ab",53:"8ee4202b",68:"02ae9043",81:"c3f39f16",89:"1656bb5b",103:"e5273bec",151:"f180b9d5",195:"5f072758",217:"b7d5aef2",305:"a130eaf9",307:"070b54c6",310:"cc288558",316:"81ede736",391:"0946f115",432:"f33e2634",487:"c64f1a92",495:"a76584eb",512:"1ed9e966",514:"bc0c2ac7",534:"b9b80df1",535:"21bb2956",562:"3d64ac69",583:"7d9909ff",594:"0b9b45b6",608:"f0c69295",609:"923dd135",610:"419d4bd6",628:"2fe50af1",646:"94e6b9e3",724:"1f48a7fd",725:"f6c11373",740:"70ede3d4",776:"8c8bf2d8",778:"0208f995",780:"de6153af",817:"59925caf",864:"5528c9b9",917:"12299bd9",918:"d7957afb",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r={},c="casvisor-website:",f.l=(e,t,a,d)=>{if(r[e])r[e].push(t);else{var o,n;if(void 0!==a)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach((e=>e(a))),t)return t(a)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),n&&document.head.appendChild(o)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/de/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","5a84578f":"45","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","92f6d415":"305",efa2691c:"307",ea47aeb2:"310","290cc788":"391",a951fea5:"432","41944db3":"495","756b6fdd":"512","1be78505":"514","5c56caec":"534","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","5d433765":"609","6875c492":"610",acf87bcd:"646","291c70d7":"725","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","14eb3368":"817","8dd2e619":"864","06459453":"917"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(t,a)=>{var r=f.o(e,t)?e[t]:void 0;if(0!==r)if(r)a.push(r[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var c=new Promise(((a,c)=>r=e[t]=[a,c]));a.push(r[2]=c);var d=f.p+f.u(t),o=new Error;f.l(d,(a=>{if(f.o(e,t)&&(0!==(r=e[t])&&(e[t]=void 0),r)){var c=a&&("load"===a.type?"missing":a.type),d=a&&a.target&&a.target.src;o.message="Loading chunk "+t+" failed.\n("+c+": "+d+")",o.name="ChunkLoadError",o.type=c,o.request=d,r[1](o)}}),"chunk-"+t,t)}},f.O.j=t=>0===e[t];var t=(t,a)=>{var r,c,d=a[0],o=a[1],n=a[2],b=0;if(d.some((t=>0!==e[t]))){for(r in o)f.o(o,r)&&(f.m[r]=o[r]);if(n)var i=n(f)}for(t&&t(a);b{"use strict";var e,t,r,a,c,d={},o={};function f(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}};return d[e].call(r.exports,r,r.exports,f),r.exports}f.m=d,e=[],f.O=(t,r,a,c)=>{if(!r){var d=1/0;for(i=0;i=c)&&Object.keys(f.O).every((e=>f.O[e](r[n])))?r.splice(n--,1):(o=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[r,a,c]},f.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return f.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var c=Object.create(null);f.r(c);var d={};t=t||[null,r({}),r([]),r(r)];for(var o=2&a&&e;"object"==typeof o&&!~t.indexOf(o);o=r(o))Object.getOwnPropertyNames(o).forEach((t=>d[t]=()=>e[t]));return d.default=()=>e,f.d(c,d),c},f.d=(e,t)=>{for(var r in t)f.o(t,r)&&!f.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((t,r)=>(f.f[r](e,t),t)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",45:"5a84578f",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",305:"92f6d415",307:"efa2691c",310:"ea47aeb2",391:"290cc788",432:"a951fea5",495:"41944db3",512:"756b6fdd",514:"1be78505",534:"5c56caec",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",609:"5d433765",610:"6875c492",646:"acf87bcd",725:"291c70d7",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",817:"14eb3368",864:"8dd2e619",917:"06459453",918:"17896441"}[e]||e)+"."+{13:"3186fb4b",45:"605ae6e1",48:"63c544ab",53:"8ee4202b",68:"02ae9043",81:"c3f39f16",89:"1656bb5b",103:"e5273bec",151:"f180b9d5",195:"5f072758",217:"b7d5aef2",305:"a130eaf9",307:"070b54c6",310:"1a8586c3",316:"81ede736",391:"0946f115",432:"cfee5137",487:"c64f1a92",495:"a76584eb",512:"1ed9e966",514:"bc0c2ac7",534:"b9b80df1",535:"21bb2956",562:"3d64ac69",583:"7d9909ff",594:"0b9b45b6",608:"f0c69295",609:"923dd135",610:"419d4bd6",628:"2fe50af1",646:"8130afad",724:"1f48a7fd",725:"4f6240bc",740:"70ede3d4",776:"8c8bf2d8",778:"0208f995",780:"de6153af",817:"59925caf",864:"5528c9b9",917:"12299bd9",918:"d7957afb",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},c="casvisor-website:",f.l=(e,t,r,d)=>{if(a[e])a[e].push(t);else{var o,n;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var c=a[e];if(delete a[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach((e=>e(r))),t)return t(r)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),n&&document.head.appendChild(o)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/de/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","5a84578f":"45","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","92f6d415":"305",efa2691c:"307",ea47aeb2:"310","290cc788":"391",a951fea5:"432","41944db3":"495","756b6fdd":"512","1be78505":"514","5c56caec":"534","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","5d433765":"609","6875c492":"610",acf87bcd:"646","291c70d7":"725","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","14eb3368":"817","8dd2e619":"864","06459453":"917"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(t,r)=>{var a=f.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var c=new Promise(((r,c)=>a=e[t]=[r,c]));r.push(a[2]=c);var d=f.p+f.u(t),o=new Error;f.l(d,(r=>{if(f.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var c=r&&("load"===r.type?"missing":r.type),d=r&&r.target&&r.target.src;o.message="Loading chunk "+t+" failed.\n("+c+": "+d+")",o.name="ChunkLoadError",o.type=c,o.request=d,a[1](o)}}),"chunk-"+t,t)}},f.O.j=t=>0===e[t];var t=(t,r)=>{var a,c,d=r[0],o=r[1],n=r[2],b=0;if(d.some((t=>0!==e[t]))){for(a in o)f.o(o,a)&&(f.m[a]=o[a]);if(n)var i=n(f)}for(t&&t(r);b!function(t,h,e,j,s,n){t.hj=t.hj||function(){(t.hj.q=t.hj.q||[]).push(arguments)},t._hjSettings={hjid:3620236,hjsv:6},s=h.getElementsByTagName("head")[0],(n=h.createElement("script")).async=1,n.src="https://static.hotjar.com/c/hotjar-"+t._hjSettings.hjid+".js?sv="+t._hjSettings.hjsv,s.appendChild(n)}(window,document) - +
-

Archiv

Archiv

- + \ No newline at end of file diff --git a/de/docs/asset/intranet/index.html b/de/docs/asset/intranet/index.html index 0555baa..cc48f73 100644 --- a/de/docs/asset/intranet/index.html +++ b/de/docs/asset/intranet/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/de/docs/asset/overview/index.html b/de/docs/asset/overview/index.html index 7d9acd8..5fef489 100644 --- a/de/docs/asset/overview/index.html +++ b/de/docs/asset/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/de/docs/asset/rdp/index.html b/de/docs/asset/rdp/index.html index 5588c3c..5798ce9 100644 --- a/de/docs/asset/rdp/index.html +++ b/de/docs/asset/rdp/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/de/docs/asset/vnc/index.html b/de/docs/asset/vnc/index.html index a567024..a24da1c 100644 --- a/de/docs/asset/vnc/index.html +++ b/de/docs/asset/vnc/index.html @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + \ No newline at end of file diff --git a/de/docs/basic/installation/index.html b/de/docs/basic/installation/index.html index e2c9465..7dca97a 100644 --- a/de/docs/basic/installation/index.html +++ b/de/docs/basic/installation/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/de/docs/basic/try-with-docker/index.html b/de/docs/basic/try-with-docker/index.html index debb437..fb90684 100644 --- a/de/docs/basic/try-with-docker/index.html +++ b/de/docs/basic/try-with-docker/index.html @@ -12,7 +12,7 @@ - + @@ -21,12 +21,12 @@ the necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can start Casvisor immediately with just one or two commands, without any complex configuration. However, please note that we do not recommend using this image in a production environment.

Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use -the office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file conf/app.conf.

Option-1: Use the toy database

Run the container with port 19000 exposed to the host. The image will be automatically pulled if it doesn't exist on the local host.

docker run -p 19000:19000 casbin/casvisor-all-in-one

Visit http://localhost:19000 in your browser.

caution

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor-all-in-one:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Option-2: Try with docker-compose

caution

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

You can use docker-compose.yml in the official repository. Create a conf/app.conf directory in the same directory level as the docker-compose.yml file. Then, copy app.conf from Casvisor. For more details about app.conf, you can see configuration.

docker-compose up

That's it! 🛩️

Visit http://localhost:19000 in your browser.

Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called "RUNNING_IN_DOCKER". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.

Option-3: Try directly with the standard image

MySQL

Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:

docker run  \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql:/var/lib/mysql \
mysql:8.0.25

Run Casvisor

Create conf/app.conf. You can copy it from conf/app.conf in Casvisor. For more details about app.conf, you can see configuration.

Then run

docker run  -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest

Anyway, just mount the folder of app.conf to /home/casvisor/conf and start the container.

tip

If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution.

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-e casdoorEndpoint=https://door.casdoor.com \
-e clientId=b108dacba027db36ec26 \
-e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \
-e casdoorOrganization=casbin \
-e casdoorApplication=app-casvisor \
-p 19000:19000 \
casbin/casvisor:latest

caution

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Run guacd

Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Visit http://localhost:19000 in your browser.


- + \ No newline at end of file diff --git a/de/docs/category/assets/index.html b/de/docs/category/assets/index.html index 06547a4..48238a7 100644 --- a/de/docs/category/assets/index.html +++ b/de/docs/category/assets/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@
- + \ No newline at end of file diff --git a/de/docs/category/commands/index.html b/de/docs/category/commands/index.html index d01c9e4..66e65be 100644 --- a/de/docs/category/commands/index.html +++ b/de/docs/category/commands/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/de/docs/category/the-basics/index.html b/de/docs/category/the-basics/index.html index 4b7efd1..d04a82d 100644 --- a/de/docs/category/the-basics/index.html +++ b/de/docs/category/the-basics/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/de/docs/command/index.html b/de/docs/command/index.html index e92b598..39cd99b 100644 --- a/de/docs/command/index.html +++ b/de/docs/command/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/de/docs/overview/index.html b/de/docs/overview/index.html index d018b6a..d7448f4 100644 --- a/de/docs/overview/index.html +++ b/de/docs/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/de/help/index.html b/de/help/index.html index a059384..42eb05a 100644 --- a/de/help/index.html +++ b/de/help/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/de/index.html b/de/index.html index c2f75a5..444bbe8 100644 --- a/de/index.html +++ b/de/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/de/pdf/index.html b/de/pdf/index.html index 8844fcf..290da8d 100644 --- a/de/pdf/index.html +++ b/de/pdf/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/de/users/index.html b/de/users/index.html index 32c0a25..c7a97b2 100644 --- a/de/users/index.html +++ b/de/users/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/docs/asset/database/index.html b/docs/asset/database/index.html index 6ec8e7c..4e13f74 100644 --- a/docs/asset/database/index.html +++ b/docs/asset/database/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/docs/asset/intranet/index.html b/docs/asset/intranet/index.html index 0d0b044..0f021fb 100644 --- a/docs/asset/intranet/index.html +++ b/docs/asset/intranet/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/docs/asset/overview/index.html b/docs/asset/overview/index.html index d2fbd6d..609f9c6 100644 --- a/docs/asset/overview/index.html +++ b/docs/asset/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/docs/asset/rdp/index.html b/docs/asset/rdp/index.html index 5da0d32..8f9f9d3 100644 --- a/docs/asset/rdp/index.html +++ b/docs/asset/rdp/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/docs/asset/vnc/index.html b/docs/asset/vnc/index.html index c43e653..e9ed03a 100644 --- a/docs/asset/vnc/index.html +++ b/docs/asset/vnc/index.html @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + \ No newline at end of file diff --git a/docs/basic/installation/index.html b/docs/basic/installation/index.html index 69676ff..166930d 100644 --- a/docs/basic/installation/index.html +++ b/docs/basic/installation/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/docs/basic/try-with-docker/index.html b/docs/basic/try-with-docker/index.html index adccff2..53319d9 100644 --- a/docs/basic/try-with-docker/index.html +++ b/docs/basic/try-with-docker/index.html @@ -12,7 +12,7 @@ - + @@ -21,12 +21,12 @@ the necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can start Casvisor immediately with just one or two commands, without any complex configuration. However, please note that we do not recommend using this image in a production environment.

Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use -the office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file conf/app.conf.

Option-1: Use the toy database

Run the container with port 19000 exposed to the host. The image will be automatically pulled if it doesn't exist on the local host.

docker run -p 19000:19000 casbin/casvisor-all-in-one

Visit http://localhost:19000 in your browser.

caution

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor-all-in-one:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Option-2: Try with docker-compose

caution

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

You can use docker-compose.yml in the official repository. Create a conf/app.conf directory in the same directory level as the docker-compose.yml file. Then, copy app.conf from Casvisor. For more details about app.conf, you can see configuration.

docker-compose up

That's it! 🛩️

Visit http://localhost:19000 in your browser.

Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called "RUNNING_IN_DOCKER". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.

Option-3: Try directly with the standard image

MySQL

Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:

docker run  \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql:/var/lib/mysql \
mysql:8.0.25

Run Casvisor

Create conf/app.conf. You can copy it from conf/app.conf in Casvisor. For more details about app.conf, you can see configuration.

Then run

docker run  -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest

Anyway, just mount the folder of app.conf to /home/casvisor/conf and start the container.

tip

If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution.

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-e casdoorEndpoint=https://door.casdoor.com \
-e clientId=b108dacba027db36ec26 \
-e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \
-e casdoorOrganization=casbin \
-e casdoorApplication=app-casvisor \
-p 19000:19000 \
casbin/casvisor:latest

caution

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Run guacd

Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Visit http://localhost:19000 in your browser.


- + \ No newline at end of file diff --git a/docs/category/assets/index.html b/docs/category/assets/index.html index 783a72e..60e779f 100644 --- a/docs/category/assets/index.html +++ b/docs/category/assets/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@
- + \ No newline at end of file diff --git a/docs/category/commands/index.html b/docs/category/commands/index.html index a6e33fd..6b9d895 100644 --- a/docs/category/commands/index.html +++ b/docs/category/commands/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/docs/category/the-basics/index.html b/docs/category/the-basics/index.html index 964a641..2441314 100644 --- a/docs/category/the-basics/index.html +++ b/docs/category/the-basics/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/docs/command/index.html b/docs/command/index.html index 556a759..cc1a220 100644 --- a/docs/command/index.html +++ b/docs/command/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/docs/overview/index.html b/docs/overview/index.html index e819ade..70679ed 100644 --- a/docs/overview/index.html +++ b/docs/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/404.html b/fr/404.html index 0a9740a..d8599c2 100644 --- a/fr/404.html +++ b/fr/404.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/assets/js/a951fea5.4ba4c9db.js b/fr/assets/js/a951fea5.1a1c8b48.js similarity index 79% rename from fr/assets/js/a951fea5.4ba4c9db.js rename to fr/assets/js/a951fea5.1a1c8b48.js index f778445..fc10d58 100644 --- a/fr/assets/js/a951fea5.4ba4c9db.js +++ b/fr/assets/js/a951fea5.1a1c8b48.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/fr/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"21 avril 2024",tags:[{label:"casvisor",permalink:"/fr/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/fr/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"23 mai 2024",tags:[{label:"casvisor",permalink:"/fr/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/fr/assets/js/acf87bcd.76564119.js b/fr/assets/js/acf87bcd.0bc3ecb1.js similarity index 79% rename from fr/assets/js/acf87bcd.76564119.js rename to fr/assets/js/acf87bcd.0bc3ecb1.js index f80e210..750c266 100644 --- a/fr/assets/js/acf87bcd.76564119.js +++ b/fr/assets/js/acf87bcd.0bc3ecb1.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/fr/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"21 avril 2024",tags:[{label:"casvisor",permalink:"/fr/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/fr/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"23 mai 2024",tags:[{label:"casvisor",permalink:"/fr/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/fr/assets/js/cf23ded0.263811c2.js b/fr/assets/js/cf23ded0.263811c2.js new file mode 100644 index 0000000..323aaa7 --- /dev/null +++ b/fr/assets/js/cf23ded0.263811c2.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[375],{441:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/fr/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-05-23T12:56:39.000Z","formattedDate":"23 mai 2024","tags":[{"label":"casvisor","permalink":"/fr/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/fr/assets/js/ea47aeb2.2336406c.js b/fr/assets/js/ea47aeb2.2336406c.js deleted file mode 100644 index dc76373..0000000 --- a/fr/assets/js/ea47aeb2.2336406c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);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=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=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},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,h=d["".concat(l,".").concat(u)]||d[u]||m[u]||r;return a?n.createElement(h,i(i({ref:t},c),{},{components:a})):n.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=a(7462),o=(a(7294),a(3905));const r={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/fr/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/fr/docs/basic/installation"},next:{title:"Assets",permalink:"/fr/docs/category/assets"}},l={},p=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],c={toc:p},d="wrapper";function m(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"requirements"},"Requirements"),(0,o.kt)("h3",{id:"hardware"},"Hardware"),(0,o.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,o.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,o.kt)("h3",{id:"os"},"OS"),(0,o.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,o.kt)("h3",{id:"docker"},"Docker"),(0,o.kt)("p",null,"You can use ",(0,o.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,o.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,o.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,o.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,o.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,o.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,o.kt)("h2",{id:"get-the-image"},"Get the image"),(0,o.kt)("p",null,"We have provided two DockerHub images:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"),(0,o.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,o.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,o.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,o.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,o.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,o.kt)("h3",{id:"option-1-use-the-toy-database"},(0,o.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,o.kt)("p",null,"Run the container with port ",(0,o.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor-all-in-one:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,o.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("p",null,"You can use ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,o.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,o.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,o.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,o.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,o.kt)("h4",{id:"mysql"},"MySQL"),(0,o.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,o.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,o.kt)("p",null,"Create ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("p",null,"Then run"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,o.kt)("p",null,"Anyway, just ",(0,o.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,o.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/fr/assets/js/ea47aeb2.34262a21.js b/fr/assets/js/ea47aeb2.34262a21.js new file mode 100644 index 0000000..e58230b --- /dev/null +++ b/fr/assets/js/ea47aeb2.34262a21.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>h});var o=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(a),m=r,h=d["".concat(l,".").concat(m)]||d[m]||u[m]||n;return a?o.createElement(h,i(i({ref:t},p),{},{components:a})):o.createElement(h,i({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=a(7462),r=(a(7294),a(3905));const n={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/fr/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/fr/docs/basic/installation"},next:{title:"Assets",permalink:"/fr/docs/category/assets"}},l={},c=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],p={toc:c},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"requirements"},"Requirements"),(0,r.kt)("h3",{id:"hardware"},"Hardware"),(0,r.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,r.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,r.kt)("h3",{id:"os"},"OS"),(0,r.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,r.kt)("h3",{id:"docker"},"Docker"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,r.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,r.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,r.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,r.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,r.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,r.kt)("h2",{id:"get-the-image"},"Get the image"),(0,r.kt)("p",null,"We have provided two DockerHub images:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,r.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,r.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,r.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,r.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,r.kt)("h3",{id:"option-1-use-the-toy-database"},(0,r.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,r.kt)("p",null,"Run the container with port ",(0,r.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,r.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,r.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,r.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,r.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,r.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,r.kt)("h4",{id:"mysql"},"MySQL"),(0,r.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,r.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,r.kt)("p",null,"Create ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("p",null,"Then run"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,r.kt)("p",null,"Anyway, just ",(0,r.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,r.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,r.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/fr/assets/js/runtime~main.5e8e304b.js b/fr/assets/js/runtime~main.de0a1342.js similarity index 96% rename from fr/assets/js/runtime~main.5e8e304b.js rename to fr/assets/js/runtime~main.de0a1342.js index 5815bd7..1ab718c 100644 --- a/fr/assets/js/runtime~main.5e8e304b.js +++ b/fr/assets/js/runtime~main.de0a1342.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,a,d,c={},f={};function o(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={exports:{}};return c[e].call(r.exports,r,r.exports,o),r.exports}o.m=c,e=[],o.O=(t,r,a,d)=>{if(!r){var c=1/0;for(i=0;i=d)&&Object.keys(o.O).every((e=>o.O[e](r[n])))?r.splice(n--,1):(f=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[r,a,d]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var d=Object.create(null);o.r(d);var c={};t=t||[null,r({}),r([]),r(r)];for(var f=2&a&&e;"object"==typeof f&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach((t=>c[t]=()=>e[t]));return c.default=()=>e,o.d(d,c),d},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,r)=>(o.f[r](e,t),t)),[])),o.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",64:"ad0f6f13",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",136:"92293c9c",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",298:"1f6cde79",305:"92f6d415",310:"ea47aeb2",375:"cf23ded0",391:"290cc788",432:"a951fea5",514:"1be78505",535:"814f3328",562:"a0e59008",573:"5282d824",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",646:"acf87bcd",740:"7e37206e",764:"8064e645",776:"81130aff",778:"49d2d5a5",780:"596abbce",800:"d58f2f6c",817:"14eb3368",864:"8dd2e619",918:"17896441",949:"233e9358"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"d3e62c32",64:"05c3963a",68:"ee671812",81:"8a76354a",89:"1656bb5b",103:"e5273bec",136:"e808ffaa",151:"560c292b",195:"5f072758",217:"b7d5aef2",298:"56e270ff",305:"6545e346",310:"2336406c",316:"81ede736",375:"e8e0be82",391:"0946f115",432:"4ba4c9db",487:"c64f1a92",514:"bc0c2ac7",535:"034c15f0",562:"6a4697c1",573:"32af3821",583:"9880418e",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",628:"2fe50af1",646:"76564119",724:"1f48a7fd",740:"70ede3d4",764:"742def1d",776:"600851db",778:"dcaa336f",780:"de6153af",800:"fe15ecd1",817:"59925caf",864:"5528c9b9",918:"d7957afb",949:"0f133c05",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",o.miniCssF=e=>{},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},d="casvisor-website:",o.l=(e,t,r,c)=>{if(a[e])a[e].push(t);else{var f,n;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{f.onerror=f.onload=null,clearTimeout(l);var d=a[e];if(delete a[e],f.parentNode&&f.parentNode.removeChild(f),d&&d.forEach((e=>e(r))),t)return t(r)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=s.bind(null,f.onerror),f.onload=s.bind(null,f.onload),n&&document.head.appendChild(f)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.p="/fr/",o.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53",ad0f6f13:"64","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","92293c9c":"136","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","1f6cde79":"298","92f6d415":"305",ea47aeb2:"310",cf23ded0:"375","290cc788":"391",a951fea5:"432","1be78505":"514","814f3328":"535",a0e59008:"562","5282d824":"573",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610",acf87bcd:"646","7e37206e":"740","8064e645":"764","81130aff":"776","49d2d5a5":"778","596abbce":"780",d58f2f6c:"800","14eb3368":"817","8dd2e619":"864","233e9358":"949"}[e]||e,o.p+o.u(e)},(()=>{var e={303:0,532:0};o.f.j=(t,r)=>{var a=o.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var d=new Promise(((r,d)=>a=e[t]=[r,d]));r.push(a[2]=d);var c=o.p+o.u(t),f=new Error;o.l(c,(r=>{if(o.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var d=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+d+": "+c+")",f.name="ChunkLoadError",f.type=d,f.request=c,a[1](f)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,r)=>{var a,d,c=r[0],f=r[1],n=r[2],b=0;if(c.some((t=>0!==e[t]))){for(a in f)o.o(f,a)&&(o.m[a]=f[a]);if(n)var i=n(o)}for(t&&t(r);b{"use strict";var e,t,r,a,d,c={},f={};function o(e){var t=f[e];if(void 0!==t)return t.exports;var r=f[e]={exports:{}};return c[e].call(r.exports,r,r.exports,o),r.exports}o.m=c,e=[],o.O=(t,r,a,d)=>{if(!r){var c=1/0;for(i=0;i=d)&&Object.keys(o.O).every((e=>o.O[e](r[n])))?r.splice(n--,1):(f=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[r,a,d]},o.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return o.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,o.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var d=Object.create(null);o.r(d);var c={};t=t||[null,r({}),r([]),r(r)];for(var f=2&a&&e;"object"==typeof f&&!~t.indexOf(f);f=r(f))Object.getOwnPropertyNames(f).forEach((t=>c[t]=()=>e[t]));return c.default=()=>e,o.d(d,c),d},o.d=(e,t)=>{for(var r in t)o.o(t,r)&&!o.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},o.f={},o.e=e=>Promise.all(Object.keys(o.f).reduce(((t,r)=>(o.f[r](e,t),t)),[])),o.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",64:"ad0f6f13",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",136:"92293c9c",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",298:"1f6cde79",305:"92f6d415",310:"ea47aeb2",375:"cf23ded0",391:"290cc788",432:"a951fea5",514:"1be78505",535:"814f3328",562:"a0e59008",573:"5282d824",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",646:"acf87bcd",740:"7e37206e",764:"8064e645",776:"81130aff",778:"49d2d5a5",780:"596abbce",800:"d58f2f6c",817:"14eb3368",864:"8dd2e619",918:"17896441",949:"233e9358"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"d3e62c32",64:"05c3963a",68:"ee671812",81:"8a76354a",89:"1656bb5b",103:"e5273bec",136:"e808ffaa",151:"560c292b",195:"5f072758",217:"b7d5aef2",298:"56e270ff",305:"6545e346",310:"34262a21",316:"81ede736",375:"263811c2",391:"0946f115",432:"1a1c8b48",487:"c64f1a92",514:"bc0c2ac7",535:"034c15f0",562:"6a4697c1",573:"32af3821",583:"9880418e",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",628:"2fe50af1",646:"0bc3ecb1",724:"1f48a7fd",740:"70ede3d4",764:"742def1d",776:"600851db",778:"dcaa336f",780:"de6153af",800:"fe15ecd1",817:"59925caf",864:"5528c9b9",918:"d7957afb",949:"0f133c05",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",o.miniCssF=e=>{},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},d="casvisor-website:",o.l=(e,t,r,c)=>{if(a[e])a[e].push(t);else{var f,n;if(void 0!==r)for(var b=document.getElementsByTagName("script"),i=0;i{f.onerror=f.onload=null,clearTimeout(l);var d=a[e];if(delete a[e],f.parentNode&&f.parentNode.removeChild(f),d&&d.forEach((e=>e(r))),t)return t(r)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:f}),12e4);f.onerror=s.bind(null,f.onerror),f.onload=s.bind(null,f.onload),n&&document.head.appendChild(f)}},o.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},o.p="/fr/",o.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53",ad0f6f13:"64","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","92293c9c":"136","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","1f6cde79":"298","92f6d415":"305",ea47aeb2:"310",cf23ded0:"375","290cc788":"391",a951fea5:"432","1be78505":"514","814f3328":"535",a0e59008:"562","5282d824":"573",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610",acf87bcd:"646","7e37206e":"740","8064e645":"764","81130aff":"776","49d2d5a5":"778","596abbce":"780",d58f2f6c:"800","14eb3368":"817","8dd2e619":"864","233e9358":"949"}[e]||e,o.p+o.u(e)},(()=>{var e={303:0,532:0};o.f.j=(t,r)=>{var a=o.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var d=new Promise(((r,d)=>a=e[t]=[r,d]));r.push(a[2]=d);var c=o.p+o.u(t),f=new Error;o.l(c,(r=>{if(o.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var d=r&&("load"===r.type?"missing":r.type),c=r&&r.target&&r.target.src;f.message="Loading chunk "+t+" failed.\n("+d+": "+c+")",f.name="ChunkLoadError",f.type=d,f.request=c,a[1](f)}}),"chunk-"+t,t)}},o.O.j=t=>0===e[t];var t=(t,r)=>{var a,d,c=r[0],f=r[1],n=r[2],b=0;if(c.some((t=>0!==e[t]))){for(a in f)o.o(f,a)&&(o.m[a]=f[a]);if(n)var i=n(o)}for(t&&t(r);b!function(t,h,e,j,s,n){t.hj=t.hj||function(){(t.hj.q=t.hj.q||[]).push(arguments)},t._hjSettings={hjid:3620236,hjsv:6},s=h.getElementsByTagName("head")[0],(n=h.createElement("script")).async=1,n.src="https://static.hotjar.com/c/hotjar-"+t._hjSettings.hjid+".js?sv="+t._hjSettings.hjsv,s.appendChild(n)}(window,document) - +
-

Archive

Archive

- + \ No newline at end of file diff --git a/fr/docs/asset/intranet/index.html b/fr/docs/asset/intranet/index.html index d431297..cdfb5ee 100644 --- a/fr/docs/asset/intranet/index.html +++ b/fr/docs/asset/intranet/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/fr/docs/asset/overview/index.html b/fr/docs/asset/overview/index.html index ff251e2..7f4f451 100644 --- a/fr/docs/asset/overview/index.html +++ b/fr/docs/asset/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/docs/asset/rdp/index.html b/fr/docs/asset/rdp/index.html index dda9a4b..bfe99a2 100644 --- a/fr/docs/asset/rdp/index.html +++ b/fr/docs/asset/rdp/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/fr/docs/asset/vnc/index.html b/fr/docs/asset/vnc/index.html index 36df897..b3e2429 100644 --- a/fr/docs/asset/vnc/index.html +++ b/fr/docs/asset/vnc/index.html @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + \ No newline at end of file diff --git a/fr/docs/basic/installation/index.html b/fr/docs/basic/installation/index.html index 2917a1c..fdfe698 100644 --- a/fr/docs/basic/installation/index.html +++ b/fr/docs/basic/installation/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/fr/docs/basic/try-with-docker/index.html b/fr/docs/basic/try-with-docker/index.html index 83f6ca4..174e38d 100644 --- a/fr/docs/basic/try-with-docker/index.html +++ b/fr/docs/basic/try-with-docker/index.html @@ -12,7 +12,7 @@ - + @@ -21,12 +21,12 @@ the necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can start Casvisor immediately with just one or two commands, without any complex configuration. However, please note that we do not recommend using this image in a production environment.

Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use -the office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file conf/app.conf.

Option-1: Use the toy database

Run the container with port 19000 exposed to the host. The image will be automatically pulled if it doesn't exist on the local host.

docker run -p 19000:19000 casbin/casvisor-all-in-one

Visit http://localhost:19000 in your browser.

attention

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor-all-in-one:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Option-2: Try with docker-compose

attention

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

You can use docker-compose.yml in the official repository. Create a conf/app.conf directory in the same directory level as the docker-compose.yml file. Then, copy app.conf from Casvisor. For more details about app.conf, you can see configuration.

docker-compose up

That's it! 🛩️

Visit http://localhost:19000 in your browser.

Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called "RUNNING_IN_DOCKER". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.

Option-3: Try directly with the standard image

MySQL

Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:

docker run  \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql:/var/lib/mysql \
mysql:8.0.25

Run Casvisor

Create conf/app.conf. You can copy it from conf/app.conf in Casvisor. For more details about app.conf, you can see configuration.

Then run

docker run  -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest

Anyway, just mount the folder of app.conf to /home/casvisor/conf and start the container.

astuce

If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution.

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-e casdoorEndpoint=https://door.casdoor.com \
-e clientId=b108dacba027db36ec26 \
-e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \
-e casdoorOrganization=casbin \
-e casdoorApplication=app-casvisor \
-p 19000:19000 \
casbin/casvisor:latest

attention

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Run guacd

Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Visit http://localhost:19000 in your browser.


- + \ No newline at end of file diff --git a/fr/docs/category/assets/index.html b/fr/docs/category/assets/index.html index 5ef6ebd..9536a84 100644 --- a/fr/docs/category/assets/index.html +++ b/fr/docs/category/assets/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@
- + \ No newline at end of file diff --git a/fr/docs/category/commands/index.html b/fr/docs/category/commands/index.html index 6cf1a5c..a9a57b1 100644 --- a/fr/docs/category/commands/index.html +++ b/fr/docs/category/commands/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/docs/category/the-basics/index.html b/fr/docs/category/the-basics/index.html index 4e659d2..e007a67 100644 --- a/fr/docs/category/the-basics/index.html +++ b/fr/docs/category/the-basics/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/docs/command/index.html b/fr/docs/command/index.html index 7ee712d..5208e9a 100644 --- a/fr/docs/command/index.html +++ b/fr/docs/command/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/fr/docs/overview/index.html b/fr/docs/overview/index.html index 283e1f0..5350e37 100644 --- a/fr/docs/overview/index.html +++ b/fr/docs/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/help/index.html b/fr/help/index.html index 6befa02..cf104ee 100644 --- a/fr/help/index.html +++ b/fr/help/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/index.html b/fr/index.html index d820bfb..33ab55e 100644 --- a/fr/index.html +++ b/fr/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/pdf/index.html b/fr/pdf/index.html index 6a8e23a..c8e3d47 100644 --- a/fr/pdf/index.html +++ b/fr/pdf/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/fr/users/index.html b/fr/users/index.html index 64efba3..081a05c 100644 --- a/fr/users/index.html +++ b/fr/users/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/help/index.html b/help/index.html index fe917ef..cb1dfcb 100644 --- a/help/index.html +++ b/help/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/index.html b/index.html index b234707..9324059 100644 --- a/index.html +++ b/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/404.html b/ja/404.html index 70978b7..4c68714 100644 --- a/ja/404.html +++ b/ja/404.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/assets/js/a951fea5.7e661c7a.js b/ja/assets/js/a951fea5.69f70b31.js similarity index 96% rename from ja/assets/js/a951fea5.7e661c7a.js rename to ja/assets/js/a951fea5.69f70b31.js index d8fb3a7..c630c9b 100644 --- a/ja/assets/js/a951fea5.7e661c7a.js +++ b/ja/assets/js/a951fea5.69f70b31.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=a,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||o;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:a,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(7462),a=(r(7294),r(3905));const o={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ja/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"2024\u5e744\u670821\u65e5",tags:[{label:"casvisor",permalink:"/ja/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=a,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||o;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:a,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(7462),a=(r(7294),r(3905));const o={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ja/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"2024\u5e745\u670823\u65e5",tags:[{label:"casvisor",permalink:"/ja/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ja/assets/js/acf87bcd.33fe1d5c.js b/ja/assets/js/acf87bcd.c67c0052.js similarity index 96% rename from ja/assets/js/acf87bcd.33fe1d5c.js rename to ja/assets/js/acf87bcd.c67c0052.js index 2de0f6e..0ac8c10 100644 --- a/ja/assets/js/acf87bcd.33fe1d5c.js +++ b/ja/assets/js/acf87bcd.c67c0052.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=a,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||o;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:a,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(7462),a=(r(7294),r(3905));const o={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ja/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"2024\u5e744\u670821\u65e5",tags:[{label:"casvisor",permalink:"/ja/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function a(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(a[r]=e[r]);return a}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r])}return a}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,a=e.mdxType,o=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=a,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||o;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,a=t&&t.mdxType;if("string"==typeof e||a){var o=r.length,c=new Array(o);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:a,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var n=r(7462),a=(r(7294),r(3905));const o={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ja/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"2024\u5e745\u670823\u65e5",tags:[{label:"casvisor",permalink:"/ja/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,a.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ja/assets/js/cc7922b4.2b418ab4.js b/ja/assets/js/cc7922b4.2726aba7.js similarity index 86% rename from ja/assets/js/cc7922b4.2b418ab4.js rename to ja/assets/js/cc7922b4.2726aba7.js index 6850f84..0561e8b 100644 --- a/ja/assets/js/cc7922b4.2b418ab4.js +++ b/ja/assets/js/cc7922b4.2726aba7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[683],{6241:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/ja/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-04-21T09:50:06.000Z","formattedDate":"2024\u5e744\u670821\u65e5","tags":[{"label":"casvisor","permalink":"/ja/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[683],{6241:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/ja/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-05-23T12:56:39.000Z","formattedDate":"2024\u5e745\u670823\u65e5","tags":[{"label":"casvisor","permalink":"/ja/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/ja/assets/js/ea47aeb2.1d5c83ce.js b/ja/assets/js/ea47aeb2.1d5c83ce.js new file mode 100644 index 0000000..e065c30 --- /dev/null +++ b/ja/assets/js/ea47aeb2.1d5c83ce.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>h});var o=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(a),m=r,h=d["".concat(l,".").concat(m)]||d[m]||u[m]||n;return a?o.createElement(h,i(i({ref:t},p),{},{components:a})):o.createElement(h,i({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=a(7462),r=(a(7294),a(3905));const n={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/ja/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/ja/docs/basic/installation"},next:{title:"Assets",permalink:"/ja/docs/category/assets"}},l={},c=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],p={toc:c},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"requirements"},"Requirements"),(0,r.kt)("h3",{id:"hardware"},"Hardware"),(0,r.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,r.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,r.kt)("h3",{id:"os"},"OS"),(0,r.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,r.kt)("h3",{id:"docker"},"Docker"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,r.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,r.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,r.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,r.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,r.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,r.kt)("h2",{id:"get-the-image"},"Get the image"),(0,r.kt)("p",null,"We have provided two DockerHub images:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,r.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,r.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,r.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,r.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,r.kt)("h3",{id:"option-1-use-the-toy-database"},(0,r.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,r.kt)("p",null,"Run the container with port ",(0,r.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,r.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,r.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,r.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,r.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,r.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,r.kt)("h4",{id:"mysql"},"MySQL"),(0,r.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,r.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,r.kt)("p",null,"Create ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("p",null,"Then run"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,r.kt)("p",null,"Anyway, just ",(0,r.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,r.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,r.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ja/assets/js/ea47aeb2.ab1b245f.js b/ja/assets/js/ea47aeb2.ab1b245f.js deleted file mode 100644 index 577bad2..0000000 --- a/ja/assets/js/ea47aeb2.ab1b245f.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);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=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=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},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,h=d["".concat(l,".").concat(u)]||d[u]||m[u]||r;return a?n.createElement(h,i(i({ref:t},c),{},{components:a})):n.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=a(7462),o=(a(7294),a(3905));const r={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/ja/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/ja/docs/basic/installation"},next:{title:"Assets",permalink:"/ja/docs/category/assets"}},l={},p=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],c={toc:p},d="wrapper";function m(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"requirements"},"Requirements"),(0,o.kt)("h3",{id:"hardware"},"Hardware"),(0,o.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,o.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,o.kt)("h3",{id:"os"},"OS"),(0,o.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,o.kt)("h3",{id:"docker"},"Docker"),(0,o.kt)("p",null,"You can use ",(0,o.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,o.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,o.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,o.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,o.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,o.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,o.kt)("h2",{id:"get-the-image"},"Get the image"),(0,o.kt)("p",null,"We have provided two DockerHub images:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"),(0,o.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,o.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,o.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,o.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,o.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,o.kt)("h3",{id:"option-1-use-the-toy-database"},(0,o.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,o.kt)("p",null,"Run the container with port ",(0,o.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor-all-in-one:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,o.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("p",null,"You can use ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,o.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,o.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,o.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,o.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,o.kt)("h4",{id:"mysql"},"MySQL"),(0,o.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,o.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,o.kt)("p",null,"Create ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("p",null,"Then run"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,o.kt)("p",null,"Anyway, just ",(0,o.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,o.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ja/assets/js/runtime~main.3ad226d9.js b/ja/assets/js/runtime~main.5c77aed3.js similarity index 96% rename from ja/assets/js/runtime~main.3ad226d9.js rename to ja/assets/js/runtime~main.5c77aed3.js index ae847c7..1c62f34 100644 --- a/ja/assets/js/runtime~main.3ad226d9.js +++ b/ja/assets/js/runtime~main.5c77aed3.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,t,r,c,o={},d={};function f(e){var a=d[e];if(void 0!==a)return a.exports;var t=d[e]={exports:{}};return o[e].call(t.exports,t,t.exports,f),t.exports}f.m=o,e=[],f.O=(a,t,r,c)=>{if(!t){var o=1/0;for(i=0;i=c)&&Object.keys(f.O).every((e=>f.O[e](t[n])))?t.splice(n--,1):(d=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[t,r,c]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);f.r(c);var o={};a=a||[null,t({}),t([]),t(t)];for(var d=2&r&&e;"object"==typeof d&&!~a.indexOf(d);d=t(d))Object.getOwnPropertyNames(d).forEach((a=>o[a]=()=>e[a]));return o.default=()=>e,f.d(c,o),c},f.d=(e,a)=>{for(var t in a)f.o(a,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,t)=>(f.f[t](e,a),a)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",116:"cd73f118",140:"df343330",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",260:"8485318f",305:"92f6d415",310:"ea47aeb2",359:"8ac5017a",391:"290cc788",432:"a951fea5",514:"1be78505",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",646:"acf87bcd",683:"cc7922b4",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",814:"2ac5c26a",817:"14eb3368",819:"1ae33c86",864:"8dd2e619",876:"9d1be773",918:"17896441"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"3dac52a4",68:"adaaed4a",81:"7d502725",89:"1656bb5b",103:"e5273bec",116:"7a8658de",140:"3d46ca05",151:"6ca14b87",195:"5f072758",217:"b7d5aef2",260:"21403fc1",305:"835f9fea",310:"ab1b245f",316:"81ede736",359:"59c90504",391:"0946f115",432:"7e661c7a",487:"c64f1a92",514:"bc0c2ac7",535:"b6611bdf",562:"9889cb0d",583:"6217d291",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",628:"2fe50af1",646:"33fe1d5c",683:"2b418ab4",724:"1f48a7fd",740:"70ede3d4",776:"e96c739e",778:"13abd663",780:"de6153af",814:"8375ae0f",817:"59925caf",819:"7b90ced9",864:"5528c9b9",876:"3291d69b",918:"d7957afb",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},c="casvisor-website:",f.l=(e,a,t,o)=>{if(r[e])r[e].push(a);else{var d,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),c&&c.forEach((e=>e(t))),a)return a(t)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=s.bind(null,d.onerror),d.onload=s.bind(null,d.onload),n&&document.head.appendChild(d)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/ja/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103",cd73f118:"116",df343330:"140","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","8485318f":"260","92f6d415":"305",ea47aeb2:"310","8ac5017a":"359","290cc788":"391",a951fea5:"432","1be78505":"514","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610",acf87bcd:"646",cc7922b4:"683","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","2ac5c26a":"814","14eb3368":"817","1ae33c86":"819","8dd2e619":"864","9d1be773":"876"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(a,t)=>{var r=f.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(303|532)$/.test(a))e[a]=0;else{var c=new Promise(((t,c)=>r=e[a]=[t,c]));t.push(r[2]=c);var o=f.p+f.u(a),d=new Error;f.l(o,(t=>{if(f.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var c=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;d.message="Loading chunk "+a+" failed.\n("+c+": "+o+")",d.name="ChunkLoadError",d.type=c,d.request=o,r[1](d)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,t)=>{var r,c,o=t[0],d=t[1],n=t[2],b=0;if(o.some((a=>0!==e[a]))){for(r in d)f.o(d,r)&&(f.m[r]=d[r]);if(n)var i=n(f)}for(a&&a(t);b{"use strict";var e,a,t,r,c,o={},d={};function f(e){var a=d[e];if(void 0!==a)return a.exports;var t=d[e]={exports:{}};return o[e].call(t.exports,t,t.exports,f),t.exports}f.m=o,e=[],f.O=(a,t,r,c)=>{if(!t){var o=1/0;for(i=0;i=c)&&Object.keys(f.O).every((e=>f.O[e](t[n])))?t.splice(n--,1):(d=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[t,r,c]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);f.r(c);var o={};a=a||[null,t({}),t([]),t(t)];for(var d=2&r&&e;"object"==typeof d&&!~a.indexOf(d);d=t(d))Object.getOwnPropertyNames(d).forEach((a=>o[a]=()=>e[a]));return o.default=()=>e,f.d(c,o),c},f.d=(e,a)=>{for(var t in a)f.o(a,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,t)=>(f.f[t](e,a),a)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",116:"cd73f118",140:"df343330",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",260:"8485318f",305:"92f6d415",310:"ea47aeb2",359:"8ac5017a",391:"290cc788",432:"a951fea5",514:"1be78505",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",646:"acf87bcd",683:"cc7922b4",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",814:"2ac5c26a",817:"14eb3368",819:"1ae33c86",864:"8dd2e619",876:"9d1be773",918:"17896441"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"3dac52a4",68:"adaaed4a",81:"7d502725",89:"1656bb5b",103:"e5273bec",116:"7a8658de",140:"3d46ca05",151:"6ca14b87",195:"5f072758",217:"b7d5aef2",260:"21403fc1",305:"835f9fea",310:"1d5c83ce",316:"81ede736",359:"59c90504",391:"0946f115",432:"69f70b31",487:"c64f1a92",514:"bc0c2ac7",535:"b6611bdf",562:"9889cb0d",583:"6217d291",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",628:"2fe50af1",646:"c67c0052",683:"2726aba7",724:"1f48a7fd",740:"70ede3d4",776:"e96c739e",778:"13abd663",780:"de6153af",814:"8375ae0f",817:"59925caf",819:"7b90ced9",864:"5528c9b9",876:"3291d69b",918:"d7957afb",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},c="casvisor-website:",f.l=(e,a,t,o)=>{if(r[e])r[e].push(a);else{var d,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],d.parentNode&&d.parentNode.removeChild(d),c&&c.forEach((e=>e(t))),a)return a(t)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=s.bind(null,d.onerror),d.onload=s.bind(null,d.onload),n&&document.head.appendChild(d)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/ja/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103",cd73f118:"116",df343330:"140","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","8485318f":"260","92f6d415":"305",ea47aeb2:"310","8ac5017a":"359","290cc788":"391",a951fea5:"432","1be78505":"514","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610",acf87bcd:"646",cc7922b4:"683","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","2ac5c26a":"814","14eb3368":"817","1ae33c86":"819","8dd2e619":"864","9d1be773":"876"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(a,t)=>{var r=f.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(303|532)$/.test(a))e[a]=0;else{var c=new Promise(((t,c)=>r=e[a]=[t,c]));t.push(r[2]=c);var o=f.p+f.u(a),d=new Error;f.l(o,(t=>{if(f.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var c=t&&("load"===t.type?"missing":t.type),o=t&&t.target&&t.target.src;d.message="Loading chunk "+a+" failed.\n("+c+": "+o+")",d.name="ChunkLoadError",d.type=c,d.request=o,r[1](d)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,t)=>{var r,c,o=t[0],d=t[1],n=t[2],b=0;if(o.some((a=>0!==e[a]))){for(r in d)f.o(d,r)&&(f.m[r]=d[r]);if(n)var i=n(f)}for(a&&a(t);b!function(t,h,e,j,s,n){t.hj=t.hj||function(){(t.hj.q=t.hj.q||[]).push(arguments)},t._hjSettings={hjid:3620236,hjsv:6},s=h.getElementsByTagName("head")[0],(n=h.createElement("script")).async=1,n.src="https://static.hotjar.com/c/hotjar-"+t._hjSettings.hjid+".js?sv="+t._hjSettings.hjsv,s.appendChild(n)}(window,document) - +
-

アーカイブ

アーカイブ

- + \ No newline at end of file diff --git a/ja/docs/asset/intranet/index.html b/ja/docs/asset/intranet/index.html index e1c4f60..9b3632f 100644 --- a/ja/docs/asset/intranet/index.html +++ b/ja/docs/asset/intranet/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/ja/docs/asset/overview/index.html b/ja/docs/asset/overview/index.html index f092d5d..061deb7 100644 --- a/ja/docs/asset/overview/index.html +++ b/ja/docs/asset/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/docs/asset/rdp/index.html b/ja/docs/asset/rdp/index.html index debd858..855dfd6 100644 --- a/ja/docs/asset/rdp/index.html +++ b/ja/docs/asset/rdp/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/ja/docs/asset/vnc/index.html b/ja/docs/asset/vnc/index.html index 6804f7b..a5b79bf 100644 --- a/ja/docs/asset/vnc/index.html +++ b/ja/docs/asset/vnc/index.html @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + \ No newline at end of file diff --git a/ja/docs/basic/installation/index.html b/ja/docs/basic/installation/index.html index 18cb395..cd46043 100644 --- a/ja/docs/basic/installation/index.html +++ b/ja/docs/basic/installation/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/ja/docs/basic/try-with-docker/index.html b/ja/docs/basic/try-with-docker/index.html index da53430..f031da3 100644 --- a/ja/docs/basic/try-with-docker/index.html +++ b/ja/docs/basic/try-with-docker/index.html @@ -12,7 +12,7 @@ - + @@ -21,12 +21,12 @@ the necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can start Casvisor immediately with just one or two commands, without any complex configuration. However, please note that we do not recommend using this image in a production environment.

Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use -the office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file conf/app.conf.

Option-1: Use the toy database

Run the container with port 19000 exposed to the host. The image will be automatically pulled if it doesn't exist on the local host.

docker run -p 19000:19000 casbin/casvisor-all-in-one

Visit http://localhost:19000 in your browser.

注意

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor-all-in-one:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Option-2: Try with docker-compose

注意

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

You can use docker-compose.yml in the official repository. Create a conf/app.conf directory in the same directory level as the docker-compose.yml file. Then, copy app.conf from Casvisor. For more details about app.conf, you can see configuration.

docker-compose up

That's it! 🛩️

Visit http://localhost:19000 in your browser.

Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called "RUNNING_IN_DOCKER". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.

Option-3: Try directly with the standard image

MySQL

Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:

docker run  \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql:/var/lib/mysql \
mysql:8.0.25

Run Casvisor

Create conf/app.conf. You can copy it from conf/app.conf in Casvisor. For more details about app.conf, you can see configuration.

Then run

docker run  -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest

Anyway, just mount the folder of app.conf to /home/casvisor/conf and start the container.

ヒント

If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution.

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-e casdoorEndpoint=https://door.casdoor.com \
-e clientId=b108dacba027db36ec26 \
-e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \
-e casdoorOrganization=casbin \
-e casdoorApplication=app-casvisor \
-p 19000:19000 \
casbin/casvisor:latest

注意

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Run guacd

Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Visit http://localhost:19000 in your browser.


- + \ No newline at end of file diff --git a/ja/docs/category/assets/index.html b/ja/docs/category/assets/index.html index e27785f..6d6088a 100644 --- a/ja/docs/category/assets/index.html +++ b/ja/docs/category/assets/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@
- + \ No newline at end of file diff --git a/ja/docs/category/commands/index.html b/ja/docs/category/commands/index.html index 7a81127..a579f03 100644 --- a/ja/docs/category/commands/index.html +++ b/ja/docs/category/commands/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/docs/category/the-basics/index.html b/ja/docs/category/the-basics/index.html index ab7a563..077f311 100644 --- a/ja/docs/category/the-basics/index.html +++ b/ja/docs/category/the-basics/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/docs/command/index.html b/ja/docs/command/index.html index 11f6a79..a7ed8f1 100644 --- a/ja/docs/command/index.html +++ b/ja/docs/command/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/ja/docs/overview/index.html b/ja/docs/overview/index.html index 1221125..dcea2c9 100644 --- a/ja/docs/overview/index.html +++ b/ja/docs/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/help/index.html b/ja/help/index.html index a5dcc80..dc4e91b 100644 --- a/ja/help/index.html +++ b/ja/help/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/index.html b/ja/index.html index 4e67ac1..7e74e2f 100644 --- a/ja/index.html +++ b/ja/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/pdf/index.html b/ja/pdf/index.html index fb9c97e..0ecb078 100644 --- a/ja/pdf/index.html +++ b/ja/pdf/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ja/users/index.html b/ja/users/index.html index 3d5f5b7..426e027 100644 --- a/ja/users/index.html +++ b/ja/users/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/404.html b/ko/404.html index 81882d1..93a15fa 100644 --- a/ko/404.html +++ b/ko/404.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/assets/js/52a2ca59.2c683e1b.js b/ko/assets/js/52a2ca59.ee0019c9.js similarity index 86% rename from ko/assets/js/52a2ca59.2c683e1b.js rename to ko/assets/js/52a2ca59.ee0019c9.js index 23e5c4e..d8089d4 100644 --- a/ko/assets/js/52a2ca59.2c683e1b.js +++ b/ko/assets/js/52a2ca59.ee0019c9.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[122],{2348:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/ko/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-04-21T09:50:06.000Z","formattedDate":"2024\ub144 4\uc6d4 21\uc77c","tags":[{"label":"casvisor","permalink":"/ko/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[122],{2348:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/ko/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-05-23T12:56:39.000Z","formattedDate":"2024\ub144 5\uc6d4 23\uc77c","tags":[{"label":"casvisor","permalink":"/ko/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/ko/assets/js/a951fea5.4edd2edd.js b/ko/assets/js/a951fea5.d5ebb18a.js similarity index 96% rename from ko/assets/js/a951fea5.4edd2edd.js rename to ko/assets/js/a951fea5.d5ebb18a.js index 50c22a1..be88916 100644 --- a/ko/assets/js/a951fea5.4edd2edd.js +++ b/ko/assets/js/a951fea5.d5ebb18a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ko/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"2024\ub144 4\uc6d4 21\uc77c",tags:[{label:"casvisor",permalink:"/ko/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ko/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"2024\ub144 5\uc6d4 23\uc77c",tags:[{label:"casvisor",permalink:"/ko/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ko/assets/js/acf87bcd.8ce8c0af.js b/ko/assets/js/acf87bcd.f7eac70b.js similarity index 96% rename from ko/assets/js/acf87bcd.8ce8c0af.js rename to ko/assets/js/acf87bcd.f7eac70b.js index 0a142c6..9b0b18c 100644 --- a/ko/assets/js/acf87bcd.8ce8c0af.js +++ b/ko/assets/js/acf87bcd.f7eac70b.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ko/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"2024\ub144 4\uc6d4 21\uc77c",tags:[{label:"casvisor",permalink:"/ko/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ko/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"2024\ub144 5\uc6d4 23\uc77c",tags:[{label:"casvisor",permalink:"/ko/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ko/assets/js/ea47aeb2.2f751a7d.js b/ko/assets/js/ea47aeb2.2f751a7d.js new file mode 100644 index 0000000..2f8eaf0 --- /dev/null +++ b/ko/assets/js/ea47aeb2.2f751a7d.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>h});var o=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(a),m=r,h=d["".concat(l,".").concat(m)]||d[m]||u[m]||n;return a?o.createElement(h,i(i({ref:t},p),{},{components:a})):o.createElement(h,i({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=a(7462),r=(a(7294),a(3905));const n={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/ko/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/ko/docs/basic/installation"},next:{title:"Assets",permalink:"/ko/docs/category/assets"}},l={},c=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],p={toc:c},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"requirements"},"Requirements"),(0,r.kt)("h3",{id:"hardware"},"Hardware"),(0,r.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,r.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,r.kt)("h3",{id:"os"},"OS"),(0,r.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,r.kt)("h3",{id:"docker"},"Docker"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,r.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,r.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,r.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,r.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,r.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,r.kt)("h2",{id:"get-the-image"},"Get the image"),(0,r.kt)("p",null,"We have provided two DockerHub images:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,r.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,r.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,r.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,r.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,r.kt)("h3",{id:"option-1-use-the-toy-database"},(0,r.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,r.kt)("p",null,"Run the container with port ",(0,r.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,r.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,r.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,r.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,r.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,r.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,r.kt)("h4",{id:"mysql"},"MySQL"),(0,r.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,r.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,r.kt)("p",null,"Create ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("p",null,"Then run"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,r.kt)("p",null,"Anyway, just ",(0,r.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,r.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,r.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ko/assets/js/ea47aeb2.ba710e0d.js b/ko/assets/js/ea47aeb2.ba710e0d.js deleted file mode 100644 index e9cddfc..0000000 --- a/ko/assets/js/ea47aeb2.ba710e0d.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);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=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=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},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,h=d["".concat(l,".").concat(u)]||d[u]||m[u]||r;return a?n.createElement(h,i(i({ref:t},c),{},{components:a})):n.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=a(7462),o=(a(7294),a(3905));const r={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/ko/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/ko/docs/basic/installation"},next:{title:"Assets",permalink:"/ko/docs/category/assets"}},l={},p=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],c={toc:p},d="wrapper";function m(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"requirements"},"Requirements"),(0,o.kt)("h3",{id:"hardware"},"Hardware"),(0,o.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,o.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,o.kt)("h3",{id:"os"},"OS"),(0,o.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,o.kt)("h3",{id:"docker"},"Docker"),(0,o.kt)("p",null,"You can use ",(0,o.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,o.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,o.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,o.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,o.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,o.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,o.kt)("h2",{id:"get-the-image"},"Get the image"),(0,o.kt)("p",null,"We have provided two DockerHub images:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"),(0,o.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,o.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,o.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,o.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,o.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,o.kt)("h3",{id:"option-1-use-the-toy-database"},(0,o.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,o.kt)("p",null,"Run the container with port ",(0,o.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor-all-in-one:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,o.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("p",null,"You can use ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,o.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,o.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,o.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,o.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,o.kt)("h4",{id:"mysql"},"MySQL"),(0,o.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,o.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,o.kt)("p",null,"Create ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("p",null,"Then run"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,o.kt)("p",null,"Anyway, just ",(0,o.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,o.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ko/assets/js/runtime~main.0a387484.js b/ko/assets/js/runtime~main.7fe45929.js similarity index 96% rename from ko/assets/js/runtime~main.0a387484.js rename to ko/assets/js/runtime~main.7fe45929.js index 539e0b8..d668691 100644 --- a/ko/assets/js/runtime~main.0a387484.js +++ b/ko/assets/js/runtime~main.7fe45929.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,t,r,c,d={},o={};function f(e){var a=o[e];if(void 0!==a)return a.exports;var t=o[e]={exports:{}};return d[e].call(t.exports,t,t.exports,f),t.exports}f.m=d,e=[],f.O=(a,t,r,c)=>{if(!t){var d=1/0;for(i=0;i=c)&&Object.keys(f.O).every((e=>f.O[e](t[n])))?t.splice(n--,1):(o=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[t,r,c]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);f.r(c);var d={};a=a||[null,t({}),t([]),t(t)];for(var o=2&r&&e;"object"==typeof o&&!~a.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,f.d(c,d),c},f.d=(e,a)=>{for(var t in a)f.o(a,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,t)=>(f.f[t](e,a),a)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",68:"9001695a",76:"948b9d96",81:"18891827",89:"a6aa9e1f",103:"ccc49370",122:"52a2ca59",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",305:"92f6d415",310:"ea47aeb2",391:"290cc788",432:"a951fea5",514:"1be78505",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",615:"442606ca",622:"8274c49f",646:"acf87bcd",658:"6afd1ed1",678:"94cf8a2d",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",817:"14eb3368",846:"ba7e1b45",864:"8dd2e619",911:"9acd1815",918:"17896441"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"febd23bd",68:"06175a1b",76:"58ee4be0",81:"db3e86ac",89:"1656bb5b",103:"e5273bec",122:"2c683e1b",151:"6b43a244",195:"5f072758",217:"b7d5aef2",305:"703d154a",310:"ba710e0d",316:"81ede736",391:"0946f115",432:"4edd2edd",487:"c64f1a92",514:"bc0c2ac7",535:"24a3f332",562:"fb61ab22",583:"906c93bb",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",615:"11197fd1",622:"a259d877",628:"2fe50af1",646:"8ce8c0af",658:"f66f077e",678:"7d809825",724:"1f48a7fd",740:"70ede3d4",776:"a18a175e",778:"d8c8ea61",780:"de6153af",817:"59925caf",846:"26ca965b",864:"5528c9b9",911:"977cf161",918:"d7957afb",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},c="casvisor-website:",f.l=(e,a,t,d)=>{if(r[e])r[e].push(a);else{var o,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach((e=>e(t))),a)return a(t)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),n&&document.head.appendChild(o)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/ko/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53","9001695a":"68","948b9d96":"76",a6aa9e1f:"89",ccc49370:"103","52a2ca59":"122","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","92f6d415":"305",ea47aeb2:"310","290cc788":"391",a951fea5:"432","1be78505":"514","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610","442606ca":"615","8274c49f":"622",acf87bcd:"646","6afd1ed1":"658","94cf8a2d":"678","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","14eb3368":"817",ba7e1b45:"846","8dd2e619":"864","9acd1815":"911"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(a,t)=>{var r=f.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(303|532)$/.test(a))e[a]=0;else{var c=new Promise(((t,c)=>r=e[a]=[t,c]));t.push(r[2]=c);var d=f.p+f.u(a),o=new Error;f.l(d,(t=>{if(f.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var c=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;o.message="Loading chunk "+a+" failed.\n("+c+": "+d+")",o.name="ChunkLoadError",o.type=c,o.request=d,r[1](o)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,t)=>{var r,c,d=t[0],o=t[1],n=t[2],b=0;if(d.some((a=>0!==e[a]))){for(r in o)f.o(o,r)&&(f.m[r]=o[r]);if(n)var i=n(f)}for(a&&a(t);b{"use strict";var e,a,t,r,c,d={},o={};function f(e){var a=o[e];if(void 0!==a)return a.exports;var t=o[e]={exports:{}};return d[e].call(t.exports,t,t.exports,f),t.exports}f.m=d,e=[],f.O=(a,t,r,c)=>{if(!t){var d=1/0;for(i=0;i=c)&&Object.keys(f.O).every((e=>f.O[e](t[n])))?t.splice(n--,1):(o=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[t,r,c]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var c=Object.create(null);f.r(c);var d={};a=a||[null,t({}),t([]),t(t)];for(var o=2&r&&e;"object"==typeof o&&!~a.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((a=>d[a]=()=>e[a]));return d.default=()=>e,f.d(c,d),c},f.d=(e,a)=>{for(var t in a)f.o(a,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,t)=>(f.f[t](e,a),a)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",68:"9001695a",76:"948b9d96",81:"18891827",89:"a6aa9e1f",103:"ccc49370",122:"52a2ca59",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",305:"92f6d415",310:"ea47aeb2",391:"290cc788",432:"a951fea5",514:"1be78505",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",615:"442606ca",622:"8274c49f",646:"acf87bcd",658:"6afd1ed1",678:"94cf8a2d",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",817:"14eb3368",846:"ba7e1b45",864:"8dd2e619",911:"9acd1815",918:"17896441"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"febd23bd",68:"06175a1b",76:"58ee4be0",81:"db3e86ac",89:"1656bb5b",103:"e5273bec",122:"ee0019c9",151:"6b43a244",195:"5f072758",217:"b7d5aef2",305:"703d154a",310:"2f751a7d",316:"81ede736",391:"0946f115",432:"d5ebb18a",487:"c64f1a92",514:"bc0c2ac7",535:"24a3f332",562:"fb61ab22",583:"906c93bb",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",615:"11197fd1",622:"a259d877",628:"2fe50af1",646:"f7eac70b",658:"f66f077e",678:"7d809825",724:"1f48a7fd",740:"70ede3d4",776:"a18a175e",778:"d8c8ea61",780:"de6153af",817:"59925caf",846:"26ca965b",864:"5528c9b9",911:"977cf161",918:"d7957afb",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},c="casvisor-website:",f.l=(e,a,t,d)=>{if(r[e])r[e].push(a);else{var o,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var c=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach((e=>e(t))),a)return a(t)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),n&&document.head.appendChild(o)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/ko/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53","9001695a":"68","948b9d96":"76",a6aa9e1f:"89",ccc49370:"103","52a2ca59":"122","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","92f6d415":"305",ea47aeb2:"310","290cc788":"391",a951fea5:"432","1be78505":"514","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610","442606ca":"615","8274c49f":"622",acf87bcd:"646","6afd1ed1":"658","94cf8a2d":"678","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","14eb3368":"817",ba7e1b45:"846","8dd2e619":"864","9acd1815":"911"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(a,t)=>{var r=f.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(303|532)$/.test(a))e[a]=0;else{var c=new Promise(((t,c)=>r=e[a]=[t,c]));t.push(r[2]=c);var d=f.p+f.u(a),o=new Error;f.l(d,(t=>{if(f.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var c=t&&("load"===t.type?"missing":t.type),d=t&&t.target&&t.target.src;o.message="Loading chunk "+a+" failed.\n("+c+": "+d+")",o.name="ChunkLoadError",o.type=c,o.request=d,r[1](o)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,t)=>{var r,c,d=t[0],o=t[1],n=t[2],b=0;if(d.some((a=>0!==e[a]))){for(r in o)f.o(o,r)&&(f.m[r]=o[r]);if(n)var i=n(f)}for(a&&a(t);b!function(t,h,e,j,s,n){t.hj=t.hj||function(){(t.hj.q=t.hj.q||[]).push(arguments)},t._hjSettings={hjid:3620236,hjsv:6},s=h.getElementsByTagName("head")[0],(n=h.createElement("script")).async=1,n.src="https://static.hotjar.com/c/hotjar-"+t._hjSettings.hjid+".js?sv="+t._hjSettings.hjsv,s.appendChild(n)}(window,document) - +
-

게시물 목록

게시물 목록

- + \ No newline at end of file diff --git a/ko/docs/asset/intranet/index.html b/ko/docs/asset/intranet/index.html index cc5d655..f467826 100644 --- a/ko/docs/asset/intranet/index.html +++ b/ko/docs/asset/intranet/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/ko/docs/asset/overview/index.html b/ko/docs/asset/overview/index.html index 56e47b3..70d75ad 100644 --- a/ko/docs/asset/overview/index.html +++ b/ko/docs/asset/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/docs/asset/rdp/index.html b/ko/docs/asset/rdp/index.html index 1b387ec..ea261cb 100644 --- a/ko/docs/asset/rdp/index.html +++ b/ko/docs/asset/rdp/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/ko/docs/asset/vnc/index.html b/ko/docs/asset/vnc/index.html index 840080d..913eede 100644 --- a/ko/docs/asset/vnc/index.html +++ b/ko/docs/asset/vnc/index.html @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + \ No newline at end of file diff --git a/ko/docs/basic/installation/index.html b/ko/docs/basic/installation/index.html index 8153c28..a67fd21 100644 --- a/ko/docs/basic/installation/index.html +++ b/ko/docs/basic/installation/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/ko/docs/basic/try-with-docker/index.html b/ko/docs/basic/try-with-docker/index.html index 8660060..90293bd 100644 --- a/ko/docs/basic/try-with-docker/index.html +++ b/ko/docs/basic/try-with-docker/index.html @@ -12,7 +12,7 @@ - + @@ -21,12 +21,12 @@ the necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can start Casvisor immediately with just one or two commands, without any complex configuration. However, please note that we do not recommend using this image in a production environment.

Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use -the office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file conf/app.conf.

Option-1: Use the toy database

Run the container with port 19000 exposed to the host. The image will be automatically pulled if it doesn't exist on the local host.

docker run -p 19000:19000 casbin/casvisor-all-in-one

Visit http://localhost:19000 in your browser.

주의

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor-all-in-one:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Option-2: Try with docker-compose

주의

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

You can use docker-compose.yml in the official repository. Create a conf/app.conf directory in the same directory level as the docker-compose.yml file. Then, copy app.conf from Casvisor. For more details about app.conf, you can see configuration.

docker-compose up

That's it! 🛩️

Visit http://localhost:19000 in your browser.

Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called "RUNNING_IN_DOCKER". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.

Option-3: Try directly with the standard image

MySQL

Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:

docker run  \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql:/var/lib/mysql \
mysql:8.0.25

Run Casvisor

Create conf/app.conf. You can copy it from conf/app.conf in Casvisor. For more details about app.conf, you can see configuration.

Then run

docker run  -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest

Anyway, just mount the folder of app.conf to /home/casvisor/conf and start the container.

If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution.

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-e casdoorEndpoint=https://door.casdoor.com \
-e clientId=b108dacba027db36ec26 \
-e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \
-e casdoorOrganization=casbin \
-e casdoorApplication=app-casvisor \
-p 19000:19000 \
casbin/casvisor:latest

주의

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Run guacd

Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Visit http://localhost:19000 in your browser.


- + \ No newline at end of file diff --git a/ko/docs/category/assets/index.html b/ko/docs/category/assets/index.html index cbbd74b..abdc060 100644 --- a/ko/docs/category/assets/index.html +++ b/ko/docs/category/assets/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@
- + \ No newline at end of file diff --git a/ko/docs/category/commands/index.html b/ko/docs/category/commands/index.html index 9a69a03..d477a02 100644 --- a/ko/docs/category/commands/index.html +++ b/ko/docs/category/commands/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/docs/category/the-basics/index.html b/ko/docs/category/the-basics/index.html index 98b384a..66472c8 100644 --- a/ko/docs/category/the-basics/index.html +++ b/ko/docs/category/the-basics/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/docs/command/index.html b/ko/docs/command/index.html index 0cbc735..0e6ae98 100644 --- a/ko/docs/command/index.html +++ b/ko/docs/command/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/ko/docs/overview/index.html b/ko/docs/overview/index.html index bc8cb4d..ff9b736 100644 --- a/ko/docs/overview/index.html +++ b/ko/docs/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/help/index.html b/ko/help/index.html index 2353610..890d1e5 100644 --- a/ko/help/index.html +++ b/ko/help/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/index.html b/ko/index.html index 32c5c2e..a8ef0d1 100644 --- a/ko/index.html +++ b/ko/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/pdf/index.html b/ko/pdf/index.html index 29eaa4a..5fa6cd1 100644 --- a/ko/pdf/index.html +++ b/ko/pdf/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ko/users/index.html b/ko/users/index.html index df50dda..ae340b3 100644 --- a/ko/users/index.html +++ b/ko/users/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/pdf/Casvisor_Docs.pdf b/pdf/Casvisor_Docs.pdf index 08c9a06..1008dce 100644 Binary files a/pdf/Casvisor_Docs.pdf and b/pdf/Casvisor_Docs.pdf differ diff --git a/pdf/Casvisor_Docs_zh.pdf b/pdf/Casvisor_Docs_zh.pdf index 953e2b0..a7c5db2 100644 Binary files a/pdf/Casvisor_Docs_zh.pdf and b/pdf/Casvisor_Docs_zh.pdf differ diff --git a/pdf/index.html b/pdf/index.html index f643541..88c2a73 100644 --- a/pdf/index.html +++ b/pdf/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/404.html b/ru/404.html index 2ffc811..2892622 100644 --- a/ru/404.html +++ b/ru/404.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/assets/js/696b93ca.72423113.js b/ru/assets/js/696b93ca.72423113.js deleted file mode 100644 index 968d464..0000000 --- a/ru/assets/js/696b93ca.72423113.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[857],{7806:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/ru/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-04-21T09:50:06.000Z","formattedDate":"21 \u0430\u043f\u0440\u0435\u043b\u044f 2024 \u0433.","tags":[{"label":"casvisor","permalink":"/ru/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/ru/assets/js/696b93ca.afce621e.js b/ru/assets/js/696b93ca.afce621e.js new file mode 100644 index 0000000..35cf5ab --- /dev/null +++ b/ru/assets/js/696b93ca.afce621e.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[857],{7806:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/ru/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-05-23T12:56:39.000Z","formattedDate":"23 \u043c\u0430\u044f 2024 \u0433.","tags":[{"label":"casvisor","permalink":"/ru/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/ru/assets/js/a951fea5.b08fc6e5.js b/ru/assets/js/a951fea5.5a7014a5.js similarity index 78% rename from ru/assets/js/a951fea5.b08fc6e5.js rename to ru/assets/js/a951fea5.5a7014a5.js index c77561a..f333c70 100644 --- a/ru/assets/js/a951fea5.b08fc6e5.js +++ b/ru/assets/js/a951fea5.5a7014a5.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ru/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"21 \u0430\u043f\u0440\u0435\u043b\u044f 2024 \u0433.",tags:[{label:"casvisor",permalink:"/ru/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ru/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"23 \u043c\u0430\u044f 2024 \u0433.",tags:[{label:"casvisor",permalink:"/ru/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ru/assets/js/acf87bcd.9c0fbd40.js b/ru/assets/js/acf87bcd.5c78f763.js similarity index 78% rename from ru/assets/js/acf87bcd.9c0fbd40.js rename to ru/assets/js/acf87bcd.5c78f763.js index 2e365dd..f4585b9 100644 --- a/ru/assets/js/acf87bcd.9c0fbd40.js +++ b/ru/assets/js/acf87bcd.5c78f763.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ru/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"21 \u0430\u043f\u0440\u0435\u043b\u044f 2024 \u0433.",tags:[{label:"casvisor",permalink:"/ru/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/ru/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"23 \u043c\u0430\u044f 2024 \u0433.",tags:[{label:"casvisor",permalink:"/ru/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ru/assets/js/ea47aeb2.127a866c.js b/ru/assets/js/ea47aeb2.127a866c.js deleted file mode 100644 index 41b460d..0000000 --- a/ru/assets/js/ea47aeb2.127a866c.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);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=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=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},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,h=d["".concat(l,".").concat(u)]||d[u]||m[u]||r;return a?n.createElement(h,i(i({ref:t},c),{},{components:a})):n.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=a(7462),o=(a(7294),a(3905));const r={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/ru/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/ru/docs/basic/installation"},next:{title:"Assets",permalink:"/ru/docs/category/assets"}},l={},p=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],c={toc:p},d="wrapper";function m(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"requirements"},"Requirements"),(0,o.kt)("h3",{id:"hardware"},"Hardware"),(0,o.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,o.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,o.kt)("h3",{id:"os"},"OS"),(0,o.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,o.kt)("h3",{id:"docker"},"Docker"),(0,o.kt)("p",null,"You can use ",(0,o.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,o.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,o.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,o.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,o.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,o.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,o.kt)("h2",{id:"get-the-image"},"Get the image"),(0,o.kt)("p",null,"We have provided two DockerHub images:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"),(0,o.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,o.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,o.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,o.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,o.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,o.kt)("h3",{id:"option-1-use-the-toy-database"},(0,o.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,o.kt)("p",null,"Run the container with port ",(0,o.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor-all-in-one:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,o.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("p",null,"You can use ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,o.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,o.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,o.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,o.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,o.kt)("h4",{id:"mysql"},"MySQL"),(0,o.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,o.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,o.kt)("p",null,"Create ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("p",null,"Then run"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,o.kt)("p",null,"Anyway, just ",(0,o.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,o.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ru/assets/js/ea47aeb2.a2bc7d7c.js b/ru/assets/js/ea47aeb2.a2bc7d7c.js new file mode 100644 index 0000000..eb0f3b2 --- /dev/null +++ b/ru/assets/js/ea47aeb2.a2bc7d7c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>h});var o=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},u="mdxType",d={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),u=c(a),m=r,h=u["".concat(l,".").concat(m)]||u[m]||d[m]||n;return a?o.createElement(h,i(i({ref:t},p),{},{components:a})):o.createElement(h,i({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[u]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>d,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=a(7462),r=(a(7294),a(3905));const n={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/ru/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/ru/docs/basic/installation"},next:{title:"Assets",permalink:"/ru/docs/category/assets"}},l={},c=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],p={toc:c},u="wrapper";function d(e){let{components:t,...a}=e;return(0,r.kt)(u,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"requirements"},"Requirements"),(0,r.kt)("h3",{id:"hardware"},"Hardware"),(0,r.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,r.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,r.kt)("h3",{id:"os"},"OS"),(0,r.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,r.kt)("h3",{id:"docker"},"Docker"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,r.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,r.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,r.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,r.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,r.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,r.kt)("h2",{id:"get-the-image"},"Get the image"),(0,r.kt)("p",null,"We have provided two DockerHub images:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,r.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,r.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,r.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,r.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,r.kt)("h3",{id:"option-1-use-the-toy-database"},(0,r.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,r.kt)("p",null,"Run the container with port ",(0,r.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,r.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,r.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,r.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,r.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,r.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,r.kt)("h4",{id:"mysql"},"MySQL"),(0,r.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,r.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,r.kt)("p",null,"Create ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("p",null,"Then run"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,r.kt)("p",null,"Anyway, just ",(0,r.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,r.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,r.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/ru/assets/js/runtime~main.f52e113b.js b/ru/assets/js/runtime~main.61e77760.js similarity index 96% rename from ru/assets/js/runtime~main.f52e113b.js rename to ru/assets/js/runtime~main.61e77760.js index 2cc7f78..271941d 100644 --- a/ru/assets/js/runtime~main.f52e113b.js +++ b/ru/assets/js/runtime~main.61e77760.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,t,r,d,c={},o={};function f(e){var a=o[e];if(void 0!==a)return a.exports;var t=o[e]={exports:{}};return c[e].call(t.exports,t,t.exports,f),t.exports}f.m=c,e=[],f.O=(a,t,r,d)=>{if(!t){var c=1/0;for(i=0;i=d)&&Object.keys(f.O).every((e=>f.O[e](t[n])))?t.splice(n--,1):(o=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[t,r,d]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var d=Object.create(null);f.r(d);var c={};a=a||[null,t({}),t([]),t(t)];for(var o=2&r&&e;"object"==typeof o&&!~a.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((a=>c[a]=()=>e[a]));return c.default=()=>e,f.d(d,c),d},f.d=(e,a)=>{for(var t in a)f.o(a,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,t)=>(f.f[t](e,a),a)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",240:"25cf857a",282:"d0510bae",305:"92f6d415",310:"ea47aeb2",391:"290cc788",432:"a951fea5",514:"1be78505",534:"ef798800",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",619:"5446da80",646:"acf87bcd",717:"facd7a1b",720:"d4dd604b",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",817:"14eb3368",857:"696b93ca",864:"8dd2e619",918:"17896441",930:"749ed5f5"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"6f39e5c8",68:"fbd76a3f",81:"8ddbce70",89:"1656bb5b",103:"e5273bec",151:"3c5cde16",195:"5f072758",217:"b7d5aef2",240:"bb394673",282:"9017c038",305:"a3286356",310:"127a866c",316:"81ede736",391:"0946f115",432:"b08fc6e5",487:"c64f1a92",514:"bc0c2ac7",534:"2c47689d",535:"22d83095",562:"7c07e52a",583:"e5108d80",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",619:"19a9f175",628:"2fe50af1",646:"9c0fbd40",717:"27ccfae0",720:"43d5da62",724:"1f48a7fd",740:"70ede3d4",776:"1d9dd530",778:"e93770e4",780:"de6153af",817:"59925caf",857:"72423113",864:"5528c9b9",918:"d7957afb",930:"50928ec6",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},d="casvisor-website:",f.l=(e,a,t,c)=>{if(r[e])r[e].push(a);else{var o,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var d=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),d&&d.forEach((e=>e(t))),a)return a(t)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),n&&document.head.appendChild(o)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/ru/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","25cf857a":"240",d0510bae:"282","92f6d415":"305",ea47aeb2:"310","290cc788":"391",a951fea5:"432","1be78505":"514",ef798800:"534","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610","5446da80":"619",acf87bcd:"646",facd7a1b:"717",d4dd604b:"720","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","14eb3368":"817","696b93ca":"857","8dd2e619":"864","749ed5f5":"930"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(a,t)=>{var r=f.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(303|532)$/.test(a))e[a]=0;else{var d=new Promise(((t,d)=>r=e[a]=[t,d]));t.push(r[2]=d);var c=f.p+f.u(a),o=new Error;f.l(c,(t=>{if(f.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var d=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;o.message="Loading chunk "+a+" failed.\n("+d+": "+c+")",o.name="ChunkLoadError",o.type=d,o.request=c,r[1](o)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,t)=>{var r,d,c=t[0],o=t[1],n=t[2],b=0;if(c.some((a=>0!==e[a]))){for(r in o)f.o(o,r)&&(f.m[r]=o[r]);if(n)var i=n(f)}for(a&&a(t);b{"use strict";var e,a,t,r,d,c={},o={};function f(e){var a=o[e];if(void 0!==a)return a.exports;var t=o[e]={exports:{}};return c[e].call(t.exports,t,t.exports,f),t.exports}f.m=c,e=[],f.O=(a,t,r,d)=>{if(!t){var c=1/0;for(i=0;i=d)&&Object.keys(f.O).every((e=>f.O[e](t[n])))?t.splice(n--,1):(o=!1,d0&&e[i-1][2]>d;i--)e[i]=e[i-1];e[i]=[t,r,d]},f.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return f.d(a,{a:a}),a},t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,f.t=function(e,r){if(1&r&&(e=this(e)),8&r)return e;if("object"==typeof e&&e){if(4&r&&e.__esModule)return e;if(16&r&&"function"==typeof e.then)return e}var d=Object.create(null);f.r(d);var c={};a=a||[null,t({}),t([]),t(t)];for(var o=2&r&&e;"object"==typeof o&&!~a.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach((a=>c[a]=()=>e[a]));return c.default=()=>e,f.d(d,c),d},f.d=(e,a)=>{for(var t in a)f.o(a,t)&&!f.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:a[t]})},f.f={},f.e=e=>Promise.all(Object.keys(f.f).reduce(((a,t)=>(f.f[t](e,a),a)),[])),f.u=e=>"assets/js/"+({13:"01a85c17",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",151:"7190cbd8",195:"c4f5d8e4",217:"1dba9094",240:"25cf857a",282:"d0510bae",305:"92f6d415",310:"ea47aeb2",391:"290cc788",432:"a951fea5",514:"1be78505",534:"ef798800",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",608:"9e4087bc",610:"6875c492",619:"5446da80",646:"acf87bcd",717:"facd7a1b",720:"d4dd604b",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",817:"14eb3368",857:"696b93ca",864:"8dd2e619",918:"17896441",930:"749ed5f5"}[e]||e)+"."+{13:"3186fb4b",48:"63c544ab",53:"6f39e5c8",68:"fbd76a3f",81:"8ddbce70",89:"1656bb5b",103:"e5273bec",151:"3c5cde16",195:"5f072758",217:"b7d5aef2",240:"bb394673",282:"9017c038",305:"a3286356",310:"a2bc7d7c",316:"81ede736",391:"0946f115",432:"5a7014a5",487:"c64f1a92",514:"bc0c2ac7",534:"2c47689d",535:"22d83095",562:"7c07e52a",583:"e5108d80",594:"0b9b45b6",608:"f0c69295",610:"419d4bd6",619:"19a9f175",628:"2fe50af1",646:"5c78f763",717:"27ccfae0",720:"43d5da62",724:"1f48a7fd",740:"70ede3d4",776:"1d9dd530",778:"e93770e4",780:"de6153af",817:"59925caf",857:"afce621e",864:"5528c9b9",918:"d7957afb",930:"50928ec6",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",f.miniCssF=e=>{},f.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),f.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),r={},d="casvisor-website:",f.l=(e,a,t,c)=>{if(r[e])r[e].push(a);else{var o,n;if(void 0!==t)for(var b=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var d=r[e];if(delete r[e],o.parentNode&&o.parentNode.removeChild(o),d&&d.forEach((e=>e(t))),a)return a(t)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),n&&document.head.appendChild(o)}},f.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},f.p="/ru/",f.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","7190cbd8":"151",c4f5d8e4:"195","1dba9094":"217","25cf857a":"240",d0510bae:"282","92f6d415":"305",ea47aeb2:"310","290cc788":"391",a951fea5:"432","1be78505":"514",ef798800:"534","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594","9e4087bc":"608","6875c492":"610","5446da80":"619",acf87bcd:"646",facd7a1b:"717",d4dd604b:"720","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","14eb3368":"817","696b93ca":"857","8dd2e619":"864","749ed5f5":"930"}[e]||e,f.p+f.u(e)},(()=>{var e={303:0,532:0};f.f.j=(a,t)=>{var r=f.o(e,a)?e[a]:void 0;if(0!==r)if(r)t.push(r[2]);else if(/^(303|532)$/.test(a))e[a]=0;else{var d=new Promise(((t,d)=>r=e[a]=[t,d]));t.push(r[2]=d);var c=f.p+f.u(a),o=new Error;f.l(c,(t=>{if(f.o(e,a)&&(0!==(r=e[a])&&(e[a]=void 0),r)){var d=t&&("load"===t.type?"missing":t.type),c=t&&t.target&&t.target.src;o.message="Loading chunk "+a+" failed.\n("+d+": "+c+")",o.name="ChunkLoadError",o.type=d,o.request=c,r[1](o)}}),"chunk-"+a,a)}},f.O.j=a=>0===e[a];var a=(a,t)=>{var r,d,c=t[0],o=t[1],n=t[2],b=0;if(c.some((a=>0!==e[a]))){for(r in o)f.o(o,r)&&(f.m[r]=o[r]);if(n)var i=n(f)}for(a&&a(t);b!function(t,h,e,j,s,n){t.hj=t.hj||function(){(t.hj.q=t.hj.q||[]).push(arguments)},t._hjSettings={hjid:3620236,hjsv:6},s=h.getElementsByTagName("head")[0],(n=h.createElement("script")).async=1,n.src="https://static.hotjar.com/c/hotjar-"+t._hjSettings.hjid+".js?sv="+t._hjSettings.hjsv,s.appendChild(n)}(window,document) - +
-

Архив

Архив

- + \ No newline at end of file diff --git a/ru/docs/asset/intranet/index.html b/ru/docs/asset/intranet/index.html index e102847..b734609 100644 --- a/ru/docs/asset/intranet/index.html +++ b/ru/docs/asset/intranet/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/ru/docs/asset/overview/index.html b/ru/docs/asset/overview/index.html index bbc6429..cf21dae 100644 --- a/ru/docs/asset/overview/index.html +++ b/ru/docs/asset/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/docs/asset/rdp/index.html b/ru/docs/asset/rdp/index.html index 04cb909..ea3a023 100644 --- a/ru/docs/asset/rdp/index.html +++ b/ru/docs/asset/rdp/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/ru/docs/asset/vnc/index.html b/ru/docs/asset/vnc/index.html index 40bc0ee..d5142a7 100644 --- a/ru/docs/asset/vnc/index.html +++ b/ru/docs/asset/vnc/index.html @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + \ No newline at end of file diff --git a/ru/docs/basic/installation/index.html b/ru/docs/basic/installation/index.html index 17cf160..44cec62 100644 --- a/ru/docs/basic/installation/index.html +++ b/ru/docs/basic/installation/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/ru/docs/basic/try-with-docker/index.html b/ru/docs/basic/try-with-docker/index.html index 2bc5a5a..5f78521 100644 --- a/ru/docs/basic/try-with-docker/index.html +++ b/ru/docs/basic/try-with-docker/index.html @@ -12,7 +12,7 @@ - + @@ -21,12 +21,12 @@ the necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can start Casvisor immediately with just one or two commands, without any complex configuration. However, please note that we do not recommend using this image in a production environment.

Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use -the office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file conf/app.conf.

Option-1: Use the toy database

Run the container with port 19000 exposed to the host. The image will be automatically pulled if it doesn't exist on the local host.

docker run -p 19000:19000 casbin/casvisor-all-in-one

Visit http://localhost:19000 in your browser.

предупреждение

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor-all-in-one:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Option-2: Try with docker-compose

предупреждение

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

You can use docker-compose.yml in the official repository. Create a conf/app.conf directory in the same directory level as the docker-compose.yml file. Then, copy app.conf from Casvisor. For more details about app.conf, you can see configuration.

docker-compose up

That's it! 🛩️

Visit http://localhost:19000 in your browser.

Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called "RUNNING_IN_DOCKER". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.

Option-3: Try directly with the standard image

MySQL

Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:

docker run  \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql:/var/lib/mysql \
mysql:8.0.25

Run Casvisor

Create conf/app.conf. You can copy it from conf/app.conf in Casvisor. For more details about app.conf, you can see configuration.

Then run

docker run  -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest

Anyway, just mount the folder of app.conf to /home/casvisor/conf and start the container.

подсказка

If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution.

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-e casdoorEndpoint=https://door.casdoor.com \
-e clientId=b108dacba027db36ec26 \
-e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \
-e casdoorOrganization=casbin \
-e casdoorApplication=app-casvisor \
-p 19000:19000 \
casbin/casvisor:latest

предупреждение

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Run guacd

Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Visit http://localhost:19000 in your browser.


- + \ No newline at end of file diff --git a/ru/docs/category/assets/index.html b/ru/docs/category/assets/index.html index 8686f5f..1529a1d 100644 --- a/ru/docs/category/assets/index.html +++ b/ru/docs/category/assets/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@
- + \ No newline at end of file diff --git a/ru/docs/category/commands/index.html b/ru/docs/category/commands/index.html index 81a8012..ae8a60d 100644 --- a/ru/docs/category/commands/index.html +++ b/ru/docs/category/commands/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/docs/category/the-basics/index.html b/ru/docs/category/the-basics/index.html index 70b7ff2..1d1858d 100644 --- a/ru/docs/category/the-basics/index.html +++ b/ru/docs/category/the-basics/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/docs/command/index.html b/ru/docs/command/index.html index 896bf48..85097be 100644 --- a/ru/docs/command/index.html +++ b/ru/docs/command/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/ru/docs/overview/index.html b/ru/docs/overview/index.html index 21a175c..eaafc34 100644 --- a/ru/docs/overview/index.html +++ b/ru/docs/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/help/index.html b/ru/help/index.html index b2cde5d..a02aff1 100644 --- a/ru/help/index.html +++ b/ru/help/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/index.html b/ru/index.html index 8311016..0480e6d 100644 --- a/ru/index.html +++ b/ru/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/pdf/index.html b/ru/pdf/index.html index ba08284..257c360 100644 --- a/ru/pdf/index.html +++ b/ru/pdf/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/ru/users/index.html b/ru/users/index.html index 1cdc049..b0456b9 100644 --- a/ru/users/index.html +++ b/ru/users/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/users/index.html b/users/index.html index 3d057bc..aeecd80 100644 --- a/users/index.html +++ b/users/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/404.html b/zh/404.html index 400a897..d94c811 100644 --- a/zh/404.html +++ b/zh/404.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/assets/js/927d70e2.be1a0f7e.js b/zh/assets/js/927d70e2.09ca6c56.js similarity index 86% rename from zh/assets/js/927d70e2.be1a0f7e.js rename to zh/assets/js/927d70e2.09ca6c56.js index 95b04b6..0a1adf8 100644 --- a/zh/assets/js/927d70e2.be1a0f7e.js +++ b/zh/assets/js/927d70e2.09ca6c56.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[45],{2190:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/zh/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-04-21T09:50:06.000Z","formattedDate":"2024\u5e744\u670821\u65e5","tags":[{"label":"casvisor","permalink":"/zh/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[45],{2190:e=>{e.exports=JSON.parse('{"blogPosts":[{"id":"/welcome","metadata":{"permalink":"/zh/blog/welcome","editUrl":"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md","source":"@site/blog/welcome.md","title":"Welcome","description":"Welcome to Casvisor website!","date":"2024-05-23T12:56:39.000Z","formattedDate":"2024\u5e745\u670823\u65e5","tags":[{"label":"casvisor","permalink":"/zh/blog/tags/casvisor"}],"readingTime":0.02,"hasTruncateMarker":false,"authors":[{"name":"Casbin Team","url":"https://github.com/casbin","imageURL":"https://avatars.githubusercontent.com/casbin"}],"frontMatter":{"title":"Welcome","author":"Casbin Team","author_url":"https://github.com/casbin","author_image_url":"https://avatars.githubusercontent.com/casbin","tags":["casvisor"]}},"content":"Welcome to Casvisor website!"}]}')}}]); \ No newline at end of file diff --git a/zh/assets/js/a951fea5.3c88aac2.js b/zh/assets/js/a951fea5.f6c5d4c7.js similarity index 96% rename from zh/assets/js/a951fea5.3c88aac2.js rename to zh/assets/js/a951fea5.f6c5d4c7.js index 2e906eb..d8ffb2e 100644 --- a/zh/assets/js/a951fea5.3c88aac2.js +++ b/zh/assets/js/a951fea5.f6c5d4c7.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/zh/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"2024\u5e744\u670821\u65e5",tags:[{label:"casvisor",permalink:"/zh/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[432],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/zh/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"2024\u5e745\u670823\u65e5",tags:[{label:"casvisor",permalink:"/zh/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh/assets/js/acf87bcd.88023349.js b/zh/assets/js/acf87bcd.c6677d5a.js similarity index 96% rename from zh/assets/js/acf87bcd.88023349.js rename to zh/assets/js/acf87bcd.c6677d5a.js index a3010e2..3b3af34 100644 --- a/zh/assets/js/acf87bcd.88023349.js +++ b/zh/assets/js/acf87bcd.c6677d5a.js @@ -1 +1 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/zh/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-04-21T09:50:06.000Z",formattedDate:"2024\u5e744\u670821\u65e5",tags:[{label:"casvisor",permalink:"/zh/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[646],{3905:(e,t,r)=>{r.d(t,{Zo:()=>u,kt:()=>f});var n=r(7294);function o(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function a(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function c(e){for(var t=1;t=0||(o[r]=e[r]);return o}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}var s=n.createContext({}),l=function(e){var t=n.useContext(s),r=t;return e&&(r="function"==typeof e?e(t):c(c({},t),e)),r},u=function(e){var t=l(e.components);return n.createElement(s.Provider,{value:t},e.children)},p="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},b=n.forwardRef((function(e,t){var r=e.components,o=e.mdxType,a=e.originalType,s=e.parentName,u=i(e,["components","mdxType","originalType","parentName"]),p=l(r),b=o,f=p["".concat(s,".").concat(b)]||p[b]||m[b]||a;return r?n.createElement(f,c(c({ref:t},u),{},{components:r})):n.createElement(f,c({ref:t},u))}));function f(e,t){var r=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var a=r.length,c=new Array(a);c[0]=b;var i={};for(var s in t)hasOwnProperty.call(t,s)&&(i[s]=t[s]);i.originalType=e,i[p]="string"==typeof e?e:o,c[1]=i;for(var l=2;l{r.r(t),r.d(t,{assets:()=>s,contentTitle:()=>c,default:()=>m,frontMatter:()=>a,metadata:()=>i,toc:()=>l});var n=r(7462),o=(r(7294),r(3905));const a={title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]},c=void 0,i={permalink:"/zh/blog/welcome",editUrl:"https://github.com/casvisor/casvisor-website/edit/master/blog/welcome.md",source:"@site/blog/welcome.md",title:"Welcome",description:"Welcome to Casvisor website!",date:"2024-05-23T12:56:39.000Z",formattedDate:"2024\u5e745\u670823\u65e5",tags:[{label:"casvisor",permalink:"/zh/blog/tags/casvisor"}],readingTime:.02,hasTruncateMarker:!1,authors:[{name:"Casbin Team",url:"https://github.com/casbin",imageURL:"https://avatars.githubusercontent.com/casbin"}],frontMatter:{title:"Welcome",author:"Casbin Team",author_url:"https://github.com/casbin",author_image_url:"https://avatars.githubusercontent.com/casbin",tags:["casvisor"]}},s={authorsImageUrls:[void 0]},l=[],u={toc:l},p="wrapper";function m(e){let{components:t,...r}=e;return(0,o.kt)(p,(0,n.Z)({},u,r,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("p",null,"Welcome to Casvisor website!"))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh/assets/js/ea47aeb2.62b22d8c.js b/zh/assets/js/ea47aeb2.62b22d8c.js new file mode 100644 index 0000000..9135727 --- /dev/null +++ b/zh/assets/js/ea47aeb2.62b22d8c.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>p,kt:()=>h});var o=a(7294);function r(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function n(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,o)}return a}function i(e){for(var t=1;t=0||(r[a]=e[a]);return r}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(r[a]=e[a])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):i(i({},t),e)),a},p=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},d="mdxType",u={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},m=o.forwardRef((function(e,t){var a=e.components,r=e.mdxType,n=e.originalType,l=e.parentName,p=s(e,["components","mdxType","originalType","parentName"]),d=c(a),m=r,h=d["".concat(l,".").concat(m)]||d[m]||u[m]||n;return a?o.createElement(h,i(i({ref:t},p),{},{components:a})):o.createElement(h,i({ref:t},p))}));function h(e,t){var a=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var n=a.length,i=new Array(n);i[0]=m;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:r,i[1]=s;for(var c=2;c{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>u,frontMatter:()=>n,metadata:()=>s,toc:()=>c});var o=a(7462),r=(a(7294),a(3905));const n={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/zh/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/zh/docs/basic/installation"},next:{title:"Assets",permalink:"/zh/docs/category/assets"}},l={},c=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],p={toc:c},d="wrapper";function u(e){let{components:t,...a}=e;return(0,r.kt)(d,(0,o.Z)({},p,a,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("h2",{id:"requirements"},"Requirements"),(0,r.kt)("h3",{id:"hardware"},"Hardware"),(0,r.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,r.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,r.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,r.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,r.kt)("h3",{id:"os"},"OS"),(0,r.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,r.kt)("h3",{id:"docker"},"Docker"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,r.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},(0,r.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,r.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,r.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,r.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,r.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,r.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,r.kt)("h2",{id:"get-the-image"},"Get the image"),(0,r.kt)("p",null,"We have provided two DockerHub images:"),(0,r.kt)("table",null,(0,r.kt)("thead",{parentName:"table"},(0,r.kt)("tr",{parentName:"thead"},(0,r.kt)("th",{parentName:"tr",align:null},"Name"),(0,r.kt)("th",{parentName:"tr",align:null},"Description"),(0,r.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,r.kt)("tbody",{parentName:"table"},(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,r.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,r.kt)("tr",{parentName:"tbody"},(0,r.kt)("td",{parentName:"tr",align:null},(0,r.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,r.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,r.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,r.kt)("ol",null,(0,r.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,r.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,r.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,r.kt)("h3",{id:"option-1-use-the-toy-database"},(0,r.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,r.kt)("p",null,"Run the container with port ",(0,r.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,r.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,r.kt)("p",null,"You can use ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,r.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,r.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,r.kt)("p",null,(0,r.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,r.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,r.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,r.kt)("h4",{id:"mysql"},"MySQL"),(0,r.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,r.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,r.kt)("p",null,"Create ",(0,r.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,r.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,r.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,r.kt)("p",null,"Then run"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,r.kt)("p",null,"Anyway, just ",(0,r.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,r.kt)("admonition",{type:"tip"},(0,r.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,r.kt)("pre",{parentName:"admonition"},(0,r.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,r.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,r.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,r.kt)("pre",null,(0,r.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,r.kt)("p",null,"Visit ",(0,r.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,r.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}u.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh/assets/js/ea47aeb2.6566db8a.js b/zh/assets/js/ea47aeb2.6566db8a.js deleted file mode 100644 index 6f69469..0000000 --- a/zh/assets/js/ea47aeb2.6566db8a.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkcasvisor_website=self.webpackChunkcasvisor_website||[]).push([[310],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>h});var n=a(7294);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=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=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},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,r=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,h=d["".concat(l,".").concat(u)]||d[u]||m[u]||r;return a?n.createElement(h,i(i({ref:t},c),{},{components:a})):n.createElement(h,i({ref:t},c))}));function h(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var r=a.length,i=new Array(r);i[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,i[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>i,default:()=>m,frontMatter:()=>r,metadata:()=>s,toc:()=>p});var n=a(7462),o=(a(7294),a(3905));const r={title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},i=void 0,s={unversionedId:"basic/try-with-docker",id:"basic/try-with-docker",title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",source:"@site/docs/basic/try-with-docker.md",sourceDirName:"basic",slug:"/basic/try-with-docker",permalink:"/zh/docs/basic/try-with-docker",draft:!1,editUrl:"https://github.com/casvisor/casvisor-website/edit/master/docs/basic/try-with-docker.md",tags:[],version:"current",frontMatter:{title:"(Optional) Try with Docker",description:"Try Casvisor with Docker",keywords:["Casvisor","Docker","install","docker-compose"],authors:["leo220yuyaodog"]},sidebar:"tutorialSidebar",previous:{title:"Server Installation",permalink:"/zh/docs/basic/installation"},next:{title:"Assets",permalink:"/zh/docs/category/assets"}},l={},p=[{value:"Requirements",id:"requirements",level:2},{value:"Hardware",id:"hardware",level:3},{value:"OS",id:"os",level:3},{value:"Docker",id:"docker",level:3},{value:"Get the image",id:"get-the-image",level:2},{value:"Option-1: Use the toy database",id:"option-1-use-the-toy-database",level:3},{value:"Option-2: Try with docker-compose",id:"option-2-try-with-docker-compose",level:3},{value:"Option-3: Try directly with the standard image",id:"option-3-try-directly-with-the-standard-image",level:3},{value:"MySQL",id:"mysql",level:4},{value:"Run Casvisor",id:"run-casvisor",level:4},{value:"Run guacd",id:"run-guacd",level:4}],c={toc:p},d="wrapper";function m(e){let{components:t,...a}=e;return(0,o.kt)(d,(0,n.Z)({},c,a,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"requirements"},"Requirements"),(0,o.kt)("h3",{id:"hardware"},"Hardware"),(0,o.kt)("p",null,"If you want to build the Docker image yourself, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Casvisor's frontend is an NPM project of React. Building the frontend requires at least ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory. Having less than ",(0,o.kt)("strong",{parentName:"p"},"2GB")," of memory may result in a frontend build failure."),(0,o.kt)("p",null,"If you only need to run the pre-built image, please ensure that your machine has at least ",(0,o.kt)("strong",{parentName:"p"},"100MB")," of memory."),(0,o.kt)("h3",{id:"os"},"OS"),(0,o.kt)("p",null,"All operating systems (Linux, Windows, and macOS) are supported."),(0,o.kt)("h3",{id:"docker"},"Docker"),(0,o.kt)("p",null,"You can use ",(0,o.kt)("strong",{parentName:"p"},"Docker (docker-engine version >= 17.05)")," in Linux or ",(0,o.kt)("strong",{parentName:"p"},"Docker Desktop")," in Windows and macOS."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},(0,o.kt)("a",{parentName:"li",href:"https://docs.docker.com/get-docker/"},"Docker"))),(0,o.kt)("p",null,"Regardless of the operating system, users must ensure that they have ",(0,o.kt)("strong",{parentName:"p"},"docker-engine version >= 17.05"),". This is because we utilize the multi-stage build feature in the docker-compose.yml, which is supported in versions 17.05 and above. For more information, see ",(0,o.kt)("a",{parentName:"p",href:"https://docs.docker.com/develop/develop-images/multistage-build/"},"https://docs.docker.com/develop/develop-images/multistage-build/"),"."),(0,o.kt)("p",null,"If you are also using docker-compose, please ensure that you have ",(0,o.kt)("strong",{parentName:"p"},"docker-compose version >= 2.2"),". For Linux users, you also need to make sure that docker-compose is installed, as it is separate from docker-engine."),(0,o.kt)("h2",{id:"get-the-image"},"Get the image"),(0,o.kt)("p",null,"We have provided two DockerHub images:"),(0,o.kt)("table",null,(0,o.kt)("thead",{parentName:"table"},(0,o.kt)("tr",{parentName:"thead"},(0,o.kt)("th",{parentName:"tr",align:null},"Name"),(0,o.kt)("th",{parentName:"tr",align:null},"Description"),(0,o.kt)("th",{parentName:"tr",align:null},"Suggestion"))),(0,o.kt)("tbody",{parentName:"table"},(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor-all-in-one"},"casvisor-all-in-one")),(0,o.kt)("td",{parentName:"tr",align:null},"Casvisor, MySQL database and guacamole-server are included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image already includes a toy database and is only for testing purposes")),(0,o.kt)("tr",{parentName:"tbody"},(0,o.kt)("td",{parentName:"tr",align:null},(0,o.kt)("a",{parentName:"td",href:"https://hub.docker.com/r/casbin/casvisor"},"casvisor")),(0,o.kt)("td",{parentName:"tr",align:null},"Only Casvisor is included in the image"),(0,o.kt)("td",{parentName:"tr",align:null},"This image can be connected to your own database and used in production")))),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},"casbin/casvisor-all-in-one: This image includes the casvisor binary, a MySQL database and guacamole-server, and all\nthe necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can\nstart Casvisor immediately with just one or two commands, without any complex configuration. However, please note that\nwe ",(0,o.kt)("strong",{parentName:"li"},"do not recommend")," using this image in a production environment.")),(0,o.kt)("p",null,"Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use\nthe office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),"."),(0,o.kt)("h3",{id:"option-1-use-the-toy-database"},(0,o.kt)("strong",{parentName:"h3"},"Option-1"),": Use the toy database"),(0,o.kt)("p",null,"Run the container with port ",(0,o.kt)("inlineCode",{parentName:"p"},"19000")," exposed to the host. The image will be automatically pulled if it doesn't exist on the local host."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -p 19000:19000 casbin/casvisor-all-in-one\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor-all-in-one:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h3",{id:"option-2-try-with-docker-compose"},(0,o.kt)("strong",{parentName:"h3"},"Option-2"),": Try with docker-compose"),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("p",null,"You can use ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/docker-compose.yml"},"docker-compose.yml")," in the official repository. Create a ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf")," directory in the same directory level as the ",(0,o.kt)("inlineCode",{parentName:"p"},"docker-compose.yml")," file. Then, copy ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"app.conf")," from Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker-compose up\n")),(0,o.kt)("p",null,"That's it! \ud83d\udee9\ufe0f"),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called \"RUNNING_IN_DOCKER\". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.")),(0,o.kt)("h3",{id:"option-3-try-directly-with-the-standard-image"},(0,o.kt)("strong",{parentName:"h3"},"Option-3"),": Try directly with the standard image"),(0,o.kt)("h4",{id:"mysql"},"MySQL"),(0,o.kt)("p",null,"Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run \\\n -p 3306:3306 \\\n -e MYSQL_ROOT_PASSWORD=123456 \\\n -v /usr/local/docker/mysql:/var/lib/mysql \\\n mysql:8.0.25\n")),(0,o.kt)("h4",{id:"run-casvisor"},"Run Casvisor"),(0,o.kt)("p",null,"Create ",(0,o.kt)("inlineCode",{parentName:"p"},"conf/app.conf"),". You can copy it from ",(0,o.kt)("a",{parentName:"p",href:"https://github.com/casvisor/casvisor/blob/master/conf/app.conf"},"conf/app.conf")," in Casvisor. For more details about ",(0,o.kt)("inlineCode",{parentName:"p"},"app.conf"),", you can see ",(0,o.kt)("a",{parentName:"p",href:"/docs/basic/installation#configuration"},"configuration"),"."),(0,o.kt)("p",null,"Then run"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-bash"},"docker run -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest\n")),(0,o.kt)("p",null,"Anyway, just ",(0,o.kt)("strong",{parentName:"p"},"mount the folder of app.conf to /home/casvisor/conf")," and start the container."),(0,o.kt)("admonition",{type:"tip"},(0,o.kt)("p",{parentName:"admonition"},"If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution."),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-bash",metastring:'title="example"',title:'"example"'},"\ndocker run \\\n -e driverName=mysql \\\n -e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \\\n -e casdoorEndpoint=https://door.casdoor.com \\\n -e clientId=b108dacba027db36ec26 \\\n -e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \\\n -e casdoorOrganization=casbin \\\n -e casdoorApplication=app-casvisor \\\n -p 19000:19000 \\\n casbin/casvisor:latest\n\n"))),(0,o.kt)("admonition",{type:"caution"},(0,o.kt)("p",{parentName:"admonition"},"Some users in areas like China usually use Docker image mirror services like ",(0,o.kt)("a",{parentName:"p",href:"https://help.aliyun.com/document_detail/60750.html"},"Alibaba Cloud Image Booster")," (",(0,o.kt)("a",{parentName:"p",href:"https://www.alibabacloud.com/help/en/container-registry/latest/accelerate-the-download-of-docker-official-images"},"English"),") to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag provided by them is not up-to-date. As a result, fetching the ",(0,o.kt)("inlineCode",{parentName:"p"},"latest")," tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:"),(0,o.kt)("pre",{parentName:"admonition"},(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker pull casbin/casvisor:$(curl -sS \"https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2\" | sed 's/,/,\\n/g' | grep '\"name\"' |awk -F '\"' '{print $4}')\n")),(0,o.kt)("p",{parentName:"admonition"},"Note: The above command utilizes Linux tools like ",(0,o.kt)("inlineCode",{parentName:"p"},"curl"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"sed"),", ",(0,o.kt)("inlineCode",{parentName:"p"},"grep"),", and ",(0,o.kt)("inlineCode",{parentName:"p"},"awk"),". If you are using Windows, make sure you run it in a Linux-style shell like ",(0,o.kt)("inlineCode",{parentName:"p"},"Git Shell")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"Cygwin"),". ",(0,o.kt)("inlineCode",{parentName:"p"},"CMD")," or ",(0,o.kt)("inlineCode",{parentName:"p"},"PowerShell")," won't work.")),(0,o.kt)("h4",{id:"run-guacd"},"Run guacd"),(0,o.kt)("p",null,"Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:"),(0,o.kt)("pre",null,(0,o.kt)("code",{parentName:"pre",className:"language-shell"},"docker run -d --name guacd -p 4822:4822 guacamole/guacd\n")),(0,o.kt)("p",null,"Visit ",(0,o.kt)("a",{parentName:"p",href:"http://localhost:19000"},(0,o.kt)("strong",{parentName:"a"},"http://localhost:19000"))," in your browser."))}m.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/zh/assets/js/runtime~main.e9651e9d.js b/zh/assets/js/runtime~main.e7f5145b.js similarity index 51% rename from zh/assets/js/runtime~main.e9651e9d.js rename to zh/assets/js/runtime~main.e7f5145b.js index f295d0e..ebe44e4 100644 --- a/zh/assets/js/runtime~main.e9651e9d.js +++ b/zh/assets/js/runtime~main.e7f5145b.js @@ -1 +1 @@ -(()=>{"use strict";var e,t,r,a,f,o={},c={};function d(e){var t=c[e];if(void 0!==t)return t.exports;var r=c[e]={exports:{}};return o[e].call(r.exports,r,r.exports,d),r.exports}d.m=o,e=[],d.O=(t,r,a,f)=>{if(!r){var o=1/0;for(i=0;i=f)&&Object.keys(d.O).every((e=>d.O[e](r[b])))?r.splice(b--,1):(c=!1,f0&&e[i-1][2]>f;i--)e[i]=e[i-1];e[i]=[r,a,f]},d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var f=Object.create(null);d.r(f);var o={};t=t||[null,r({}),r([]),r(r)];for(var c=2&a&&e;"object"==typeof c&&!~t.indexOf(c);c=r(c))Object.getOwnPropertyNames(c).forEach((t=>o[t]=()=>e[t]));return o.default=()=>e,d.d(f,o),f},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((t,r)=>(d.f[r](e,t),t)),[])),d.u=e=>"assets/js/"+({13:"01a85c17",45:"927d70e2",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",151:"7190cbd8",166:"14c8e628",195:"c4f5d8e4",217:"1dba9094",305:"92f6d415",310:"ea47aeb2",357:"f781f909",391:"290cc788",432:"a951fea5",514:"1be78505",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",595:"b4214534",608:"9e4087bc",610:"6875c492",646:"acf87bcd",718:"981388e3",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",800:"3a332aed",817:"14eb3368",864:"8dd2e619",909:"bfb16af5",918:"17896441",950:"3f4cb13f"}[e]||e)+"."+{13:"3186fb4b",45:"be1a0f7e",48:"63c544ab",53:"a1175d88",68:"4490b5c1",81:"410bb843",89:"1656bb5b",103:"e5273bec",151:"e3c584c6",166:"c17b65a3",195:"5f072758",217:"b7d5aef2",305:"44b2d220",310:"6566db8a",316:"81ede736",357:"77319bdf",391:"0946f115",432:"3c88aac2",487:"c64f1a92",514:"bc0c2ac7",535:"f114ea8c",562:"1db640fe",583:"0a0eebf8",594:"0b9b45b6",595:"c9e2fede",608:"f0c69295",610:"419d4bd6",628:"2fe50af1",646:"88023349",718:"f1b39b92",724:"1f48a7fd",740:"70ede3d4",776:"d6ab3c2e",778:"172df872",780:"de6153af",800:"1c64ef1b",817:"59925caf",864:"5528c9b9",909:"d4cf9226",918:"d7957afb",950:"e86cead2",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},f="casvisor-website:",d.l=(e,t,r,o)=>{if(a[e])a[e].push(t);else{var c,b;if(void 0!==r)for(var n=document.getElementsByTagName("script"),i=0;i{c.onerror=c.onload=null,clearTimeout(l);var f=a[e];if(delete a[e],c.parentNode&&c.parentNode.removeChild(c),f&&f.forEach((e=>e(r))),t)return t(r)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:c}),12e4);c.onerror=s.bind(null,c.onerror),c.onload=s.bind(null,c.onload),b&&document.head.appendChild(c)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/zh/",d.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","927d70e2":"45","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","7190cbd8":"151","14c8e628":"166",c4f5d8e4:"195","1dba9094":"217","92f6d415":"305",ea47aeb2:"310",f781f909:"357","290cc788":"391",a951fea5:"432","1be78505":"514","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594",b4214534:"595","9e4087bc":"608","6875c492":"610",acf87bcd:"646","981388e3":"718","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","3a332aed":"800","14eb3368":"817","8dd2e619":"864",bfb16af5:"909","3f4cb13f":"950"}[e]||e,d.p+d.u(e)},(()=>{var e={303:0,532:0};d.f.j=(t,r)=>{var a=d.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var f=new Promise(((r,f)=>a=e[t]=[r,f]));r.push(a[2]=f);var o=d.p+d.u(t),c=new Error;d.l(o,(r=>{if(d.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var f=r&&("load"===r.type?"missing":r.type),o=r&&r.target&&r.target.src;c.message="Loading chunk "+t+" failed.\n("+f+": "+o+")",c.name="ChunkLoadError",c.type=f,c.request=o,a[1](c)}}),"chunk-"+t,t)}},d.O.j=t=>0===e[t];var t=(t,r)=>{var a,f,o=r[0],c=r[1],b=r[2],n=0;if(o.some((t=>0!==e[t]))){for(a in c)d.o(c,a)&&(d.m[a]=c[a]);if(b)var i=b(d)}for(t&&t(r);n{"use strict";var e,t,r,a,c,f={},o={};function d(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}};return f[e].call(r.exports,r,r.exports,d),r.exports}d.m=f,e=[],d.O=(t,r,a,c)=>{if(!r){var f=1/0;for(i=0;i=c)&&Object.keys(d.O).every((e=>d.O[e](r[b])))?r.splice(b--,1):(o=!1,c0&&e[i-1][2]>c;i--)e[i]=e[i-1];e[i]=[r,a,c]},d.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return d.d(t,{a:t}),t},r=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,d.t=function(e,a){if(1&a&&(e=this(e)),8&a)return e;if("object"==typeof e&&e){if(4&a&&e.__esModule)return e;if(16&a&&"function"==typeof e.then)return e}var c=Object.create(null);d.r(c);var f={};t=t||[null,r({}),r([]),r(r)];for(var o=2&a&&e;"object"==typeof o&&!~t.indexOf(o);o=r(o))Object.getOwnPropertyNames(o).forEach((t=>f[t]=()=>e[t]));return f.default=()=>e,d.d(c,f),c},d.d=(e,t)=>{for(var r in t)d.o(t,r)&&!d.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},d.f={},d.e=e=>Promise.all(Object.keys(d.f).reduce(((t,r)=>(d.f[r](e,t),t)),[])),d.u=e=>"assets/js/"+({13:"01a85c17",45:"927d70e2",53:"935f2afb",68:"9001695a",81:"18891827",89:"a6aa9e1f",103:"ccc49370",151:"7190cbd8",166:"14c8e628",195:"c4f5d8e4",217:"1dba9094",305:"92f6d415",310:"ea47aeb2",357:"f781f909",391:"290cc788",432:"a951fea5",514:"1be78505",535:"814f3328",562:"a0e59008",583:"d4e54de2",594:"72ea323d",595:"b4214534",608:"9e4087bc",610:"6875c492",646:"acf87bcd",718:"981388e3",740:"7e37206e",776:"81130aff",778:"49d2d5a5",780:"596abbce",800:"3a332aed",817:"14eb3368",864:"8dd2e619",909:"bfb16af5",918:"17896441",950:"3f4cb13f"}[e]||e)+"."+{13:"3186fb4b",45:"09ca6c56",48:"63c544ab",53:"a1175d88",68:"4490b5c1",81:"410bb843",89:"1656bb5b",103:"e5273bec",151:"e3c584c6",166:"c17b65a3",195:"5f072758",217:"b7d5aef2",305:"44b2d220",310:"62b22d8c",316:"81ede736",357:"77319bdf",391:"0946f115",432:"f6c5d4c7",487:"c64f1a92",514:"bc0c2ac7",535:"f114ea8c",562:"1db640fe",583:"0a0eebf8",594:"0b9b45b6",595:"c9e2fede",608:"f0c69295",610:"419d4bd6",628:"2fe50af1",646:"c6677d5a",718:"f1b39b92",724:"1f48a7fd",740:"70ede3d4",776:"d6ab3c2e",778:"172df872",780:"de6153af",800:"1c64ef1b",817:"59925caf",864:"5528c9b9",909:"d4cf9226",918:"d7957afb",950:"e86cead2",954:"23f9c7ee",972:"ed6443c5"}[e]+".js",d.miniCssF=e=>{},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),a={},c="casvisor-website:",d.l=(e,t,r,f)=>{if(a[e])a[e].push(t);else{var o,b;if(void 0!==r)for(var n=document.getElementsByTagName("script"),i=0;i{o.onerror=o.onload=null,clearTimeout(l);var c=a[e];if(delete a[e],o.parentNode&&o.parentNode.removeChild(o),c&&c.forEach((e=>e(r))),t)return t(r)},l=setTimeout(s.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=s.bind(null,o.onerror),o.onload=s.bind(null,o.onload),b&&document.head.appendChild(o)}},d.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},d.p="/zh/",d.gca=function(e){return e={17896441:"918",18891827:"81","01a85c17":"13","927d70e2":"45","935f2afb":"53","9001695a":"68",a6aa9e1f:"89",ccc49370:"103","7190cbd8":"151","14c8e628":"166",c4f5d8e4:"195","1dba9094":"217","92f6d415":"305",ea47aeb2:"310",f781f909:"357","290cc788":"391",a951fea5:"432","1be78505":"514","814f3328":"535",a0e59008:"562",d4e54de2:"583","72ea323d":"594",b4214534:"595","9e4087bc":"608","6875c492":"610",acf87bcd:"646","981388e3":"718","7e37206e":"740","81130aff":"776","49d2d5a5":"778","596abbce":"780","3a332aed":"800","14eb3368":"817","8dd2e619":"864",bfb16af5:"909","3f4cb13f":"950"}[e]||e,d.p+d.u(e)},(()=>{var e={303:0,532:0};d.f.j=(t,r)=>{var a=d.o(e,t)?e[t]:void 0;if(0!==a)if(a)r.push(a[2]);else if(/^(303|532)$/.test(t))e[t]=0;else{var c=new Promise(((r,c)=>a=e[t]=[r,c]));r.push(a[2]=c);var f=d.p+d.u(t),o=new Error;d.l(f,(r=>{if(d.o(e,t)&&(0!==(a=e[t])&&(e[t]=void 0),a)){var c=r&&("load"===r.type?"missing":r.type),f=r&&r.target&&r.target.src;o.message="Loading chunk "+t+" failed.\n("+c+": "+f+")",o.name="ChunkLoadError",o.type=c,o.request=f,a[1](o)}}),"chunk-"+t,t)}},d.O.j=t=>0===e[t];var t=(t,r)=>{var a,c,f=r[0],o=r[1],b=r[2],n=0;if(f.some((t=>0!==e[t]))){for(a in o)d.o(o,a)&&(d.m[a]=o[a]);if(b)var i=b(d)}for(t&&t(r);n!function(t,h,e,j,s,n){t.hj=t.hj||function(){(t.hj.q=t.hj.q||[]).push(arguments)},t._hjSettings={hjid:3620236,hjsv:6},s=h.getElementsByTagName("head")[0],(n=h.createElement("script")).async=1,n.src="https://static.hotjar.com/c/hotjar-"+t._hjSettings.hjid+".js?sv="+t._hjSettings.hjsv,s.appendChild(n)}(window,document) - +
-

历史博文

历史博文

- + \ No newline at end of file diff --git a/zh/docs/asset/intranet/index.html b/zh/docs/asset/intranet/index.html index 997d41c..c625825 100644 --- a/zh/docs/asset/intranet/index.html +++ b/zh/docs/asset/intranet/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/zh/docs/asset/overview/index.html b/zh/docs/asset/overview/index.html index ffc6343..f68eca6 100644 --- a/zh/docs/asset/overview/index.html +++ b/zh/docs/asset/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/docs/asset/rdp/index.html b/zh/docs/asset/rdp/index.html index 21b3a07..81005dc 100644 --- a/zh/docs/asset/rdp/index.html +++ b/zh/docs/asset/rdp/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/zh/docs/asset/vnc/index.html b/zh/docs/asset/vnc/index.html index 8c40b80..ae065a1 100644 --- a/zh/docs/asset/vnc/index.html +++ b/zh/docs/asset/vnc/index.html @@ -12,7 +12,7 @@ - + @@ -23,7 +23,7 @@ - + \ No newline at end of file diff --git a/zh/docs/basic/installation/index.html b/zh/docs/basic/installation/index.html index c2cd29b..b6a9a98 100644 --- a/zh/docs/basic/installation/index.html +++ b/zh/docs/basic/installation/index.html @@ -12,7 +12,7 @@ - + @@ -28,7 +28,7 @@ - + \ No newline at end of file diff --git a/zh/docs/basic/try-with-docker/index.html b/zh/docs/basic/try-with-docker/index.html index 54fa85a..5c1e2d9 100644 --- a/zh/docs/basic/try-with-docker/index.html +++ b/zh/docs/basic/try-with-docker/index.html @@ -12,7 +12,7 @@ - + @@ -21,12 +21,12 @@ the necessary configurations. It is designed for new users who want to try Casvisor quickly. With this image, you can start Casvisor immediately with just one or two commands, without any complex configuration. However, please note that we do not recommend using this image in a production environment.

Casvisor uses Casdoor as the authentication and authorization system. The default configuration of Casvisor is to use -the office Casdoor server. If you want to use your own Casdoor server, you need to modify the configuration file conf/app.conf.

Option-1: Use the toy database

Run the container with port 19000 exposed to the host. The image will be automatically pulled if it doesn't exist on the local host.

docker run -p 19000:19000 casbin/casvisor-all-in-one

Visit http://localhost:19000 in your browser.

警告

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor-all-in-one:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor-all-in-one/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Option-2: Try with docker-compose

警告

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

You can use docker-compose.yml in the official repository. Create a conf/app.conf directory in the same directory level as the docker-compose.yml file. Then, copy app.conf from Casvisor. For more details about app.conf, you can see configuration.

docker-compose up

That's it! 🛩️

Visit http://localhost:19000 in your browser.

Note: If you dig deeper into the docker-compose.yml file, you may be puzzled by the environment variable we created called "RUNNING_IN_DOCKER". When the database 'db' is created via docker-compose, it is available on your PC's localhost but not the localhost of the Casvisor container. To prevent you from running into troubles caused by modifying app.conf, which can be quite difficult for a new user, we provided this environment variable and pre-assigned it in the docker-compose.yml. When this environment variable is set to true, localhost will be replaced with host.docker.internal so that Casvisor can access the database.

Option-3: Try directly with the standard image

MySQL

Mysql is required for Casvisor. If you don't have a MySQL database, you can run it with the following command:

docker run  \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/docker/mysql:/var/lib/mysql \
mysql:8.0.25

Run Casvisor

Create conf/app.conf. You can copy it from conf/app.conf in Casvisor. For more details about app.conf, you can see configuration.

Then run

docker run  -p 19000:19000 -v /folder/of/app.conf:/home/casvisor/conf casbin/casvisor:latest

Anyway, just mount the folder of app.conf to /home/casvisor/conf and start the container.

提示

If it is not convenient to mount the configuration file to a container, using environment variables is also a possible solution.

example

docker run \
-e driverName=mysql \
-e dataSourceName='user:password@tcp(x.x.x.x:3306)/' \
-e casdoorEndpoint=https://door.casdoor.com \
-e clientId=b108dacba027db36ec26 \
-e clientSecret=124140638b4f9de7e78e79ba22d451c17bfa9688 \
-e casdoorOrganization=casbin \
-e casdoorApplication=app-casvisor \
-p 19000:19000 \
casbin/casvisor:latest

警告

Some users in areas like China usually use Docker image mirror services like Alibaba Cloud Image Booster (English) to achieve higher download speeds compared to DockerHub. However, these services have a known issue where the latest tag provided by them is not up-to-date. As a result, fetching the latest tag may result in a very old image. To mitigate this issue, you can specify the image version number explicitly using the following command:

docker pull casbin/casvisor:$(curl -sS "https://hub.docker.com/v2/repositories/casbin/casvisor/tags/?page_size=1&page=2" | sed 's/,/,\n/g' | grep '"name"' |awk -F '"' '{print $4}')

Note: The above command utilizes Linux tools like curl, sed, grep, and awk. If you are using Windows, make sure you run it in a Linux-style shell like Git Shell or Cygwin. CMD or PowerShell won't work.

Run guacd

Casvisor uses guacamole-server to provide remote desktop access. If you want to use this feature, you need to run guacd. You can run guacd with the following command:

docker run -d --name guacd -p 4822:4822 guacamole/guacd

Visit http://localhost:19000 in your browser.


- + \ No newline at end of file diff --git a/zh/docs/category/assets/index.html b/zh/docs/category/assets/index.html index 2742cb8..56106e9 100644 --- a/zh/docs/category/assets/index.html +++ b/zh/docs/category/assets/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@
- + \ No newline at end of file diff --git a/zh/docs/category/commands/index.html b/zh/docs/category/commands/index.html index 3d18a7e..17bc2a1 100644 --- a/zh/docs/category/commands/index.html +++ b/zh/docs/category/commands/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/docs/category/the-basics/index.html b/zh/docs/category/the-basics/index.html index 042d5ac..695e41a 100644 --- a/zh/docs/category/the-basics/index.html +++ b/zh/docs/category/the-basics/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/docs/command/index.html b/zh/docs/command/index.html index 4e6ed5e..cc4b67d 100644 --- a/zh/docs/command/index.html +++ b/zh/docs/command/index.html @@ -12,7 +12,7 @@ - + @@ -24,7 +24,7 @@ - + \ No newline at end of file diff --git a/zh/docs/overview/index.html b/zh/docs/overview/index.html index 3d5a1db..0e8ebb5 100644 --- a/zh/docs/overview/index.html +++ b/zh/docs/overview/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/help/index.html b/zh/help/index.html index 618c077..0c0436a 100644 --- a/zh/help/index.html +++ b/zh/help/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/index.html b/zh/index.html index a1cdc18..688dd6d 100644 --- a/zh/index.html +++ b/zh/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/pdf/index.html b/zh/pdf/index.html index ebf76cb..c7b00ef 100644 --- a/zh/pdf/index.html +++ b/zh/pdf/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file diff --git a/zh/users/index.html b/zh/users/index.html index d816731..01f987f 100644 --- a/zh/users/index.html +++ b/zh/users/index.html @@ -12,7 +12,7 @@ - + @@ -22,7 +22,7 @@ - + \ No newline at end of file