Add the following to the Host tag in server.xml

<Context docBase="ROOT" override="true">
    <Resources cachingAllowed="false" />
</Context>

Add the following to multiserver or intranet.bat

-Xmx50m -Xms50m -XX:+UseG1GC

Wikipedia has a list. Comments on the popular options;

  • Apache - Tomcat (most popular)
  • Eclipse - Jetty (small and fast)
  • Eclipse - GlassFish (heavy)
  • Payara - Payara
  • Red Hat - WildFly / JBoss EAP

Micro services; fast start with native executables via GraalVM;

  • Red Hat - Quarkus
  • Micronaut - Micronauts

Specifications at jakarta.

To display timestamps exported from Noodle to csv files in Microsoft Excel, format the column as custom with this pattern;

yyyy-mm-dd hh:mm:ss.000

To show just the date one of these formulae can be used;

=DATE(YEAR(B2),MONTH(B2),DAY(B2))
=CONCAT(YEAR(B2),"-",MONTH(B2),"-",DAY(B2))

To show just the time one of these formulae can be used;

=TIME(HOUR(B2),MINUTE(B2),SECOND(B2))
=CONCAT(HOUR(B2),":",MINUTE(B2),":",SECOND(B2))

Like all formula the above examples can be applied to whole columns by copy pasting, dragging, or double clicking.

Note that Microsoft Excel does not respect original formatting so any save (without any edit) can convert a timestamp into a number representing seconds since epoch.

cert.sh

certbot renew --quiet --manual --preferred-challenges dns \
--manual-public-ip-logging-ok \
--manual-auth-hook cert_dns.sh \
--deploy-hook cert_deploy.sh

cert_dns.sh

ssh $DNS "nsupdate <( echo \"server 127.0.0.1
update delete _acme-challenge.$CERTBOT_DOMAIN.
update add _acme-challenge.$CERTBOT_DOMAIN. 3600 TXT $CERTBOT_VALIDATION
send
quit\" )"
sleep 10

See letsencrypt for other options.

dnf install -y epel-release
dnf install -y tar postgresql-server postgresql-contrib java-11-openjdk

#optional
dnf install -y vim tmux bc id3lib html2text p7zip-plugins libjpeg-turbo poppler-utils unzip netpbm-progs perl-Image-ExifTool
#optional manual install catdoc unrtf ffmpeg

newcfg (){
	F="$1"
	chown --reference="$F" "$F".new
	chmod --reference="$F" "$F".new
	mv -f "$F".new "$F"
}

#PostgreSQL
/usr/bin/postgresql-setup --initdb --unit postgresql
systemctl enable postgresql
TMP=/var/lib/pgsql/data/pg_hba.conf
cp $TMP $TMP.original
cat $TMP | grep -vP "^ *host.*127" > $TMP.new
echo -e "host\tall\tall\t127.0.0.1/32\tpassword" >> $TMP.new
newcfg $TMP
TMP=/var/lib/pgsql/data/postgresql.conf
cp $TMP $TMP.original
MT=$(cat /proc/meminfo | grep MemTotal | perl -pe 's/^[^ ]* *([0-9]+) *kB$/$1\/1000/g');
#java+linux=(512+256)
ECS=$(echo "($MT-(512+256))/2" | bc);
SB=$(echo "($MT-(512+256))/4" | bc);
cat $TMP | perl -pe 's/^#?(effective_cache_size)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = '$ECS'MB$2/g' \
| perl -pe 's/^#?(shared_buffers)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = '$SB'MB$2/g' \
| perl -pe 's/^#?(max_locks_per_transaction)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = 512$2/g' \
| perl -pe 's/^#?(max_connections)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = 60$2/g' \
| perl -pe 's/^#?(checkpoint_segments)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = 30$2/g' \
| perl -pe 's/^#?(log_min_duration_statement)[ \t]*=[ \t]*[^ \t]+([ \t].*)?$/$1 = 30000$2/g' \
| perl -pe 's/^#?(log_line_prefix)[ \t]*=[ \t]*[^#]+(#.*)?$/$1 = '\''%m: '\''\t\t$2/g' \
> $TMP.new
newcfg $TMP
systemctl start postgresql

#Noodle
cd /opt
tar -zxf ./Noodle.tar.gz
su postgres -c 'cd;/usr/bin/psql -d postgres -U postgres --file /opt/Noodle/init.sql' 
cd Noodle
cp noodle.service /lib/systemd/system/
systemctl enable noodle
systemctl start noodle

Other Linux Installation examples available.

Noodle respects requests for dark mode with the "prefers-color-scheme:dark" CSS that can be customized.

Web Browsers respect requests for dark mode by the Operating System, and can be customized:

  • Firefox:
    • about:config > ui.systemUsesDarkTheme=1
  • Firefox(Android):
    • Settings > Customize > Dark
  • Chrome(Desktop):
    • chrome://flags > "Force Dark Mode for Web Contents"
    • Note that as of v85 Chrome "prefers-color-scheme" is not supported, instead chrome will attempt to write it's own CSS for the page, often causing breakage (still true @ v105).
    • use chrome --force-dark-mode --enable-features=WebUIDarkMode to fix bug on Linux.

Operating Systems can be customized to use dark mode:

  • Windows:
    • Settings > Personalization > Colors > Choose your color > Dark
  • MacOS:
    • Apple > System Preferences, General, Appearance > Dark
  • Gnome(Linux):
    • Settings > Appearance > Dark
  • Android(Linux):
    • Settings > Display > Dark theme
  • iOS:
    • Settings > Display & Brightness > Dark

Other sites that support dark mode as of 2020:

Any user with access to system tools can reset the admin password with a web browser.

Any person with access to the SQL server can change the admin password to another users password

select object_id, username, password from users where username = 'admin' or username = '$ME';
update users set password = '$PASS' where object_id = '$ID';

For example

update users set password = 'P3b*cH.5fOBTJl5ELM)W' where username = 'admin';