Git Product home page Git Product logo

werkstatt's Introduction

Werkstatt

An instant software development environment in Ubuntu for Windows Subsystem for Linux, built with Ansible.

Base Distribution

Werkstatt is based on Ubuntu 22.04. The following sections describe how the base distribution was prepared before the playbooks were executed upon it.

Installation

The base distribution Ubuntu 22.04 was prepared by firstly installing the Windows Subsystem for Linux (WSL) by following the official documentation.

In Powershell, Ubuntu 22.04 was installed with the following command.

wsl --install Ubuntu-22.04

When prompted for the Unix username and password, the following values were provided.

  • username: werker
  • password: nullfehler

Configuration

To automatically login with the werker user when launching the distribution, add the following to the file /etc/wsl.conf. The file does not exist yet, so you have to create it.

[user]
default=werker

To unclutter the executable PATH variable, add the following to /etc/wsl.conf.

[interop]
appendWindowsPath=false

SSH Connection

To use another WSL distribution as a control node and the base distribution as the managed node, you have to install the OpenSSH server on the base distribution.

sudo apt update
sudo apt install --yes openssh-server

Create SSH keys for the server.

sudo ssh-keygen -A

Edit the SSH server configuration in /etc/ssh/sshd_config to allow for password authentication by uncommenting the line:

#PasswordAuthentication yes

Limit connections to the local computer by changing:

#ListenAddress 0.0.0.0

To:

ListenAddress 127.0.0.1

Prevent port conflicts by changing the port the SSH server listens on by uncommenting the line in the same file:

#Port 22

Restart the server with:

sudo service ssh restart

License

Copyright © 2023 Geoffrey van Wyk (https://geoffreyvanwyk.dev)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.

werkstatt's People

Contributors

geoffreyvanwyk avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

werkstatt's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.