Tech Documentation: Difference between revisions
PositiveSpin (talk | contribs) m (→As of July 23, 2023: Improving dating) |
PositiveSpin (talk | contribs) |
||
Line 40: | Line 40: | ||
==bikebike.org== | ==bikebike.org== | ||
=== | ===History=== | ||
bikebike.org hosts a Ruby on Rails application that helps with registration for Bike!Bike! conferences. It's old and fragile and we've duct-taped some stuff on to keep it going and make it work for Bike!Bike! Everywhere! virtual conferences, but it is still the best thing we have for the purpose. It has the excellent feature of being trilingual (EN/ES/FR) by design on the frontend, though the backend administrative interface is English-only. | bikebike.org hosts a Ruby on Rails application that helps with registration for Bike!Bike! conferences. It's old and fragile and we've duct-taped some stuff on to keep it going and make it work for Bike!Bike! Everywhere! virtual conferences, but it is still the best thing we have for the purpose. It has the excellent feature of being trilingual (EN/ES/FR) by design on the frontend, though the backend administrative interface is English-only. |
Revision as of 21:25, 23 July 2023
Tech History - old updates from the OCF tech page, etc.
bikecollectives.org
As of 2023
Hosted on: RackNerd
Services are run with Docker containers, and include:
- Automated Nginx reverse proxy with automated letsencrypt certificates.
- Mail stack with docker-mailserver
- bikecollectives.org front page
- BikeBike.org - running/maintained/developed as a docker service.
- Bike Collectives Wiki (MediaWiki)
- lists.bikecollectives.org (MailMan3 email lists, including The ThinkTank)
- RoundCube email client for tech administrative mail (e.g. DMARC reports)
- Restic backup
- PassBolt password manager for administrative logins
- Apprise - push notifications
- Ofelia - job scheduling
- some other things, and more coming!
Jonathan Rosenbaum and Darin April Wick have shell accounts; contact them if you need access.
MediaWiki
- Settings for Mediawiki are in /home/bikebike/docker/bikecollectives/LocalSettings.php
- Extensions are in the container at /var/www/html/w/extensions
- To make changes happen after editing, you issue a
docker compose up -d
in the /home/bikebike/docker/bikecollectives directory - The yellowish box at the top of the wiki can be edited at MediaWiki:Sitenotice
URL Rewrites
A few notes from adding URL rewrites to the nginx config in April 2023 so that bikecollectives.org/en-es and bikecollectives.org/es-en both redirect to the Language Exchange page for easier posting on social media, etc.
- log in as bikebike (or su to bikebike)
- edit ~/docker/bikecollectives/default.conf
- I used rewrite directives in the relevant server sections, but I think return directives would also work.
docker compose build
(because default.conf is copied over to nginx) and adocker compose up -d
bikebike.org
History
bikebike.org hosts a Ruby on Rails application that helps with registration for Bike!Bike! conferences. It's old and fragile and we've duct-taped some stuff on to keep it going and make it work for Bike!Bike! Everywhere! virtual conferences, but it is still the best thing we have for the purpose. It has the excellent feature of being trilingual (EN/ES/FR) by design on the frontend, though the backend administrative interface is English-only.
Here are some notes on working with the existing bikebike.org: https://www.bikecollectives.org/wiki/Tech_Meeting_2022.07.16
Bumbleberry & CSS issues (resolved)
Bumbleberry is a chunk of code (Ruby Module) that tries to generate CSS suitable for whatever browser the viewer is using. It was a great idea ten years ago, but not so necessary now, and it needs to be manually updated every time a new browser version is released. At DigitalOcean we updated with a cron job:
truncate nohup.out -s 0 && nohup sh -c 'cd /home/rails && RAILS_ENV=production bundle exec rake bumbleberry:update && RAILS_ENV=production bundle exec rake assets:precompile && RAILS_ENV=production bundle exec rake assets:clean && kill `cat /home/unicorn/production.pid`; RAILS_ENV=production bundle exec unicorn_rails -E production -D -c /home/rails/config/unicorn.rb && kill `cat /home/unicorn/sidekiq_production.pid`; bundle exec sidekiq -d -C config/sidekiq_production.yml -e production -c 25' &
As of July 23, 2023
However, Bumbleberry broke when BikeBike was dockerized, and was updated to more recent and secure Ruby libraries. This means that it no longer updates properly without breaking BikeBike. In the absense of using Bumbleberry directly to update the css, when browser version are identified by BikeBike, if they don't exist in /public/stylesheets/* the browser renders a responsive view, which doesn't look right for normal size screens.
Godwin recommended using the most recent css for the newer versions. This works well for modern browsers. To enable this feat, the most recent browsers have to be identified, and the css from the most recent version has to be copied over to the newer version. The irony is we could avoid this exercise, and only support modern browsers with one css file, but in the spirit of browser justice let's not assume obscure browsers are not being used anymore.
The only disadvantage to this approach would be if a new browser with unknown css arose. Fortunately, this probably won't be an issue for a long time to come, since new browsers projects almost always adopt the identity of a major engine: and_chr, and_ff, and_qq, and_uc, android, baidu, bb, chrome, edge, firefox, ie, ie_mob, ios_saf, kaios, op_mini, op_mobm, opera, safari, samsung
If a new engine does arise, we will deal with that issue when it occurs.
email accounts
bikebikeeverywhere@gmail.com
- Primary email account for all B!B!E! communications
- Used for many of our online accounts as well (e.g. zoom, discord, domain registrar)
- Sometimes it's a nuisance to log in to, because gmail gets uncomfortable with logins from lots of different geographical locations and thinks they're spam and asks for confirmation. Confirmation codes usually go to Angel
- We use it instead of an @bikecollectives.org or @bikebike.org account because (1) it contains a lot of institutional memory for B!B!E! and (2) sometimes bikecollectives and bikebike break down, and gmail is pretty reliable.
- As of June 2023, forwards all emails to bbe@bikecollectives.org, which can be viewed at chocolate.bikecollectives.org
bbe@bikecollectives.org
- Primary address for automated emails related to tech
- DMARC reports
- anything related to mailman (including the ThinkTank mailing list) administration
- notifications about automated site backups
- All messages sent to bikebikeeverywhere@gmail.com are forwarded here. If you can't log in to the gmail, this provides a sort of backdoor.