hipster bingo or how to use docker kubernetes cri o to
play

HIPSTER BINGO - OR HOW TO USE DOCKER/KUBERNETES/CRI-O TO DEPLOY - PowerPoint PPT Presentation

HIPSTER BINGO - OR HOW TO USE DOCKER/KUBERNETES/CRI-O TO DEPLOY LIBREOFFICE ONLINE WITH STYLE CIB SOFTWARE GMBH LIBREOFFICE CONFERENCE ROME OCTOBER 11TH, 2017 I HAVE 30 MINUTES TO SETUP LOOL The problem? > multiple server instances


  1. HIPSTER BINGO - OR HOW TO USE DOCKER/KUBERNETES/CRI-O TO DEPLOY LIBREOFFICE ONLINE WITH STYLE CIB SOFTWARE GMBH LIBREOFFICE CONFERENCE ROME OCTOBER 11TH, 2017

  2. „I HAVE 30 MINUTES TO SETUP LOOL“

  3. The problem? > multiple server instances > multiple services > needs SSL really > available documentation rather for larger/classical enterprise setups

  4. Setup docker > see https://docs.docker.com/engine/installation/linux/d ocker-ce/debian/ > i.e. add https://download.docker.com/linux/ <release> to sources.list > $ a p t - g e t i n s t a l l d o c k e r - c e > but hmm - then on debian 8 (jessie), your default storage driver is AUFS > for a variety of reasons (see later), you want to switch this to devicemapper: $ v i / e t c / d o c k e r / d a e m o n . j s o n – -> " – s t o r a g e - d r i v e r " : " d e v i c e m a p p e r "

  5. Setup docker (2) > meh, then needs re-pulling all images.. > make this persistent: $ s y s t e m c t l s t a r t d o c k e r . s e r v i c e – $ s y s t e m c t l e n a b l e d o c k e r . s e r v i c e –

  6. Are we lucky yet? > we need a file management / frontend anyway: – $ g i t c l o n e h t t p s : / / g i t h u b . c o m / n e x t c l o u d / d o c k e r . g i t l e s s R E A D M E . m d – oh dear oh dear - fpm, reverse proxies, SSL certs – but wait! –

  7. There's more to docker (and kubernetes/cri-o) > $ c d e x a m p l e s ; d o c k e r - c o m p o s e u p > hmm, debian does not have it... > getting docker-compose to run on debian8: http://blog.programster.org/debian-8-install-docker-co – mpose/ $ p i p i n s t a l l - - u s e r d o c k e r - c o m p o s e – > good, there we go

  8. There's more to docker-compose... > read up here: https://docs.docker.com/compose/ > or here: https://blog.codeship.com/orchestrate-container s-for-development-with-docker-compose/ > do some custom stuff then: environment: – ● domain=${DOMAIN} ● username=<admin> ● password=<password> ● DONT_GEN_SSL_CERT=true ● server_name=${DOMAIN}

  9. Custom stuff so far > $ g i t r e m o t e a d d t h b g i t @ g i t h u b . c o m : t h o r s t e n b / d o c k e r . g i t newer letsencrypt-companion – add some container links – merged nginx proxy changes from collabora – move lool rewrites up, so funny url encodings don't get – picked up

  10. Now decide on the LibreOffice Online flavour > https://hub.docker.com/r/libreoffice/online/ > https://hub.docker.com/r/thedarkknight/libreoffice -online-unlimited/ > or roll your own (slightly simplified): F R O M < b a s e _ i m a g e > – R U N b a s h i n s t a l l - l i b r e o f f i c e . s h – ● so this simply needs to stick the binaries somewhere - no need for packaging C M D b a s h s t a r t - l i b r e o f f i c e . s h – > they both need capabilities (and thusly extended FS attributes), so you need a reasonably recent Linux base (Debian Jessie does work though)

  11. Time to kick it off! > $ D O M A I N = v m 1 8 4 . d o c u m e n t f o u n d a t i o n . o r g d o c k e r - c o m p o s e u p > test instance: https://vm184.documentfoundation.org/ > enable richdocuments plugin $ d o c k e r e x e c - i t n e x t c l o u d _ f p m / b i n / b a s h – $ . / o c c a p p : e n a b l e r i c h d o c u m e n t s – $ . / o c c c o n f i g : a p p : s e t r i c h d o c u m e n t s – w o p i _ u r l - - v a l u e = " h t t p s : / / a p p "

  12. Remaining issues > external vs. internal networking > SSL certificate only for the external domain > WOPI host is 'app' host, not the public url for loolwsd > some hacks here: https://github.com:thorstenb/richdocuments

  13. Changes to richdocuments php app > L o a d d e n i e d b y X - F r a m e - O p t i o n s ah - so wsd/FileServer uses a hack to set X-Frame- – Options from WOPISrc, if referer is not set that looks like a nice fix: – https://help.nextcloud.com/t/solved-restore-http-referer -inside-an-app/6266 added that fix to nginx config - just don't mess with – referrer more tweaks in the richdocuments repo – ● set referrer to origin ● wopi file host hardcoded for the moment - since it's tied to frontend urls ● hardcode frontend url as allowed frame domain

  14. Demo! > let's see if we butter-fingered it :) > https://vm184.documentfoundation.org/ > https://cloud.google.com/container-engine/ - free trial

  15. Hosting options > idiot-proof docker hosting - https://sloppy.io/ > GKE - https://cloud.google.com/container-engine/ > kubernetes help: https://tutorials.ubuntu.com/tutorial/install-kubernete – s-with-conjure-up?backURL=%2F https://tutorials.ubuntu.com/tutorial/get-started-cano – nical-kubernetes?backURL=%2F

  16. Random others links & pointers > oh nice load balancing for nginx - https://nginx.org/en/docs/http/ngx_http_upstream_mod ule.html#upstream > kompose - convert from docker-compose to kubernetes: https://github.com/kubernetes/kompose – http://blog.kubernetes.io/2016/11/kompose-tool-go-from-dock – er-compose-to-kubernetes.html > cri-o - container runtime initiative - if you want to run this in your private cloud > plus https://github.com/virt-manager/virt-bootstrap from Cedric - extracting the meat out of docker images & run the workload via libvirt-lxc

  17. THANK YOU! OUR PRODUCTS: WE CAN HELP: HTTP://LIBREOFFICE.CIB.DE/ HTTP://LIBREOFFICE.CIB.DE/SUPPORT

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend