Update README about (remote) devenv

main
Gerard Braad 2023-06-23 09:30:10 +00:00
parent 9c202e093b
commit ef9333852e
4 changed files with 87 additions and 8 deletions

View File

@ -3,8 +3,11 @@ FROM --platform=linux/amd64 ghcr.io/gbraad-devenv/fedora/base:38
USER root
RUN dnf install -y \
docker cockpit \
make npm \
docker \
cockpit \
make \
npm \
rpm-build \
&& dnf clean all \
&& rm -rf /var/cache/yum

View File

@ -6,8 +6,11 @@ USER root
RUN useradd -l -u 33333 -G wheel -md /home/gitpod -s /usr/bin/zsh -p gitpod gitpod
RUN dnf install -y \
docker cockpit \
make npm \
docker \
cockpit \
make \
npm \
rpm-build \
&& dnf clean all \
&& rm -rf /var/cache/yum

View File

@ -1,17 +1,90 @@
Cockpit application to manage Tailscale
=======================================
**WIP**
!["Prompt"](https://raw.githubusercontent.com/gbraad/assets/gh-pages/icons/prompt-icon-64.png)
A Cockpit application to manage Tailscale
![Screenshot](./docs/screenshot.png)
Development
-----
### Cloud
-----------
This repo story includes deployment scripts for the Cocpit Tailscale development environment.
The easiest to get started is by using the following cloud development environments:
* Open in [Gitpod workspace](https://gitpod.io/#https://github.com/spotsnel/cockpit-tailscale)
* Open in [CodeSandbox](https://codesandbox.io/p/github/spotsnel/cockpit-tailscale)
or you can either use a local `devsys`/`almsys`, like published here:
* https://github.com/gbraad-devenv/fedora
* https://github.com/gbraad-devenv/almalinux
### Preparation
Install the following packages to develop and build:
```
$ sudo dnf install -y make npm
```
and to make the RPM you need:
```
$ sudo rpm-build gettext libappstream-glib
```
### Build
To perform a development build:
```
$ npx webpack --mode development
````
To perform a production build:
```
$ make
```
After the build, copy contents to `/usr/share/cockpit/tailscale`, `/usr/share/local/cockpit/tailscale` or `~/.local/share/cockpit/tailscale`
For convenience, you can also create a symlink to `~/.local/share/cockpit/tailscale` to `$PWD/dist`. However, you will need to logout/login because Cockpit caches the page and assets.
### Tailscale systemd image
For example, on an instance of [spotsnel/tailscale-systemd](https://github.com/spotsnel/tailscale-systemd):
```
$ tailscale ssh podmandesktop / podman exec -it tailscale-system bash
# dnf install -y cockpit passwd
# systemctl enable --now cockpit.socket
# curl -L https://github.com/spotsnel/cockpit-tailscale/releases/download/v0.0.1/cockpit-tailscale-v0.0.1.tar.gz -o dist.tar.gz
# tar zxvf dist.tar.gz
# mkdir /usr/local/share/cockpit
# mv dist /usr/local/share/cockpit/tailscale
# passwd root
# tailscale up --ssh
```
Now you can access the remote cockpit from another host by 'add new host'.
Note: remote hosts get authenticated over SSH. If you have conflicts, like on WSL, you can serve on `localhost` instead.
`/etc/systemd/system/cockpit.socket.d/listen.conf`
```
[Socket]
ListenStream=
ListenStream=127.0.0.1:9090
FreeBind=yes
```
```
# tailscale serve tcp:9090 tcp://localhost:9090
# systemctl daemon-reload
# systemctl restart cockpit.socket
```
Authors
-------

BIN
docs/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 143 KiB