push changes
This commit is contained in:
parent
9264931aeb
commit
2c13aa6915
@ -16,6 +16,8 @@ The following docker compose is to get gittea up and running with Cloudflare:
|
|||||||
|
|
||||||
> [!check] Remember to update with your own strong passwords and to update URL's for your own domain
|
> [!check] Remember to update with your own strong passwords and to update URL's for your own domain
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```
|
```
|
||||||
version: "3"
|
version: "3"
|
||||||
|
|
||||||
|
|||||||
255
build.homelab.md
255
build.homelab.md
@ -5,7 +5,7 @@ tags:
|
|||||||
author: The Bunker Admin
|
author: The Bunker Admin
|
||||||
date: 2025-04-28
|
date: 2025-04-28
|
||||||
---
|
---
|
||||||
## build.homelab
|
## build.homelab
|
||||||
|
|
||||||
The following is build instructions for The Bunker Operations home lab. See the following for further instructions following installation:
|
The following is build instructions for The Bunker Operations home lab. See the following for further instructions following installation:
|
||||||
|
|
||||||
@ -200,8 +200,9 @@ sudo apt install pandoc
|
|||||||
> The next command uses a cuda configuration. You may need to install the [nvidia toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) to make this work on a ubuntu machine.
|
> The next command uses a cuda configuration. You may need to install the [nvidia toolkit](https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/latest/install-guide.html) to make this work on a ubuntu machine.
|
||||||
|
|
||||||
```
|
```
|
||||||
docker run -d -p 3000:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
|
docker run -d -p 3002:8080 --gpus all --add-host=host.docker.internal:host-gateway -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:cuda
|
||||||
```
|
```
|
||||||
|
|
||||||
## Ollama
|
## Ollama
|
||||||
Get up and running with large language models.
|
Get up and running with large language models.
|
||||||
|
|
||||||
@ -279,7 +280,6 @@ VLC is a free and open source cross-platform multimedia player and framework tha
|
|||||||
```
|
```
|
||||||
sudo apt-get install vlc
|
sudo apt-get install vlc
|
||||||
```
|
```
|
||||||
|
|
||||||
## Spotify
|
## Spotify
|
||||||
Spotify is a music streaming service.
|
Spotify is a music streaming service.
|
||||||
|
|
||||||
@ -291,3 +291,252 @@ echo "deb https://repository.spotify.com stable non-free" | sudo tee /etc/apt/so
|
|||||||
```
|
```
|
||||||
sudo apt-get update && sudo apt-get install spotify-client
|
sudo apt-get update && sudo apt-get install spotify-client
|
||||||
```
|
```
|
||||||
|
## [Kdenlive](https://kdenlive.org/)
|
||||||
|
Free and Open Source Video Editor. Kdenlive is the acronym for KDE Non-Linear Video Editor. It works on Linux, Windows, macOS, and BSD.
|
||||||
|
### Install using App Centre
|
||||||
|
|
||||||
|
## [OBS](https://obsproject.com/)
|
||||||
|
Free and open source software for video recording and live streaming.
|
||||||
|
### Install Using App Centre
|
||||||
|
|
||||||
|
## Mkdocs-material
|
||||||
|
|
||||||
|
```
|
||||||
|
pipx install mkdocs-material --include-deps
|
||||||
|
```
|
||||||
|
|
||||||
|
## Chrome
|
||||||
|
|
||||||
|
```
|
||||||
|
flatpak install flathub com.google.Chrome -y
|
||||||
|
```
|
||||||
|
|
||||||
|
## [Espanso](https://espanso.org/)
|
||||||
|
|
||||||
|
Espanso is a cross-platform Text Expander written in Rust. It detects when you type a keyword and replaces it with another text snippet, improving your productivity and reducing repetitive typing.
|
||||||
|
|
||||||
|
**Note:** The standard .deb package may have dependency issues on Ubuntu 24.04. Use the AppImage method for best compatibility.
|
||||||
|
|
||||||
|
### Install FUSE (required for AppImage)
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo apt install fuse libfuse2
|
||||||
|
```
|
||||||
|
|
||||||
|
### Download and setup Espanso AppImage
|
||||||
|
|
||||||
|
```
|
||||||
|
wget https://github.com/espanso/espanso/releases/download/v2.2.1/espanso-debian-x11-amd64.AppImage -O ~/espanso.AppImage
|
||||||
|
chmod +x ~/espanso.AppImage
|
||||||
|
```
|
||||||
|
|
||||||
|
### Register and start the service
|
||||||
|
|
||||||
|
```
|
||||||
|
~/espanso.AppImage env-path register
|
||||||
|
~/espanso.AppImage start
|
||||||
|
```
|
||||||
|
|
||||||
|
### Create system-wide access (optional)
|
||||||
|
|
||||||
|
```
|
||||||
|
sudo ln -s ~/espanso.AppImage /usr/local/bin/espanso
|
||||||
|
```
|
||||||
|
|
||||||
|
## [Nerd Dictation](https://github.com/ideasman42/nerd-dictation)
|
||||||
|
|
||||||
|
Offline speech recognition using Vosk for privacy-focused dictation on Linux. Works entirely offline without sending data to external services.
|
||||||
|
|
||||||
|
### Install Required Audio Components
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install PulseAudio utilities (includes parec)
|
||||||
|
sudo apt update
|
||||||
|
sudo apt install pulseaudio-utils alsa-utils portaudio19-dev
|
||||||
|
|
||||||
|
# Install xdotool for keyboard simulation
|
||||||
|
sudo apt install xdotool
|
||||||
|
```
|
||||||
|
|
||||||
|
### Install Python Dependencies
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install pipx if not already available
|
||||||
|
sudo apt install pipx
|
||||||
|
|
||||||
|
# Create virtual environment for vosk
|
||||||
|
python3 -m venv ~/venv-dictation
|
||||||
|
source ~/venv-dictation/bin/activate
|
||||||
|
|
||||||
|
# Install vosk in virtual environment
|
||||||
|
pip install vosk
|
||||||
|
```
|
||||||
|
|
||||||
|
### Download and Setup Nerd Dictation
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Clone the repository
|
||||||
|
git clone https://github.com/ideasman42/nerd-dictation.git
|
||||||
|
cd nerd-dictation
|
||||||
|
|
||||||
|
# Download speech model
|
||||||
|
wget https://alphacephei.com/kaldi/models/vosk-model-small-en-us-0.15.zip
|
||||||
|
unzip vosk-model-small-en-us-0.15.zip
|
||||||
|
mv vosk-model-small-en-us-0.15 model
|
||||||
|
```
|
||||||
|
|
||||||
|
### Start PulseAudio (if not running)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Check if PulseAudio is running
|
||||||
|
pulseaudio --check -v
|
||||||
|
|
||||||
|
# If not running, start it
|
||||||
|
pulseaudio --start
|
||||||
|
```
|
||||||
|
|
||||||
|
### Usage
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Activate virtual environment (required each time)
|
||||||
|
source ~/venv-dictation/bin/activate
|
||||||
|
|
||||||
|
# Navigate to nerd-dictation directory
|
||||||
|
cd ~/nerd-dictation
|
||||||
|
|
||||||
|
# Start dictation (runs in background)
|
||||||
|
./nerd-dictation begin --vosk-model-dir=./model &
|
||||||
|
|
||||||
|
# Speak into your microphone, then stop dictation
|
||||||
|
./nerd-dictation end
|
||||||
|
```
|
||||||
|
|
||||||
|
**Note:** The transcribed text will appear where your cursor is currently positioned. Make sure to have a text editor or document open and focused before ending dictation.
|
||||||
|
|
||||||
|
### Prepare Environment on Startup (Optional)
|
||||||
|
|
||||||
|
#### Ensure PulseAudio starts automatically
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Enable PulseAudio user service (most systems do this by default)
|
||||||
|
systemctl --user enable pulseaudio
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Create convenient aliases
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Add to your ~/.bashrc for easy access
|
||||||
|
echo 'alias dictation-start="cd ~/nerd-dictation && source ~/venv-dictation/bin/activate && ./nerd-dictation begin --vosk-model-dir=./model &"' >> ~/.bashrc
|
||||||
|
echo 'alias dictation-stop="cd ~/nerd-dictation && source ~/venv-dictation/bin/activate && ./nerd-dictation end"' >> ~/.bashrc
|
||||||
|
|
||||||
|
# Reload bashrc
|
||||||
|
source ~/.bashrc
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Quick-start desktop shortcuts (Optional)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Create desktop shortcut to start dictation
|
||||||
|
cat > ~/Desktop/start-dictation.sh << 'EOF'
|
||||||
|
#!/bin/bash
|
||||||
|
cd ~/nerd-dictation
|
||||||
|
source ~/venv-dictation/bin/activate
|
||||||
|
./nerd-dictation begin --vosk-model-dir=./model &
|
||||||
|
notify-send "Dictation Started" "Speech recognition is now active"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x ~/Desktop/start-dictation.sh
|
||||||
|
|
||||||
|
# Create desktop shortcut to stop dictation
|
||||||
|
cat > ~/Desktop/stop-dictation.sh << 'EOF'
|
||||||
|
#!/bin/bash
|
||||||
|
cd ~/nerd-dictation
|
||||||
|
source ~/venv-dictation/bin/activate
|
||||||
|
./nerd-dictation end
|
||||||
|
notify-send "Dictation Stopped" "Speech recognition is now inactive"
|
||||||
|
EOF
|
||||||
|
|
||||||
|
chmod +x ~/Desktop/stop-dictation.sh
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Usage with shortcuts
|
||||||
|
|
||||||
|
After setup, you can simply:
|
||||||
|
|
||||||
|
- Type `dictation-start` in any terminal to begin
|
||||||
|
- Type `dictation-stop` in any terminal to end
|
||||||
|
- Or use the desktop shortcuts for GUI control
|
||||||
|
|
||||||
|
### Keyboard Shortcuts (Optional)
|
||||||
|
|
||||||
|
#### GNOME (Ubuntu default)
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Open Settings > Keyboard > Keyboard Shortcuts > Custom Shortcuts
|
||||||
|
# Or use gsettings commands:
|
||||||
|
|
||||||
|
# Set Ctrl+Alt+D to start dictation
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys custom-keybindings "['/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/', '/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/']"
|
||||||
|
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ name 'Start Dictation'
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ command 'bash -c "cd ~/nerd-dictation && source ~/venv-dictation/bin/activate && ./nerd-dictation begin --vosk-model-dir=./model &"'
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom0/ binding '<Ctrl><Alt>d'
|
||||||
|
|
||||||
|
# Set Ctrl+Alt+S to stop dictation
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ name 'Stop Dictation'
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ command 'bash -c "cd ~/nerd-dictation && source ~/venv-dictation/bin/activate && ./nerd-dictation end"'
|
||||||
|
gsettings set org.gnome.settings-daemon.plugins.media-keys.custom-keybinding:/org/gnome/settings-daemon/plugins/media-keys/custom-keybindings/custom1/ binding '<Ctrl><Alt>s'
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Alternative: Using xbindkeys
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# Install xbindkeys
|
||||||
|
sudo apt install xbindkeys
|
||||||
|
|
||||||
|
# Create configuration file
|
||||||
|
cat > ~/.xbindkeysrc << 'EOF'
|
||||||
|
# Start dictation with Ctrl+Alt+D
|
||||||
|
"bash -c 'cd ~/nerd-dictation && source ~/venv-dictation/bin/activate && ./nerd-dictation begin --vosk-model-dir=./model &'"
|
||||||
|
control+alt + d
|
||||||
|
|
||||||
|
# Stop dictation with Ctrl+Alt+S
|
||||||
|
"bash -c 'cd ~/nerd-dictation && source ~/venv-dictation/bin/activate && ./nerd-dictation end'"
|
||||||
|
control+alt + s
|
||||||
|
EOF
|
||||||
|
|
||||||
|
# Start xbindkeys
|
||||||
|
xbindkeys
|
||||||
|
|
||||||
|
# Make xbindkeys start automatically
|
||||||
|
echo 'xbindkeys' >> ~/.profile
|
||||||
|
```
|
||||||
|
|
||||||
|
#### Manual GUI Method (GNOME)
|
||||||
|
|
||||||
|
1. Open **Settings** → **Keyboard** → **Keyboard Shortcuts**
|
||||||
|
2. Scroll down and click **Custom Shortcuts**
|
||||||
|
3. Click the **+** button to add new shortcut
|
||||||
|
4. **Name**: "Start Dictation"
|
||||||
|
5. **Command**: `bash -c "cd ~/nerd-dictation && source ~/venv-dictation/bin/activate && ./nerd-dictation begin --vosk-model-dir=./model &"`
|
||||||
|
6. **Shortcut**: Press **Ctrl+Alt+D**
|
||||||
|
7. Repeat for "Stop Dictation" with **Ctrl+Alt+S**
|
||||||
|
|
||||||
|
**Recommended shortcuts:**
|
||||||
|
|
||||||
|
- **Ctrl+Alt+D**: Start dictation
|
||||||
|
- **Ctrl+Alt+S**: Stop dictation
|
||||||
|
|
||||||
|
### If you have issues after reboot:
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
|
# Check if PulseAudio is running
|
||||||
|
pulseaudio --check -v
|
||||||
|
|
||||||
|
# If not running, start it
|
||||||
|
pulseaudio --start
|
||||||
|
|
||||||
|
# Test the alias
|
||||||
|
dictation-start
|
||||||
|
```
|
||||||
Loading…
x
Reference in New Issue
Block a user