muerwre.github.io/obsidian/self-hosted-obsidian-sync-with-couchdb/_payload.js
muerwre 3704dccb33 commit 2bd149f2ce
Author: Fedor Katurov <gotham48@gmail.com>
Date:   Fri Nov 11 16:43:37 2022 +0600

    fixed writing.svg shadows
2022-11-11 10:45:21 +00:00

1 line
No EOL
22 KiB
JavaScript

export default (function(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,_,$,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay){return {data:{navigation:[{title:"Blockchain",_path:"\u002Fblockchain",children:[{title:"Common Typescript Examples",_path:"\u002Fblockchain\u002Fcommon-typescript-examples"},{title:"Smart Contracts",_path:"\u002Fblockchain\u002Fsmart-contracts"}]},{title:"Css",_path:"\u002Fcss",children:[{title:"Automatic Grid Like Masonry With Pure CSS",_path:"\u002Fcss\u002Fautomatic-grid-like-masonry-with-pure-css"},{title:"Sass Nth Child Iterate Mixin",_path:"\u002Fcss\u002Fsass-nth-child-iterate-mixin"},{title:"Test If Browser Supports CSS Rules",_path:"\u002Fcss\u002Ftest-if-browser-supports-css-rules"}]},{title:"Docker",_path:"\u002Fdocker",children:[{title:"Building Static Pages With Docker",_path:"\u002Fdocker\u002Fbuilding-static-pages-with-docker"},{title:"Drone Ci",_path:"\u002Fdocker\u002Fdrone-ci"},{title:"Github Pages With Drone Ci",_path:"\u002Fdocker\u002Fgithub-pages-with-drone-ci"},{title:"Private Docker Registry",_path:"\u002Fdocker\u002Fprivate-docker-registry"},{title:"Refresh Containers On Pull",_path:"\u002Fdocker\u002Frefresh-containers-on-pull"},{title:"Seed Dump Inside Docker",_path:"\u002Fdocker\u002Fseed-dump-inside-docker"},{title:"Wait For Mysql",_path:"\u002Fdocker\u002Fwait-for-mysql"},{title:"Wait For Redis",_path:"\u002Fdocker\u002Fwait-for-redis"}]},{title:"Frontend",_path:"\u002Ffrontend",children:[{title:"React Native",_path:"\u002Ffrontend\u002Freact-native",children:[{title:"OAuth2 Login",_path:"\u002Ffrontend\u002Freact-native\u002Foauth2-login"},{title:"Preserve FlatList Scroll Position In React Native",_path:"\u002Ffrontend\u002Freact-native\u002Fpreserve-flatlist-scroll-position-in-react-native"},{title:"Useful Comands",_path:"\u002Ffrontend\u002Freact-native\u002Fuseful-comands"}]},{title:"React",_path:"\u002Ffrontend\u002Freact",children:[{title:"Axios Refresh Token On React",_path:"\u002Ffrontend\u002Freact\u002Faxios-refresh-token-on-react"},{title:"Axios With AbortController",_path:"\u002Ffrontend\u002Freact\u002Faxios-with-abortcontroller"}]},{title:"Vue",_path:"\u002Ffrontend\u002Fvue",children:[{title:"Adding Global Properties To Component",_path:"\u002Ffrontend\u002Fvue\u002Fadding-global-properties-to-component"},{title:"Make Nuxt Handle Obsidian Highlights",_path:"\u002Ffrontend\u002Fvue\u002Fmake-nuxt-handle-obsidian-highlights"}]}]},{title:"Git",_path:"\u002Fgit",children:[{title:"Force Git To Use HTTPS",_path:"\u002Fgit\u002Fforce-git-to-use-https"},{title:"Git Aliases And Useful Commands",_path:"\u002Fgit\u002Fgit-aliases-and-useful-commands"}]},{title:"Graphql",_path:"\u002Fgraphql",children:[{title:"Apollo Client Pagination",_path:"\u002Fgraphql\u002Fapollo-client-pagination"},{title:"Refresh Token In Apollo Client",_path:"\u002Fgraphql\u002Frefresh-token-in-apollo-client"}]},{title:"Linux",_path:"\u002Flinux",children:[{title:"Gitea For Git Hosting",_path:"\u002Flinux\u002Fgitea-for-git-hosting"},{title:"Google Photos Alternative With Photoprism",_path:"\u002Flinux\u002Fgoogle-photos-alternative-with-photoprism"},{title:"Resume Or Start Screen Session",_path:"\u002Flinux\u002Fresume-or-start-screen-session"},{title:"Rsync File With SSH",_path:"\u002Flinux\u002Frsync-file-with-ssh"},{title:"Setting Up NGINX",_path:"\u002Flinux\u002Fsetting-up-nginx"},{title:"SSH",_path:"\u002Flinux\u002Fssh"}]},{title:"Obsidian",_path:"\u002Fobsidian",children:[{title:O,_path:P}]},{title:"Sql",_path:"\u002Fsql",children:[{title:"MySQL And MariaDB Setup",_path:"\u002Fsql\u002Fmysql-and-mariadb-setup"},{title:"Postgress Setup",_path:"\u002Fsql\u002Fpostgress-setup"}]},{title:"Typescript",_path:"\u002Ftypescript",children:[{title:"Add Global Variable To Window",_path:"\u002Ftypescript\u002Fadd-global-variable-to-window"},{title:"Flatten Object With Periods",_path:"\u002Ftypescript\u002Fflatten-object-with-periods"},{title:"Type Guards",_path:"\u002Ftypescript\u002Ftype-guards"}]}],"content-query-nAvv1RNs1x":{_path:P,_dir:"obsidian",_draft:D,_partial:D,_locale:"en",_empty:D,title:O,description:m,excerpt:{type:Q,children:[{type:a,tag:R,props:{},children:[{type:a,tag:h,props:{},children:[{type:a,tag:w,props:{href:S,rel:[x]},children:[{type:b,value:T}]}]},{type:a,tag:h,props:{},children:[{type:a,tag:w,props:{href:U,rel:[x]},children:[{type:b,value:V}]}]}]},{type:a,tag:y,props:{id:E},children:[{type:b,value:F}]},{type:a,tag:p,props:{},children:[{type:b,value:W},{type:a,tag:g,props:{},children:[{type:b,value:X}]},{type:b,value:Y}]},{type:a,tag:i,props:{code:G,language:Z},children:[{type:a,tag:q,props:{},children:[{type:a,tag:i,props:{__ignoreMap:m},children:[{type:b,value:G}]}]}]},{type:a,tag:p,props:{},children:[{type:b,value:_},{type:a,tag:g,props:{},children:[{type:b,value:$}]},{type:b,value:j}]},{type:a,tag:i,props:{code:H,language:aa},children:[{type:a,tag:q,props:{},children:[{type:a,tag:i,props:{__ignoreMap:m},children:[{type:b,value:H}]}]}]},{type:a,tag:p,props:{},children:[{type:b,value:ab},{type:a,tag:g,props:{},children:[{type:b,value:ac}]},{type:b,value:j}]},{type:a,tag:i,props:{code:I,language:ad},children:[{type:a,tag:q,props:{},children:[{type:a,tag:i,props:{__ignoreMap:m},children:[{type:b,value:I}]}]}]},{type:a,tag:y,props:{id:J},children:[{type:b,value:K}]},{type:a,tag:ae,props:{},children:[{type:a,tag:h,props:{},children:[{type:b,value:af},{type:a,tag:g,props:{},children:[{type:b,value:ag}]},{type:b,value:ah}]},{type:a,tag:h,props:{},children:[{type:b,value:ai},{type:a,tag:g,props:{},children:[{type:b,value:aj}]}]},{type:a,tag:h,props:{},children:[{type:b,value:ak}]},{type:a,tag:h,props:{},children:[{type:b,value:al},{type:a,tag:g,props:{},children:[{type:b,value:am}]},{type:b,value:an},{type:a,tag:g,props:{},children:[{type:b,value:ao}]}]}]}]},body:{type:Q,children:[{type:a,tag:R,props:{},children:[{type:a,tag:h,props:{},children:[{type:a,tag:w,props:{href:S,rel:[x]},children:[{type:b,value:T}]}]},{type:a,tag:h,props:{},children:[{type:a,tag:w,props:{href:U,rel:[x]},children:[{type:b,value:V}]}]}]},{type:a,tag:y,props:{id:E},children:[{type:b,value:F}]},{type:a,tag:p,props:{},children:[{type:b,value:W},{type:a,tag:g,props:{},children:[{type:b,value:X}]},{type:b,value:Y}]},{type:a,tag:i,props:{code:G,language:Z},children:[{type:a,tag:q,props:{},children:[{type:a,tag:i,props:{__ignoreMap:m},children:[{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:k},children:[{type:b,value:"version"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:z}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:"'3'"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:k},children:[{type:b,value:"services"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:j}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:" "}]},{type:a,tag:c,props:{class:k},children:[{type:b,value:"couchserver"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:j}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:n}]},{type:a,tag:c,props:{class:k},children:[{type:b,value:"container_name"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:z}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:"obsidian__database"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:n}]},{type:a,tag:c,props:{class:k},children:[{type:b,value:"image"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:z}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:"couchdb"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:n}]},{type:a,tag:c,props:{class:k},children:[{type:b,value:"restart"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:z}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:"always"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:n}]},{type:a,tag:c,props:{class:k},children:[{type:b,value:"ports"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:j}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:r}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:"\"5984:5984\""}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:n}]},{type:a,tag:c,props:{class:k},children:[{type:b,value:"environment"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:j}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:r}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:"COUCHDB_USER=user"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:r}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:"COUCHDB_PASSWORD=somepassword"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:n}]},{type:a,tag:c,props:{class:k},children:[{type:b,value:"volumes"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:j}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:r}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:".\u002Fcouchdb\u002Fdbdata:\u002Fopt\u002Fcouchdb\u002Fdata"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:r}]},{type:a,tag:c,props:{class:l},children:[{type:b,value:".\u002Fcouchdb\u002Flocal.ini:\u002Fopt\u002Fcouchdb\u002Fetc\u002Flocal.ini"}]}]}]}]}]},{type:a,tag:p,props:{},children:[{type:b,value:_},{type:a,tag:g,props:{},children:[{type:b,value:$}]},{type:b,value:j}]},{type:a,tag:i,props:{code:H,language:aa},children:[{type:a,tag:q,props:{},children:[{type:a,tag:i,props:{__ignoreMap:m},children:[{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{},children:[{type:b,value:"[couchdb]\nsingle_node=true\nmax_document_size=50000000\nmax_http_request_size=4294967296\n\n[chttpd]\nrequire_valid_user = true\n\n[chttpd_auth]\nrequire_valid_user = true\nauthentication_redirect = \u002F_utils\u002Fsession.html\n\n[httpd]\nWWW-Authenticate = Basic realm=\"couchdb\"\nenable_cors = true\n\n[cors]\norigins = app:\u002F\u002Fobsidian.md,capacitor:\u002F\u002Flocalhost,http:\u002F\u002Flocalhost\ncredentials = true\nheaders = accept, authorization, content-type, origin, referer\nmethods = GET, PUT, POST, HEAD, DELETE\nmax_age = 3600"}]}]}]}]}]},{type:a,tag:p,props:{},children:[{type:b,value:ab},{type:a,tag:g,props:{},children:[{type:b,value:ac}]},{type:b,value:j}]},{type:a,tag:i,props:{code:I,language:ad},children:[{type:a,tag:q,props:{},children:[{type:a,tag:i,props:{__ignoreMap:m},children:[{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:ap},children:[{type:b,value:aq}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:ar}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:L}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:A}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"80;"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:L}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:A}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"[::]:80;"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:L}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:as}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:at}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:n}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:"return"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:au}]},{type:a,tag:c,props:{class:"ct-32baea"},children:[{type:b,value:"301"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:" https:\u002F\u002F"}]},{type:a,tag:c,props:{class:s},children:[{type:b,value:t}]},{type:a,tag:c,props:{class:u},children:[{type:b,value:av}]},{type:a,tag:c,props:{class:s},children:[{type:b,value:t}]},{type:a,tag:c,props:{class:u},children:[{type:b,value:"request_uri"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:B}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:aw}]}]},{type:a,tag:c,props:{class:e},children:[]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:ap},children:[{type:b,value:aq}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:ar}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:o}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:A}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"443 ssl http2;"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:o}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:A}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"[::]:443 ssl http2;"}]}]},{type:a,tag:c,props:{class:e},children:[]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:o}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:" ssl_certificate "}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"\u002Fetc\u002Fletsencrypt\u002Flive\u002Fyourhost.com\u002Ffullchain.pem; "}]},{type:a,tag:c,props:{class:ax},children:[{type:b,value:ay}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:o}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:" ssl_certificate_key "}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"\u002Fetc\u002Fletsencrypt\u002Flive\u002Fyourhost.com\u002Fprivkey.pem; "}]},{type:a,tag:c,props:{class:ax},children:[{type:b,value:ay}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:o}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:" ssl_trusted_certificate "}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"\u002Fetc\u002Fletsencrypt\u002Flive\u002Fyourhost.com\u002Fchain.pem;"}]}]},{type:a,tag:c,props:{class:e},children:[]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:o}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:as}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:at}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:o}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:" client_max_body_size "}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"200M;"}]}]},{type:a,tag:c,props:{class:e},children:[]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:M},children:[{type:b,value:" "}]},{type:a,tag:c,props:{class:"ct-293544"},children:[{type:b,value:"location"}]},{type:a,tag:c,props:{class:M},children:[{type:b,value:au}]},{type:a,tag:c,props:{class:"ct-d0f337"},children:[{type:b,value:"\u002F "}]},{type:a,tag:c,props:{class:M},children:[{type:b,value:"{"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:v}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:" proxy_redirect "}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"off;"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:v}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:N}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"Host "}]},{type:a,tag:c,props:{class:s},children:[{type:b,value:t}]},{type:a,tag:c,props:{class:u},children:[{type:b,value:av}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:B}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:v}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:N}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"X-Real-IP "}]},{type:a,tag:c,props:{class:s},children:[{type:b,value:t}]},{type:a,tag:c,props:{class:u},children:[{type:b,value:"remote_addr"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:B}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:v}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:N}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"X-Forwarded-For "}]},{type:a,tag:c,props:{class:s},children:[{type:b,value:t}]},{type:a,tag:c,props:{class:u},children:[{type:b,value:"proxy_add_x_forwarded_for"}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:B}]}]},{type:a,tag:c,props:{class:e},children:[]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:v}]},{type:a,tag:c,props:{class:f},children:[{type:b,value:" proxy_pass "}]},{type:a,tag:c,props:{class:d},children:[{type:b,value:"http:\u002F\u002F127.0.0.1:5984;"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:" }"}]}]},{type:a,tag:c,props:{class:e},children:[{type:a,tag:c,props:{class:d},children:[{type:b,value:aw}]}]}]}]}]},{type:a,tag:y,props:{id:J},children:[{type:b,value:K}]},{type:a,tag:ae,props:{},children:[{type:a,tag:h,props:{},children:[{type:b,value:af},{type:a,tag:g,props:{},children:[{type:b,value:ag}]},{type:b,value:ah}]},{type:a,tag:h,props:{},children:[{type:b,value:ai},{type:a,tag:g,props:{},children:[{type:b,value:aj}]}]},{type:a,tag:h,props:{},children:[{type:b,value:ak}]},{type:a,tag:h,props:{},children:[{type:b,value:al},{type:a,tag:g,props:{},children:[{type:b,value:am}]},{type:b,value:an},{type:a,tag:g,props:{},children:[{type:b,value:ao}]}]}]},{type:a,tag:"style",children:[{type:b,value:".ct-d0f337{color:#FFA657}.ct-293544{color:#FF7B72}.ct-2c5bea{color:#C9D1D9}.ct-25c1e8{color:#8B949E}.ct-17159a{color:#C9D1D9}.ct-36f560{color:#C9D1D9}.ct-32baea{color:#79C0FF}.ct-c77180{color:#FF7B72}.ct-eeb548{color:#FF7B72}.ct-2a0174{color:#A5D6FF}.ct-d222e6{color:#C9D1D9}.ct-b21a05{color:#7EE787}.light .ct-b21a05{color:#268BD2}.light .ct-d222e6{color:#657B83}.light .ct-2a0174{color:#2AA198}.light .ct-eeb548{color:#073642}.light .ct-c77180{color:#859900}.light .ct-32baea{color:#D33682}.light .ct-36f560{color:#859900}.light .ct-17159a{color:#268BD2}.light .ct-25c1e8{color:#93A1A1}.light .ct-2c5bea{color:#657B83}.light .ct-293544{color:#073642}.light .ct-d0f337{color:#657B83}"}]}],toc:{title:m,searchDepth:C,depth:C,links:[{id:E,depth:C,text:F},{id:J,depth:C,text:K}]}},_type:"markdown",_id:"content:Obsidian:Self-hosted Obsidian sync with CouchDB.md",_source:"content",_file:"Obsidian\u002FSelf-hosted Obsidian sync with CouchDB.md",_extension:"md"}},prerenderedAt:1668163499169}}("element","text","span","ct-d222e6","line","ct-c77180","code-inline","li","code",":","ct-b21a05","ct-2a0174",""," "," ","p","pre"," - ","ct-36f560","$","ct-17159a"," ","a","nofollow","h2",": "," listen ",";",2,false,"setting-up-environment","Setting up environment","version: '3'\nservices:\n couchserver:\n container_name: obsidian__database\n image: couchdb\n restart: always\n ports:\n - \"5984:5984\"\n environment:\n - COUCHDB_USER=user\n - COUCHDB_PASSWORD=somepassword\n volumes:\n - .\u002Fcouchdb\u002Fdbdata:\u002Fopt\u002Fcouchdb\u002Fdata\n - .\u002Fcouchdb\u002Flocal.ini:\u002Fopt\u002Fcouchdb\u002Fetc\u002Flocal.ini\n","[couchdb]\nsingle_node=true\nmax_document_size=50000000\nmax_http_request_size=4294967296\n\n[chttpd]\nrequire_valid_user = true\n\n[chttpd_auth]\nrequire_valid_user = true\nauthentication_redirect = \u002F_utils\u002Fsession.html\n\n[httpd]\nWWW-Authenticate = Basic realm=\"couchdb\"\nenable_cors = true\n\n[cors]\norigins = app:\u002F\u002Fobsidian.md,capacitor:\u002F\u002Flocalhost,http:\u002F\u002Flocalhost\ncredentials = true\nheaders = accept, authorization, content-type, origin, referer\nmethods = GET, PUT, POST, HEAD, DELETE\nmax_age = 3600\n","server {\n listen 80;\n listen [::]:80;\n server_name couchdb.yourhost.com;\n return 301 https:\u002F\u002F$host$request_uri;\n}\n\nserver {\n listen 443 ssl http2;\n listen [::]:443 ssl http2;\n\n ssl_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fyourhost.com\u002Ffullchain.pem; # managed by Certbot\n ssl_certificate_key \u002Fetc\u002Fletsencrypt\u002Flive\u002Fyourhost.com\u002Fprivkey.pem; # managed by Certbot\n ssl_trusted_certificate \u002Fetc\u002Fletsencrypt\u002Flive\u002Fyourhost.com\u002Fchain.pem;\n\n server_name couchdb.yourhost.com;\n client_max_body_size 200M;\n\n location \u002F {\n proxy_redirect off;\n proxy_set_header Host $host;\n proxy_set_header X-Real-IP $remote_addr;\n proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n\n proxy_pass http:\u002F\u002F127.0.0.1:5984;\n }\n}\n","setting-up-obsidian","Setting up Obsidian"," ","ct-2c5bea"," proxy_set_header ","Self Hosted Obsidian Sync With CouchDB","\u002Fobsidian\u002Fself-hosted-obsidian-sync-with-couchdb","root","ul","https:\u002F\u002Fgithub.com\u002Fvrtmrz\u002Fobsidian-livesync","Main documentation","https:\u002F\u002Fgithub.com\u002Fvrtmrz\u002Fobsidian-livesync\u002Fblob\u002Fmain\u002Fdocs\u002Fsetup_own_server.md","Setting up couchdb","First, you should create ","docker-compose.yml"," with the following contents:","yaml","Then create initial config at ",".\u002Fcouchdb\u002Flocal.ini","ini","Then, in order to have sync on mobile devices, we will need a reverse proxy with nginx at ","\u002Fetc\u002Fnginx\u002Fsites-enabled\u002Fobsidian-couchdb","nginx","ol","Install ","Self-hosted LiveSync"," plugin","Change host to ","https:\u002F\u002Fyourhost.com","Specify username and password","Press ","test",", then ","fetch database","ct-eeb548","server"," {"," server_name ","couchdb.yourhost.com;"," ","host","}","ct-25c1e8","# managed by Certbot"))