From f72496241cd197cf06a25ed203b0cc76aee682da Mon Sep 17 00:00:00 2001 From: Pedro Alvarez Date: Wed, 18 Aug 2021 08:18:47 +0200 Subject: baserock_webserver: Move to Ubuntu and Nginx --- baserock_webserver/etc/cherokee/cherokee.conf | 337 --------------------- .../files/download-baserock-org.conf | 11 + baserock_webserver/files/irclogs-baserock-org.conf | 10 + .../gitlabirced/gitlabirced.service.in | 6 +- baserock_webserver/image-config.yml | 45 +-- baserock_webserver/instance-config.yml | 39 ++- baserock_webserver/instance-gitlabirced-config.yml | 2 +- baserock_webserver/instance-hastebin-config.yml | 18 +- baserock_webserver/instance-irclogs-config.yml | 49 ++- .../irclogs/irclogs-generation.service | 12 +- baserock_webserver/irclogs/supybot.service | 2 +- 11 files changed, 137 insertions(+), 394 deletions(-) delete mode 100644 baserock_webserver/etc/cherokee/cherokee.conf create mode 100644 baserock_webserver/files/download-baserock-org.conf create mode 100644 baserock_webserver/files/irclogs-baserock-org.conf diff --git a/baserock_webserver/etc/cherokee/cherokee.conf b/baserock_webserver/etc/cherokee/cherokee.conf deleted file mode 100644 index c248b0f4..00000000 --- a/baserock_webserver/etc/cherokee/cherokee.conf +++ /dev/null @@ -1,337 +0,0 @@ -config!version = 001002103 -server!bind!1!port = 80 -server!collector = rrd -server!group = cherokee -server!keepalive = 1 -server!keepalive_max_requests = 500 -server!panic_action = /usr/bin/cherokee-panic -server!pid_file = /var/run/cherokee.pid -server!server_tokens = full -server!timeout = 15 -server!user = cherokee -vserver!1!collector!enabled = 1 -vserver!1!directory_index = index.html -vserver!1!document_root = /var/www/cherokee -vserver!1!error_writer!filename = /var/log/cherokee/error_log -vserver!1!error_writer!type = file -vserver!1!logger = combined -vserver!1!logger!access!buffsize = 16384 -vserver!1!logger!access!filename = /var/log/cherokee/access_log -vserver!1!logger!access!type = file -vserver!1!nick = default -vserver!1!rule!5!encoder!gzip = allow -vserver!1!rule!5!handler = server_info -vserver!1!rule!5!handler!type = just_about -vserver!1!rule!5!match = directory -vserver!1!rule!5!match!directory = /about -vserver!1!rule!4!document_root = /usr/lib/cgi-bin -vserver!1!rule!4!handler = cgi -vserver!1!rule!4!match = directory -vserver!1!rule!4!match!directory = /cgi-bin -vserver!1!rule!3!document_root = /usr/share/cherokee/themes -vserver!1!rule!3!handler = file -vserver!1!rule!3!match = directory -vserver!1!rule!3!match!directory = /cherokee_themes -vserver!1!rule!2!document_root = /usr/share/cherokee/icons -vserver!1!rule!2!handler = file -vserver!1!rule!2!match = directory -vserver!1!rule!2!match!directory = /cherokee_icons -vserver!1!rule!1!handler = common -vserver!1!rule!1!handler!iocache = 1 -vserver!1!rule!1!match = default -vserver!2!collector!enabled = 1 -vserver!2!document_root = /srv/download.baserock.org -vserver!2!nick = download.baserock.org -vserver!2!rule!103!handler = common -vserver!2!rule!103!handler!allow_dirlist = 1 -vserver!2!rule!103!handler!allow_pathinfo = 1 -vserver!2!rule!103!handler!theme = white -vserver!2!rule!103!match = directory -vserver!2!rule!103!match!directory = /baserock -vserver!2!rule!3!document_root = /usr/share/cherokee/themes -vserver!2!rule!3!handler = common -vserver!2!rule!3!match = directory -vserver!2!rule!3!match!directory = /cherokee_themes -vserver!2!rule!2!document_root = /usr/share/cherokee/icons -vserver!2!rule!2!handler = file -vserver!2!rule!2!match = directory -vserver!2!rule!2!match!directory = /cherokee_icons -vserver!2!rule!1!handler = redir -vserver!2!rule!1!handler!rewrite!10!regex = ^.*$ -vserver!2!rule!1!handler!rewrite!10!show = 1 -vserver!2!rule!1!handler!rewrite!10!substring = /baserock/ -vserver!2!rule!1!match = default -vserver!3!collector!enabled = 1 -vserver!3!directory_index = index.html -vserver!3!document_root = /srv/irclogs.baserock.org -vserver!3!nick = irclogs.baserock.org -vserver!3!rule!103!handler = common -vserver!3!rule!103!handler!allow_dirlist = 1 -vserver!3!rule!103!handler!allow_pathinfo = 1 -vserver!3!rule!103!handler!theme = white -vserver!3!rule!103!match = directory -vserver!3!rule!103!match!directory = / -vserver!3!rule!2!document_root = /usr/share/cherokee/themes -vserver!3!rule!2!handler = common -vserver!3!rule!2!match = directory -vserver!3!rule!2!match!directory = /cherokee_themes -vserver!3!rule!1!document_root = /usr/share/cherokee/icons -vserver!3!rule!1!handler = file -vserver!3!rule!1!match = directory -vserver!3!rule!1!match!directory = /cherokee_icons -icons!default = page_white.png -icons!directory = folder.png -icons!file!bomb.png = core -icons!file!page_white_go.png = *README* -icons!parent_directory = arrow_turn_left.png -icons!suffix!camera.png = jpg,jpeg,jpe -icons!suffix!cd.png = iso,ngr,cue -icons!suffix!color_wheel.png = png,gif,xcf,bmp,pcx,tiff,tif,cdr,psd,xpm,xbm -icons!suffix!control_play.png = bin,exe,com,msi,out -icons!suffix!css.png = css -icons!suffix!cup.png = java,class,jar -icons!suffix!email.png = eml,mbox,box,email,mbx -icons!suffix!film.png = avi,mpeg,mpe,mpg,mpeg3,dl,fli,qt,mov,movie,flv,webm -icons!suffix!font.png = ttf -icons!suffix!html.png = html,htm -icons!suffix!music.png = au,snd,mid,midi,kar,mpga,mpega,mp2,mp3,sid,wav,aif,aiff,aifc,gsm,m3u,wma,wax,ra,rm,ram,pls,sd2,ogg -icons!suffix!package.png = tar,gz,bz2,zip,rar,ace,lha,7z,dmg,cpk -icons!suffix!page_white_acrobat.png = pdf -icons!suffix!page_white_c.png = c,h,cpp -icons!suffix!page_white_office.png = doc,ppt,xls -icons!suffix!page_white_php.png = php -icons!suffix!page_white_text.png = txt,text,rtf,sdw -icons!suffix!printer.png = ps,eps -icons!suffix!ruby.png = rb -icons!suffix!script.png = sh,csh,ksh,tcl,tk,py,pl -mime!application/bzip2!extensions = bz2 -mime!application/gzip!extensions = gz -mime!application/hta!extensions = hta -mime!application/java-archive!extensions = jar -mime!application/java-serialized-object!extensions = ser -mime!application/java-vm!extensions = class -mime!application/json!extensions = json -mime!application/mac-binhex40!extensions = hqx -mime!application/msaccess!extensions = mdb -mime!application/msword!extensions = doc,dot -mime!application/octet-stream!extensions = bin -mime!application/octetstream!extensions = ace -mime!application/oda!extensions = oda -mime!application/ogg!extensions = ogx -mime!application/pdf!extensions = pdf -mime!application/pgp-keys!extensions = key -mime!application/pgp-signature!extensions = pgp -mime!application/pics-rules!extensions = prf -mime!application/postscript!extensions = ps,ai,eps -mime!application/rar!extensions = rar -mime!application/rdf+xml!extensions = rdf -mime!application/rss+xml!extensions = rss -mime!application/smil!extensions = smi,smil -mime!application/vnd.mozilla.xul+xml!extensions = xul -mime!application/vnd.ms-excel!extensions = xls,xlb,xlt -mime!application/vnd.ms-pki.seccat!extensions = cat -mime!application/vnd.ms-pki.stl!extensions = stl -mime!application/vnd.ms-powerpoint!extensions = ppt,pps -mime!application/vnd.oasis.opendocument.chart!extensions = odc -mime!application/vnd.oasis.opendocument.database!extensions = odb -mime!application/vnd.oasis.opendocument.formula!extensions = odf -mime!application/vnd.oasis.opendocument.graphics!extensions = odg -mime!application/vnd.oasis.opendocument.image!extensions = odi -mime!application/vnd.oasis.opendocument.presentation!extensions = odp -mime!application/vnd.oasis.opendocument.spreadsheet!extensions = ods -mime!application/vnd.oasis.opendocument.text!extensions = odt -mime!application/vnd.oasis.opendocument.text-master!extensions = odm -mime!application/vnd.oasis.opendocument.text-web!extensions = oth -mime!application/vnd.pkg5.info!extensions = p5i -mime!application/vnd.visio!extensions = vsd -mime!application/vnd.wap.wbxml!extensions = wbxml -mime!application/vnd.wap.wmlc!extensions = wmlc -mime!application/vnd.wap.wmlscriptc!extensions = wmlsc -mime!application/x-7z-compressed!extensions = 7z -mime!application/x-abiword!extensions = abw -mime!application/x-apple-diskimage!extensions = dmg -mime!application/x-bcpio!extensions = bcpio -mime!application/x-bittorrent!extensions = torrent -mime!application/x-cdf!extensions = cdf -mime!application/x-cpio!extensions = cpio -mime!application/x-csh!extensions = csh -mime!application/x-debian-package!extensions = deb,udeb -mime!application/x-director!extensions = dcr,dir,dxr -mime!application/x-dvi!extensions = dvi -mime!application/x-flac!extensions = flac -mime!application/x-font!extensions = pfa,pfb,gsf,pcf,pcf.Z -mime!application/x-freemind!extensions = mm -mime!application/x-gnumeric!extensions = gnumeric -mime!application/x-gtar!extensions = gtar,tgz,taz -mime!application/x-gzip!extensions = gz,tgz -mime!application/x-httpd-php!extensions = phtml,pht,php -mime!application/x-httpd-php-source!extensions = phps -mime!application/x-httpd-php3!extensions = php3 -mime!application/x-httpd-php3-preprocessed!extensions = php3p -mime!application/x-httpd-php4!extensions = php4 -mime!application/x-internet-signup!extensions = ins,isp -mime!application/x-iphone!extensions = iii -mime!application/x-iso9660-image!extensions = iso -mime!application/x-java-jnlp-file!extensions = jnlp -mime!application/x-javascript!extensions = js -mime!application/x-kchart!extensions = chrt -mime!application/x-killustrator!extensions = kil -mime!application/x-koan!extensions = skp,skd,skt,skm -mime!application/x-kpresenter!extensions = kpr,kpt -mime!application/x-kspread!extensions = ksp -mime!application/x-kword!extensions = kwd,kwt -mime!application/x-latex!extensions = latex -mime!application/x-lha!extensions = lha -mime!application/x-lzh!extensions = lzh -mime!application/x-lzx!extensions = lzx -mime!application/x-ms-wmd!extensions = wmd -mime!application/x-ms-wmz!extensions = wmz -mime!application/x-msdos-program!extensions = com,exe,bat,dll -mime!application/x-msi!extensions = msi -mime!application/x-netcdf!extensions = nc -mime!application/x-ns-proxy-autoconfig!extensions = pac -mime!application/x-nwc!extensions = nwc -mime!application/x-object!extensions = o -mime!application/x-oz-application!extensions = oza -mime!application/x-pkcs7-certreqresp!extensions = p7r -mime!application/x-pkcs7-crl!extensions = crl -mime!application/x-python-code!extensions = pyc,pyo -mime!application/x-quicktimeplayer!extensions = qtl -mime!application/x-redhat-package-manager!extensions = rpm -mime!application/x-sh!extensions = sh -mime!application/x-shar!extensions = shar -mime!application/x-shockwave-flash!extensions = swf,swfl -mime!application/x-stuffit!extensions = sit,sea -mime!application/x-sv4cpio!extensions = sv4cpio -mime!application/x-sv4crc!extensions = sv4crc -mime!application/x-tar!extensions = tar -mime!application/x-tcl!extensions = tcl -mime!application/x-tex-pk!extensions = pk -mime!application/x-texinfo!extensions = texinfo,texi -mime!application/x-trash!extensions = ~,bak,old,sik -mime!application/x-troff!extensions = t,tr,roff -mime!application/x-troff-man!extensions = man -mime!application/x-troff-me!extensions = me -mime!application/x-troff-ms!extensions = ms -mime!application/x-ustar!extensions = ustar -mime!application/x-x509-ca-cert!extensions = crt -mime!application/x-xcf!extensions = xcf -mime!application/x-xfig!extensions = fig -mime!application/x-xpinstall!extensions = xpi -mime!application/xhtml+xml!extensions = xhtml,xht -mime!application/xml!extensions = xml,xsl -mime!application/zip!extensions = zip -mime!audio/basic!extensions = au,snd -mime!audio/midi!extensions = mid,midi,kar -mime!audio/mpeg!extensions = mpga,mpega,mp2,mp3,m4a -mime!audio/ogg!extensions = ogg,oga -mime!audio/prs.sid!extensions = sid -mime!audio/x-aiff!extensions = aif,aiff,aifc -mime!audio/x-gsm!extensions = gsm -mime!audio/x-mpegurl!extensions = m3u -mime!audio/x-ms-wax!extensions = wax -mime!audio/x-ms-wma!extensions = wma -mime!audio/x-pn-realaudio!extensions = ra,rm,ram -mime!audio/x-realaudio!extensions = ra -mime!audio/x-scpls!extensions = pls -mime!audio/x-sd2!extensions = sd2 -mime!audio/x-wav!extensions = wav -mime!chemical/x-cache!extensions = cac,cache -mime!chemical/x-cache-csf!extensions = csf -mime!chemical/x-cdx!extensions = cdx -mime!chemical/x-cif!extensions = cif -mime!chemical/x-cmdf!extensions = cmdf -mime!chemical/x-cml!extensions = cml -mime!chemical/x-compass!extensions = cpa -mime!chemical/x-crossfire!extensions = bsd -mime!chemical/x-csml!extensions = csml,csm -mime!chemical/x-ctx!extensions = ctx -mime!chemical/x-cxf!extensions = cxf,cef -mime!chemical/x-isostar!extensions = istr,ist -mime!chemical/x-jcamp-dx!extensions = jdx,dx -mime!chemical/x-kinemage!extensions = kin -mime!chemical/x-pdb!extensions = pdb,ent -mime!chemical/x-swissprot!extensions = sw -mime!chemical/x-vamas-iso14976!extensions = vms -mime!chemical/x-vmd!extensions = vmd -mime!chemical/x-xtel!extensions = xtel -mime!chemical/x-xyz!extensions = xyz -mime!image/gif!extensions = gif -mime!image/jpeg!extensions = jpeg,jpg,jpe -mime!image/pcx!extensions = pcx -mime!image/png!extensions = png -mime!image/svg+xml!extensions = svg,svgz -mime!image/tiff!extensions = tiff,tif -mime!image/vnd.djvu!extensions = djvu,djv -mime!image/vnd.wap.wbmp!extensions = wbmp -mime!image/x-icon!extensions = ico -mime!image/x-ms-bmp!extensions = bmp -mime!image/x-photoshop!extensions = psd -mime!image/x-portable-anymap!extensions = pnm -mime!image/x-portable-bitmap!extensions = pbm -mime!image/x-portable-graymap!extensions = pgm -mime!image/x-portable-pixmap!extensions = ppm -mime!image/x-xbitmap!extensions = xbm -mime!image/x-xpixmap!extensions = xpm -mime!image/x-xwindowdump!extensions = xwd -mime!model/iges!extensions = igs,iges -mime!model/mesh!extensions = msh,mesh,silo -mime!model/vrml!extensions = wrl,vrml -mime!text/calendar!extensions = ics,icz -mime!text/comma-separated-values!extensions = csv -mime!text/css!extensions = css -mime!text/h323!extensions = 323 -mime!text/html!extensions = html,htm,shtml -mime!text/iuls!extensions = uls -mime!text/mathml!extensions = mml -mime!text/plain!extensions = asc,txt,text,diff,pot -mime!text/richtext!extensions = rtx -mime!text/rtf!extensions = rtf -mime!text/scriptlet!extensions = sct,wsc -mime!text/tab-separated-values!extensions = tsv -mime!text/vnd.sun.j2me.app-descriptor!extensions = jad -mime!text/vnd.wap.wml!extensions = wml -mime!text/vnd.wap.wmlscript!extensions = wmls -mime!text/x-boo!extensions = boo -mime!text/x-c++hdr!extensions = h++,hpp,hxx,hh -mime!text/x-c++src!extensions = c++,cpp,cxx,cc -mime!text/x-chdr!extensions = h -mime!text/x-csh!extensions = csh -mime!text/x-csrc!extensions = c -mime!text/x-dsrc!extensions = d -mime!text/x-haskell!extensions = hs -mime!text/x-java!extensions = java -mime!text/x-literate-haskell!extensions = lhs -mime!text/x-moc!extensions = moc -mime!text/x-pascal!extensions = p,pas -mime!text/x-pcs-gcd!extensions = gcd -mime!text/x-perl!extensions = pl,pm -mime!text/x-python!extensions = py -mime!text/x-setext!extensions = etx -mime!text/x-sh!extensions = sh -mime!text/x-tcl!extensions = tcl,tk -mime!text/x-tex!extensions = tex,ltx,sty,cls -mime!text/x-vcalendar!extensions = vcs -mime!text/x-vcard!extensions = vcf -mime!video/dl!extensions = dl -mime!video/dv!extensions = dif,dv -mime!video/fli!extensions = fli -mime!video/gl!extensions = gl -mime!video/mp4!extensions = mp4 -mime!video/mpeg!extensions = mpeg,mpg,mpe -mime!video/ogg!extensions = ogv -mime!video/quicktime!extensions = qt,mov -mime!video/vnd.mpegurl!extensions = mxu -mime!video/webm!extensions = webm -mime!video/x-flv!extensions = flv -mime!video/x-la-asf!extensions = lsf,lsx -mime!video/x-mng!extensions = mng -mime!video/x-ms-asf!extensions = asf,asx -mime!video/x-ms-wm!extensions = wm -mime!video/x-ms-wmv!extensions = wmv -mime!video/x-ms-wmx!extensions = wmx -mime!video/x-ms-wvx!extensions = wvx -mime!video/x-msvideo!extensions = avi -mime!video/x-sgi-movie!extensions = movie -mime!x-conference/x-cooltalk!extensions = ice -mime!x-world/x-vrml!extensions = vrm,vrml,wrl diff --git a/baserock_webserver/files/download-baserock-org.conf b/baserock_webserver/files/download-baserock-org.conf new file mode 100644 index 00000000..56e9601e --- /dev/null +++ b/baserock_webserver/files/download-baserock-org.conf @@ -0,0 +1,11 @@ + +server { + listen 80; + server_name download.baserock.org; + location / { + root /srv/download.baserock.org/; + index index.html; + fancyindex on; + fancyindex_exact_size off; + } +} diff --git a/baserock_webserver/files/irclogs-baserock-org.conf b/baserock_webserver/files/irclogs-baserock-org.conf new file mode 100644 index 00000000..d2d6e01e --- /dev/null +++ b/baserock_webserver/files/irclogs-baserock-org.conf @@ -0,0 +1,10 @@ +server { + listen 80; + server_name irclogs.baserock.org; + location / { + root /srv/irclogs.baserock.org/; + index index.html; + fancyindex on; + fancyindex_exact_size off; + } +} diff --git a/baserock_webserver/gitlabirced/gitlabirced.service.in b/baserock_webserver/gitlabirced/gitlabirced.service.in index 02240b49..66499be2 100644 --- a/baserock_webserver/gitlabirced/gitlabirced.service.in +++ b/baserock_webserver/gitlabirced/gitlabirced.service.in @@ -3,9 +3,9 @@ Description = Gitlab irc notifications server [Service] Type = simple -ExecStart = /home/fedora/.local/bin/gitlabirced {{ gitlabirced_conf_file }} -User = fedora -Group = fedora +ExecStart = /home/{{ ansible_user_id }}/.local/bin/gitlabirced {{ gitlabirced_conf_file }} +User = {{ ansible_user_id }} +Group = {{ ansible_user_id }} Restart = on-failure [Install] diff --git a/baserock_webserver/image-config.yml b/baserock_webserver/image-config.yml index 29c1ba5f..9ce3e9bf 100644 --- a/baserock_webserver/image-config.yml +++ b/baserock_webserver/image-config.yml @@ -3,33 +3,36 @@ # This expects to be run on a Fedora 26 cloud image. --- - hosts: webserver - gather_facts: false become: yes become_method: sudo tasks: - # see: https://fedoramagazine.org/getting-ansible-working-fedora-23/ - - name: install python2 and required deps for ansible modules - raw: dnf install -y python2 python2-dnf libselinux-python - - - name: enable persistant journal - shell: mkdir /var/log/journal - args: - creates: /var/log/journal - name: ensure system up to date - dnf: name=* state=latest - - - name: Cherokee webserver package - dnf: name=cherokee state=latest + apt: + upgrade: yes + update_cache: yes - - name: Cherokee configuration - copy: src=etc/cherokee/cherokee.conf dest=/etc/cherokee/ + - name: Install nginx package + apt: + pkg: + - nginx + - libnginx-mod-http-fancyindex + - python3-pip + - python2-minimal + update_cache: yes - - name: install lvm2 tools - dnf: name=lvm2 state=latest + - name: Download get-pip.py + get_url: + url: https://bootstrap.pypa.io/pip/2.7/get-pip.py + dest: /opt/get-pip.py + become: yes - - name: disable SELinux on subsequent boots - selinux: state=disabled + - name: Install pip2 + command: python2 /opt/get-pip.py + args: + creates: /usr/local/bin/pip2 + become: yes - - name: disable SELinux on current boot - command: setenforce 0 + - name: install lvm2 tools + apt: + name: lvm2 diff --git a/baserock_webserver/instance-config.yml b/baserock_webserver/instance-config.yml index 6923f305..60e7bf00 100644 --- a/baserock_webserver/instance-config.yml +++ b/baserock_webserver/instance-config.yml @@ -3,7 +3,6 @@ # Tested against Fedora 26 base image. --- - hosts: webserver - gather_facts: false become: yes become_method: sudo tasks: @@ -14,10 +13,38 @@ mountpoint: /srv - name: /srv/download.baserock.org/ - file: path=/srv/download.baserock.org/ owner=fedora state=directory + file: + path: /srv/download.baserock.org/ + owner: "{{ ansible_user_id }}" + state: directory - - name: Cherokee configuration - copy: src=etc/cherokee/cherokee.conf dest=/etc/cherokee/ + - name: Create the nginx configuration files + template: + src: files/{{ item }} + dest: /etc/nginx/sites-available/{{ item }} + become: yes + notify: + - restart nginx + with_items: + - download-baserock-org.conf + - irclogs-baserock-org.conf + + - name: Enable nginx sites + file: + src: ../sites-available/{{ item }} + dest: /etc/nginx/sites-enabled/{{ item }} + state: link + become: yes + notify: + - restart nginx + with_items: + - download-baserock-org.conf + - irclogs-baserock-org.conf + + handlers: + - name: restart nginx + service: + name: nginx + state: restarted + become: yes - - name: (re)start Cherokee webserver - service: name=cherokee enabled=yes state=restarted diff --git a/baserock_webserver/instance-gitlabirced-config.yml b/baserock_webserver/instance-gitlabirced-config.yml index 89005bdf..44abab52 100644 --- a/baserock_webserver/instance-gitlabirced-config.yml +++ b/baserock_webserver/instance-gitlabirced-config.yml @@ -5,7 +5,7 @@ - gitlabirced/gitlab_bot_secrets.yml vars: - gitlabirced_version: 0.4.0 - - gitlabirced_conf_folder: /home/fedora/gitlabirced + - gitlabirced_conf_folder: /home/{{ ansible_user_id }}/gitlabirced - gitlabirced_conf_file: "{{ gitlabirced_conf_folder }}/config.yml" tasks: diff --git a/baserock_webserver/instance-hastebin-config.yml b/baserock_webserver/instance-hastebin-config.yml index aacffe0a..2adc8ca6 100644 --- a/baserock_webserver/instance-hastebin-config.yml +++ b/baserock_webserver/instance-hastebin-config.yml @@ -8,11 +8,15 @@ - haste_server_service_name: haste-server tasks: - name: Install Git - dnf: name=git state=latest + apt: + name: git + state: latest become: yes - name: Install Redis - dnf: name=redis state=latest + apt: + name: redis + state: latest become: yes - name: Start Redis service @@ -23,7 +27,11 @@ become: yes - name: Install Node.js - dnf: name=nodejs state=latest + apt: + pkg: + - nodejs + - npm + state: latest become: yes - name: hastebin user @@ -47,7 +55,9 @@ become_user: hastebin - name: Install service for the haste server - template: src=hastebin/haste-server.service.in dest=/etc/systemd/system/{{ haste_server_service_name }}.service + template: + src: hastebin/haste-server.service.in + dest: /etc/systemd/system/{{ haste_server_service_name }}.service become: yes - name: Restart haste service diff --git a/baserock_webserver/instance-irclogs-config.yml b/baserock_webserver/instance-irclogs-config.yml index d64f32e8..f050d5ff 100644 --- a/baserock_webserver/instance-irclogs-config.yml +++ b/baserock_webserver/instance-irclogs-config.yml @@ -4,28 +4,30 @@ vars_files: - irclogs/brlogger_secrets.yml tasks: - - name: Install Supybot - dnf: name=supybot state=latest + - name: Install Supybot from pip + pip: + name: supybot + executable: pip2 become: yes become_user: root - - name: Check for MeetBot install stat: - path: /usr/lib/python2.7/site-packages/supybot/plugins/MeetBot + path: /usr/local/lib/python2.7/dist-packages/supybot/plugins/MeetBot register: meetbot - name: Install MeetBot block: - git: - repo: 'https://github.com/openstack-infra/meetbot.git' + repo: 'https://opendev.org/opendev/meetbot.git' dest: /tmp/meetbot + version: 01e051648c2759c03f2a907552af8e4410abcde9 - command: mv /tmp/meetbot/ircmeeting /tmp/meetbot/MeetBot/ args: creates: /tmp/meetbot/Meetbot/ircmeeting - synchronize: src: /tmp/meetbot/MeetBot - dest: /usr/lib/python2.7/site-packages/supybot/plugins + dest: /usr/local/lib/python2.7/dist-packages/supybot/plugins delegate_to: "{{ inventory_hostname }}" become: yes become_user: root @@ -34,32 +36,45 @@ - name: MeetBot configuration copy: src: irclogs/meetingLocalConfig.py - dest: /usr/lib/python2.7/site-packages/supybot/plugins/MeetBot/ircmeeting/meetingLocalConfig.py + dest: /usr/local/lib/python2.7/dist-packages/supybot/plugins/MeetBot/ircmeeting/meetingLocalConfig.py become: yes become_user: root - - name: Install irclog2html - dnf: name=irclog2html state=latest + + - name: Install Supybot from pip + pip: + name: irclog2html + executable: pip3 become: yes become_user: root - name: supybot user - user: name=supybot + user: + name: supybot become: yes become_user: root - name: /srv/irclogs.baserock.org/ - file: path=/srv/irclogs.baserock.org/ owner=supybot state=directory + file: + path: /srv/irclogs.baserock.org/ + owner: supybot + state: directory become: yes become_user: root - name: supybot configuration - template: src=irclogs/supybot-baserock.conf dest=/home/supybot/supybot-baserock.conf owner=supybot + template: + src: "irclogs/supybot-baserock.conf" + dest: "/home/supybot/supybot-baserock.conf" + owner: supybot + group: supybot become: yes - become_user: supybot + become_user: root - name: install systemd units - copy: src=./irclogs/{{item}} dest=/etc/systemd/system/{{item}} + copy: + src: ./irclogs/{{item}} + dest: /etc/systemd/system/{{item}} become: yes become_user: root with_items: @@ -68,7 +83,11 @@ - supybot.service - name: enable systemd units - systemd: name={{item}} enabled=yes daemon_reload=yes state=started + systemd: + name: "{{item}}" + enabled: yes + daemon_reload: yes + state: started become: yes become_user: root with_items: diff --git a/baserock_webserver/irclogs/irclogs-generation.service b/baserock_webserver/irclogs/irclogs-generation.service index ca5bcb33..12f0dc40 100644 --- a/baserock_webserver/irclogs/irclogs-generation.service +++ b/baserock_webserver/irclogs/irclogs-generation.service @@ -5,22 +5,22 @@ Requires=supybot.service [Service] Type=oneshot User=supybot -ExecStart=/usr/bin/logs2html -t 'IRC logs for #baserock' -p 'IRC logs for #baserock for ' /home/supybot/logs/ChannelLogger/libera/#baserock/ +ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #baserock' -p 'IRC logs for #baserock for ' /home/supybot/logs/ChannelLogger/libera/#baserock/ ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/libera/\#baserock/*html /home/supybot/logs/ChannelLogger/libera/\#baserock/*css /srv/irclogs.baserock.org/" -ExecStart=/usr/bin/logs2html -t 'IRC logs for #automotive' -p 'IRC logs for #automotive for ' /home/supybot/logs/ChannelLogger/freenode/#automotive/ +ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #automotive' -p 'IRC logs for #automotive for ' /home/supybot/logs/ChannelLogger/freenode/#automotive/ ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#automotive/*html /home/supybot/logs/ChannelLogger/freenode/\#automotive/*css /srv/irclogs.baserock.org/automotive" -ExecStart=/usr/bin/logs2html -t 'IRC logs for #cip' -p 'IRC logs for #cip for ' /home/supybot/logs/ChannelLogger/libera/#cip/ +ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #cip' -p 'IRC logs for #cip for ' /home/supybot/logs/ChannelLogger/libera/#cip/ ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/libera/\#cip/*html /home/supybot/logs/ChannelLogger/libera/\#cip/*css /srv/irclogs.baserock.org/cip" -ExecStart=/usr/bin/logs2html -t 'IRC logs for #trustable' -p 'IRC logs for #trustable for ' /home/supybot/logs/ChannelLogger/freenode/#trustable/ +ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #trustable' -p 'IRC logs for #trustable for ' /home/supybot/logs/ChannelLogger/freenode/#trustable/ ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#trustable/*html /home/supybot/logs/ChannelLogger/freenode/\#trustable/*css /srv/irclogs.baserock.org/trustable" -ExecStart=/usr/bin/logs2html -t 'IRC logs for #buildstream' -p 'IRC logs for #buildstream for ' /home/supybot/logs/ChannelLogger/gimp/#buildstream/ +ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #buildstream' -p 'IRC logs for #buildstream for ' /home/supybot/logs/ChannelLogger/gimp/#buildstream/ ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/gimp/\#buildstream/*html /home/supybot/logs/ChannelLogger/gimp/\#buildstream/*css /srv/irclogs.baserock.org/buildstream" -ExecStart=/usr/bin/logs2html -t 'IRC logs for #freedesktop-sdk' -p 'IRC logs for #freedesktop-sdk for ' /home/supybot/logs/ChannelLogger/freenode/#freedesktop-sdk/ +ExecStart=/usr/local/bin/logs2html -t 'IRC logs for #freedesktop-sdk' -p 'IRC logs for #freedesktop-sdk for ' /home/supybot/logs/ChannelLogger/freenode/#freedesktop-sdk/ ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/logs/ChannelLogger/freenode/\#freedesktop-sdk/*html /home/supybot/logs/ChannelLogger/freenode/\#freedesktop-sdk/*css /srv/irclogs.baserock.org/freedesktop-sdk" ExecStart=/bin/sh -c "/usr/bin/rsync -a /home/supybot/meetings /srv/irclogs.baserock.org/" diff --git a/baserock_webserver/irclogs/supybot.service b/baserock_webserver/irclogs/supybot.service index 49720f70..c3df8a75 100644 --- a/baserock_webserver/irclogs/supybot.service +++ b/baserock_webserver/irclogs/supybot.service @@ -10,6 +10,6 @@ After=local-fs.target ConditionPathExists=/home/supybot/supybot-baserock.conf [Service] -ExecStart=/usr/bin/supybot /home/supybot/supybot-baserock.conf +ExecStart=/usr/local/bin/supybot /home/supybot/supybot-baserock.conf User=supybot Restart=always -- cgit v1.2.1