Ubuntu Workstations¶
Ubuntu Desktop is the operating system of choice for all workstations. Ubuntu Desktop is a free and open-source operating system. It is based on the Debian Linux distribution.
All workstations heavily rely on Docker to provide virtually every development tool. By using Docker, we can easily install and manage various development tools without worrying about dependencies or compatibility issues. This allows us to work on multiple projects simultaneously, each with its own set of specific requirements, without having to worry about conflicts.
- Caprica is my primary workstation for development tasks and daily to-dos.
- Kobol is my secondary workstation (notebook) for development tasks and daily to-dos.
Installation and Configuration¶
The installation steps are the same for all workstations.
Create bootable USB stick with Ubuntu¶
- Download Ubuntu from the Ubuntu website.
- Create a bootable USB stick from the downloaded iso image with a tool like Etcher or the Startup Disk Creator (shipped with Ubuntu).
Install machine from stick¶
The setup wizard takes care of the hostname, network settings, ssh, etc.
- When prompted for a user and password, use the username
sebastian
and the default password. - Remember to install and activate the OpenSSH server when the wizard prompts for this!
- Do not install any further software packages. Installations take place later when Ansible provisions the system.
- Run basic setup tasks using
curl https://raw.githubusercontent.com/sommerfeld-io/configs-homelab/main/components/bootstrap/basics.sh | bash -
- Test connecting to my other Linux machines (with user "sebastian" being the user created while installing the OS).
-
caprica
viassh sebastian@caprica.fritz.box
-
kobol
viassh sebastian@kobol.fritz.box
-
Install SSH Server¶
- Setup openssh-server using
curl https://raw.githubusercontent.com/sommerfeld-io/configs-homelab/main/components/bootstrap/ssh-server.sh | bash -
if needed
Configuration and package installation¶
- Install machine using the Ansible configs from this repo (use ansible-cli.sh).
- Allow machine to work with GitHub. Use public key
id_rsa.pub
, NOT the private key!
Manual Follow-Up todos¶
- Set dark mode, Dock config, etc.
- Add
~/work
,~/tmp
and~/virtualmachines
to favorites (in File Manager) - Update file associations in "Settings > Applications > Sublime Text"
- Install GitHub CLI extensions:
gh extension install seachicken/gh-poi
- Use docker-stacks-cli.sh to start Docker Compose services. Make sure you only start the Portainer Stack! Other Stacks are managed by Portainer.
- Use components/conky/run.sh to start all conky instances.