ASUS VivoBook E210MA: Celeron N4020 (2 cores, 1.1-2.8 GHz), ~4 GB RAM plus zram, 233 GB NVMe, Intel UHD 600, Ubuntu 24.04 LTS, fanless.
LAN: 192.168.1.78 (DHCP reserved). Public: vivo.brennan.cafe (files) and vivo-ssh.brennan.cafe (SSH) via cloudflared.
A distraction-free WriterDeck that doubles as a small always-on server. The WriterDeck concept moved here after the plan was postponed on casa: a dedicated writing machine is most useful when it is not also the production server.
| Thing | Port | What it does |
|---|---|---|
sshd | :22 | key-only inbound SSH, socket-activated |
cloudflared | outbound | named tunnel for the brennan.cafe names |
| file server | 127.0.0.1:8008 | python3 -m http.server on ~/public, served through the tunnel |
dictd | 127.0.0.1:2628 | dictionary server for offline writing |
earlyoom, unattended-upgrades, cron | memory guard plus auto security patches |
A daily cron job probes services, git-pulls repos, and alerts over ntfy.sh.
Full Ubuntu removes the Termux platform constraints: real systemd, ports below 1024, amd64 binaries, and container options in apt. The remaining limits are the CPU, ~2.5 GB of free RAM, and the fact that it is a daily-use laptop.
| Category | Available in apt |
|---|---|
| Web platforms | wordpress (dated), mediawiki, dokuwiki, ikiwiki, roundcube, miniflux, cgit/gitweb/gitolite3 |
| Web servers | nginx, apache2, lighttpd, haproxy, varnish, squid, privoxy |
| Databases | mysql-server (real MySQL 8: enables Ghost), mariadb-server, postgresql, redis-server, sqlite3, rabbitmq-server |
| Flat-file blog | Pure Blog on nginx + php-fpm |
caddy is in apt but old; use the official repo or binary for current 2.x. mongodb-server is not packaged: the Docker image works.