¿Hay algún repositorio secreto que utilicen para mantener las cosas actualizadas?
¡Gracias! asdf es de gran ayuda. Creo que lo había visto antes, pero quería evitar Yet Another Package Manager. Si es lo suficientemente bueno para ti, me apunto.
Y parece que nodejs está desactualizado en el script de instalación también. Una instalación reciente tiene v18.12.1 y el script instala la 16.
Así que parece que
git clone https://github.com/asdf-vm/asdf.git ~/.asdf --branch v0.10.2
asdf plugin add ruby https://github.com/asdf-vm/asdf-ruby.git
asdf plugin add imagemagick
asdf install imagemagick 7.1.0-55
asdf plugin add nodejs
asdf install nodejs 18.12.1
Suponiendo que consigas esto en tu .bashrc (o similar) de alguna manera:
. $HOME/.asdf/asdf.sh
. $HOME/.asdf/completions/asdf.bash
E instalando estas gems:
- bundler
- discourse_theme
- minitar
- listen
- rb-fsevent
- rb-inotify
- ffi
- multipart-post
- tty-prompt
- pastel
- tty-color
- tty-reader
- tty-screen
- advancecomp
- gifsicle
- jpegoptim
- libjpeg-progs
- optipng
- pngcrush
- pngquant
- jhead
- rails
Algunas de ellas podría haberlas añadido por alguna razón distinta a Discourse, aunque no estoy del todo seguro.
Y
apt-get install -y git build-essential libxslt1-dev libcurl4-openssl-dev libksba8 \
libksba-dev libreadline-dev libssl-dev zlib1g-dev libsnappy-dev \
sqlite3 libsqlite3-dev postgresql postgresql-server-dev-all \
postgresql-contrib libpq-dev redis-server golang-go
go get github.com/mailhog/MailHog
(Probablemente no en ese orden) Se acerca bastante. El redis actual incluido con ubuntu es suficiente para el 99% de los desarrolladores (es 7.0.7 y no 6.x) ¡Oh! 7.0.7 es ahora lo que se incluye. Pero también hay un plugin asdf para redis.
Tal script sería entonces muy fácil de mantener en el núcleo cuando hubiera un cambio de versión en node, imagemagick o Ruby, y luego un desarrollador perezoso podría ejecutar ese script una vez a la semana o con cada nuevo pull y tener un entorno de desarrollo actualizado. Con una hora o tres, alguien ingenioso podría hacerlo lo suficientemente multiplataforma para Linux, Mac/homebrew y Windows/WSL en un par de horas. Afortunadamente, ya no tengo fácil acceso a Windows, así que no me ofrezco voluntario.
Pero creo que si vigilo los cambios en discourse_docker, tal vez me dé cuenta de cuándo se actualizan y mis adiciones improvisadas a mi playbook de newmachine de Ansible ahora pueden hacer el trabajo.
¡Gracias por el consejo! Creo que ahora puedo tener una configuración de desarrollo en cualquier máquina con un solo comando.