packaging the free so ware web for the end user Antonio Terceiro - - PowerPoint PPT Presentation

packaging the free so ware web for the end user antonio
SMART_READER_LITE
LIVE PREVIEW

packaging the free so ware web for the end user Antonio Terceiro - - PowerPoint PPT Presentation

packaging the free so ware web for the end user Antonio Terceiro terceiro@debian.org thoughts on debconf15 the venue is really nice kids + families = late night hacking means no morning brie fi ngs for you packaging the free


slide-1
SLIDE 1

packaging the free soware web for the end user Antonio Terceiro terceiro@debian.org

slide-2
SLIDE 2

thoughts on debconf15

slide-3
SLIDE 3

slide-4
SLIDE 4

the venue is really nice

slide-5
SLIDE 5

kids + families = ♥

slide-6
SLIDE 6

late night hacking means no morning briefings for you

slide-7
SLIDE 7

packaging the free soware web for the end user Antonio Terceiro terceiro@debian.org

slide-8
SLIDE 8

problem: I want the web the be more distributed and federated, and less centralized

slide-9
SLIDE 9

∙ server side applications are complicated ∙ requires high/boring effort from technical people ∙ end users can't do it at all

slide-10
SLIDE 10 the free soware web in Debian ∙ $ apt-cache search web returns | wc -l 3657 ∙ 92 packages ship files in /etc/apache2/ ∙ excluding apache itself and modules ∙ several web apps don't do it (e.g. redmine) it seems we are quite good at packaging …
slide-11
SLIDE 11

but what is packaging?

slide-12
SLIDE 12

sometimes packages are not enough ∙ no standard ∙ cross-package config ∙ databaseS ∙ DNS setup ∙ email setup

slide-13
SLIDE 13

my history with the topic

slide-14
SLIDE 14

talks that moved me ∙ Stefano Zacchiroli (debconf14) ∙ Lucas Nussbaum (fosdem'15) ∙ Nicholson/Webber (fosdem'15)

slide-15
SLIDE 15

an email that moved me Anthony Towns "About the recent DD retirements" (debian-project)

slide-16
SLIDE 16

started hacking on a PoC on February 2015

slide-17
SLIDE 17

presented at MiniDebconf France in April 2015 very useful feedback

slide-18
SLIDE 18

got a GSoC 2015 slot and an awful lot of student submissions

slide-19
SLIDE 19

GSoC 2015 Thiago Ribeiro Soware Engineering, UnB

slide-20
SLIDE 20

almost-unhealthy amount of hacking during debconf15 quiet hacklabs FTW

slide-21
SLIDE 21

stopped in the middle to upgrade jquery to the latest upstream release and sort of adopt it in the middle #730014

slide-22
SLIDE 22

continued hacking …

slide-23
SLIDE 23

… and today you will see a live demo \o/

slide-24
SLIDE 24

goal: automated configuration of packaged web applications

slide-25
SLIDE 25

goal (alt): allowing everyone to have their own debian server in a secure and maintainable way

slide-26
SLIDE 26

shak self hosting application kit https://gitlab.com/shak/shak https://anonscm.debian.org /cgit/users/terceiro/shak.git

slide-27
SLIDE 27

related projects ∙ Sandstorm ∙ Yunohost ∙ Bitnami (proprietary ×) good ideas, but reinvent packaging

slide-28
SLIDE 28

design: basics ∙ using official debian packages ∙ A config management layer

  • n top

∙ minimal work for good out of the box experience ∙ push changes in packages

slide-29
SLIDE 29

design: basics ∙ new abstraction: application ∙ one layer above packages ∙ one application will typically need one or more packages

slide-30
SLIDE 30

design: UI ∙ a CLI for the so inclined (and for automated testing) ∙ a nice graphical UI to empower users with no technical background

slide-31
SLIDE 31

design: asssumptions

  • n packages

∙ DTRT ∙ not automating web server configuration OK-ish ∙ handle their own upgrades ∙ dbconfig-common helps with database stuff

slide-32
SLIDE 32

design: nice to have in packages ∙ support for multiple instances ∙ not being crap

slide-33
SLIDE 33
slide-34
SLIDE 34
slide-35
SLIDE 35

design: code ∙ Ruby (off-Rails) ∙ chef for config. management ∙ automated tests

slide-36
SLIDE 36

current state

slide-37
SLIDE 37

Current status: alpha ∙ Base system implemented ∙ installation/updates work ∙ CLI + web UI ∙ removing applications not implemented yet

slide-38
SLIDE 38

available applications ∙ static site ∙ wordpress (Thiago/gsoc) ∙ owncloud (Thiago/gsoc) ∙ email (Thiago/gsoc)

slide-39
SLIDE 39

https by default ∙ also by Thiago/gsoc ∙ self-signed certs for now ∙ looking forward to let's encrypt

  • r other viable solutions
slide-40
SLIDE 40

demo!

slide-41
SLIDE 41

the future

slide-42
SLIDE 42

next steps ∙ upload to Debian ∙ improve web apps policy ∙ integrate more packages

slide-43
SLIDE 43

next steps (2) ∙ easy bootstrapping $ apt install shak ∙ prebuilt images $ debootstrap \

  • -include=shak
slide-44
SLIDE 44

next steps (3/3) ∙ spawn new servers in the cloud ∙ prebuilt images for common low-cost, low-power hardware ∙ talk to FreedomBox people

slide-45
SLIDE 45

how you can help

slide-46
SLIDE 46

lots of work ahead! collaborators needed

slide-47
SLIDE 47

you can request your package to be added ∙ issues on gitlab ∙ debian bts

slide-48
SLIDE 48

ways to help (1/2) ∙ usability testing ∙ bug reports ∙ documentation ∙ translations

slide-49
SLIDE 49

ways to help (2/2) ∙ code of course ∙ code reviews ∙ ideas on dns/ssl/email handling ∙ security audits

slide-50
SLIDE 50

discussion ∙ #debian-webapps ∙ debian-webapps@l.d.o didn't ask folks there

slide-51
SLIDE 51

questions ?