content: added a new post and added a notes menu
|
@ -9,22 +9,27 @@ pageRef = "posts"
|
|||
weight = 2
|
||||
|
||||
[[main]]
|
||||
name = "About"
|
||||
pageRef = "about"
|
||||
weight = 3
|
||||
name = "Notes"
|
||||
pageRef = "notes"
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
pre = "gitlab"
|
||||
url = "https://git.kaleyfischer.xyz/DRAGONTOS/Website"
|
||||
weight = 4
|
||||
name = "Servers"
|
||||
parent = "Notes"
|
||||
pageRef = "servers"
|
||||
weight = 30
|
||||
|
||||
[[main]]
|
||||
name = "About"
|
||||
pageRef = "about"
|
||||
weight = 40
|
||||
|
||||
[[footer]]
|
||||
name = "Tags"
|
||||
pageRef = "tags"
|
||||
weight = 10
|
||||
name = "Tags"
|
||||
pageRef = "tags"
|
||||
weight = 10
|
||||
|
||||
[[footer]]
|
||||
name = "Categories"
|
||||
pageRef = "categories"
|
||||
weight = 20
|
||||
|
||||
name = "Categories"
|
||||
pageRef = "categories"
|
||||
weight = 20
|
||||
|
|
|
@ -20,7 +20,7 @@ showAuthor: true
|
|||
layoutBackgroundHeaderSpace: false
|
||||
---
|
||||
|
||||
Hey! I'm Kaley! I sometimes go by DRAGONTOS or dragon. I have been using Linux for 3.2 years now and I have since 2 years ago joined the community. I try to help people with problems and make cool project's on
|
||||
Hey! I'm Kaley! I sometimes go by DRAGONTOS or dragon, and I just turned 19! I have been using Linux for 3.2 years now and I have since 2 years ago joined the community. I try to help people with problems and make cool project's on
|
||||
[github](https://github.com/DRAGONTOS)/[forgejo](https://git.kaleyfischer.xyz/DRAGONTOS)! I also have my own hyprland [fork](https://github.com/Trensa-Organization/hyprland)!
|
||||
|
||||
## 🤓 Expertise
|
||||
|
|
Before Width: | Height: | Size: 1.3 MiB |
|
@ -1,40 +0,0 @@
|
|||
---
|
||||
title: "Why I use the workflow that I do"
|
||||
date: 2024-04-01
|
||||
draft: true
|
||||
description: "OwO"
|
||||
tags: ["hyprland", "workflow"]
|
||||
---
|
||||
|
||||
Some info about how and why I setup my workflow the way I do. So I use stratchpads
|
||||
a lot (that would be special workspaces for hyprland) cus I can easily put a browser
|
||||
or a terminal in there, and i can just hit Win + y (for a terminal) or Win + u (for a browser).
|
||||
|
||||
---
|
||||
### Plugins I Use:
|
||||
- [hy3](https://github.com/Trensa-Organization/hy3)
|
||||
- [split-monitor-workspaces](https://github.com/Trensa-Organization/split-monitor-workspaces)
|
||||
|
||||
# Why I use the workflow that I do
|
||||
How to setup hyprland in my work style.
|
||||
|
||||
## Prerequisites
|
||||
1. A fresh install of a linux distro with all build dependencies of [Hyprland](https://wiki.hyprland.org/Getting-Started/Installation/) (also of [Hyprlang]() and [Hyprcursor]()) installed.
|
||||
|
||||
2. Have installed all the [required](https://kaleyfischer.xyz/posts/1712013557202-hyprland/#required-software) software, [waybar](https://github.com/Alexays/Waybar), [hyprpaper](https://wiki.hyprland.org/Hypr-Ecosystem/hyprpaper/), etc.
|
||||
|
||||
### Required Software
|
||||
Software that is required to copy the workflow I use. (ofc you don't have to copy my entire workflow but parts if you find somethings usefull)
|
||||
|
||||
- kitty, waybar, Hyprpaper, grim, slurp, swappy, RapidMenu, rofi
|
||||
|
||||
#### Why did I choose for these types of software?
|
||||
So for the terminal I use [kitty](https://github.com/kovidgoyal/kitty) a good terminal that has basically everything tmux has
|
||||
plus it has an easily configurable config, and for wallpaper management I use [hyprpaper]() it's simple and it just works.
|
||||
The bar i use is [waybar]() it seems to be the most simple out of all of them and i haven't tried [ewww]() yet but it seems to
|
||||
be quite complicated to work with might make a post about it. (if so i'll link it [here]()) Screenshots I use [grim]() to screenshot,
|
||||
[slurp]() to select the area to be screenshot and [swappy] for the gui. For the menus (rofi menus) I use my self made tool
|
||||
called [RapidMenu]() So what it does is it makes you able to write a simple toml config for [rofi]() (or any [dmenu]() like runner)
|
||||
and runs it like a script so no needs for scripts just use configs! well for most things. And for the runner i use [rofi]()
|
||||
it is similiar enough to dmenu and not as clunky as dmenu.
|
||||
|
BIN
content/posts/debian-server-install/featured.png
Normal file
After Width: | Height: | Size: 1.3 MiB |
204
content/posts/debian-server-install/index.md
Normal file
|
@ -0,0 +1,204 @@
|
|||
---
|
||||
title: "A good debian 12 server install with docker and zsh!"
|
||||
date: 2024-04-02
|
||||
draft: false
|
||||
description: "OwO"
|
||||
tags: ["hyprland", "workflow"]
|
||||
---
|
||||
|
||||
How to make a good Debian 12 server install with Docker and all the tools I use for such a server, like eza and zsh.
|
||||
|
||||
# A good debian 12 server install with docker and zsh!
|
||||
|
||||
## Prerequisites
|
||||
We first need to get the ISO. I'm going to go with Debian 12 Bookworm, and you can
|
||||
of course, install this on hardware, but I'm going to install it on a VM.
|
||||
|
||||
## Installation
|
||||
|
||||
### VM
|
||||
I will use a VM to setup the Debian setup. You can of course install this.
|
||||
on hardware if you want, but for ease of installation, I will use a VM and
|
||||
The software I use to do that is QEMU/KVM.
|
||||
|
||||
- **Firmware:** UEFI
|
||||
- **Cpu:** 1 Socket, 6 Cores and 1 Thread.
|
||||
- **Ram:** 8192MiB
|
||||
- **Gpu:** virtio(2d)
|
||||
- **Hdd:** 100GiB
|
||||
|
||||
### Debian Installer
|
||||
I will walk you through the installer from the domain,
|
||||
to manually partition disks.
|
||||
|
||||
#### Domain
|
||||
You now need to enter your hostname, like debian-server or something like that, and for
|
||||
domain normally you can skip this, but if you have setup pfsense or opnsense than
|
||||
You can enter the domain after the first dot, so for me, that would be home.arpa (the default).
|
||||
|
||||
#### Partitioning
|
||||
You need to choose guided remove swap because we are going to use zram, then remove root and partition it with xfs or btrfs. if using an SSD If not, you can use ext4. It will give a warning after continuing because there is no swap.
|
||||
but you can just ignore that by hitting no and then continue with the install.
|
||||
|
||||
#### Mirrors
|
||||
You should choose the default (deb.debian.org) if you don't know which to choose.
|
||||
|
||||
#### Desktop Selection
|
||||
Untick all but 'Debian desktop environment', 'standard utils' and enable 'SSH server'.
|
||||
|
||||
#### Finish!
|
||||
It should now be installed.
|
||||
|
||||
### Setting up
|
||||
|
||||
#### Sudo
|
||||
We now need to go to tty2 (ctrl + alt + f2), then login with root because we need to add our user to the sudoers group.
|
||||
and we do that with:
|
||||
```bash
|
||||
/usr/sbin/usermod -aG sudo user
|
||||
```
|
||||
then we exit root (ctrl + d) and login with our user, and we should now be in the sudoers file!
|
||||
|
||||
#### SSH
|
||||
Now we need to setup an SSH connection. We do that by first enabling the service:
|
||||
```
|
||||
sudo systemctl enable --now ssh
|
||||
```
|
||||
We need to check for what IP to connect to with ip a:
|
||||
```bash
|
||||
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
|
||||
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
|
||||
inet 127.0.0.1/8 scope host lo
|
||||
valid_lft forever preferred_lft forever
|
||||
inet6 ::1/128 scope host noprefixroute
|
||||
valid_lft forever preferred_lft forever
|
||||
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
|
||||
link/ether 52:54:00:09:75:ef brd ff:ff:ff:ff:ff:ff
|
||||
inet 192.168.122.221/24 brd 192.168.122.255 scope global dynamic noprefixroute enp1s0
|
||||
valid_lft 2798sec preferred_lft 2798sec
|
||||
inet6 fe80::5054:ff:fe09:75ef/64 scope link noprefixroute
|
||||
valid_lft forever preferred_lft forever
|
||||
```
|
||||
And in 2. inet 192.168.122.221 is the IP we need to connect to.
|
||||
|
||||
#### Refreshing Mirrors (and fixing kitty)
|
||||
We now need to fix Kitty because, as you may have noticed, the SSH connection is acting up.
|
||||
This is Kitty to fix that we need to do this:
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt upgrade -y && sudo apt install kitty -y
|
||||
sudo apt remove gdm3 -y
|
||||
```
|
||||
And then reconnect with the SSH session.
|
||||
|
||||
#### Installing Required Packages
|
||||
We will now install all the required packages for this server installation:
|
||||
```bash
|
||||
sudo apt install cargo zram-tools fuse-overlayfs slirp4netns neovim git curl zsh neofetch make cmake rustc btop uidmap dbus-user-session -y
|
||||
```
|
||||
|
||||
For Mcfly:
|
||||
```bash
|
||||
curl -LSfs https://raw.githubusercontent.com/cantino/mcfly/master/ci/install.sh | sudo sh -s -- --git cantino/mcfly
|
||||
```
|
||||
|
||||
For eza:
|
||||
```bash
|
||||
sudo mkdir -p /etc/apt/keyrings
|
||||
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg
|
||||
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list
|
||||
sudo chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/sources.list.d/gierens.list
|
||||
sudo apt update && sudo apt install -y eza
|
||||
```
|
||||
|
||||
And for dust:
|
||||
```bash
|
||||
curl -LSfs "https://github.com/bootandy/dust/releases/download/v1.0.0/du-dust_1.0.0-1_amd64.deb" -o dust.deb
|
||||
sudo dpkg -i dust.deb && rm dust.deb
|
||||
```
|
||||
#### Zram for swap
|
||||
To set up zram, we just need to add these lines to the config and start the service for zram:
|
||||
```bash
|
||||
sudo /bin/su -c "echo -e "PERCENT=60" | sudo tee -a /etc/default/zramswap"
|
||||
sudo /bin/su -c "echo -e "ALGO=zstd" | sudo tee -a /etc/default/zramswap"
|
||||
sudo zramswap start
|
||||
```
|
||||
|
||||
#### Setting up zsh
|
||||
Just git clone this repo and execute the script, it will install and setup zsh:
|
||||
```bash
|
||||
git clone https://git.kaleyfischer.xyz/DRAGONTOS/zsh-dotfiles.git && zsh-dotfiles
|
||||
chmod +x install.bash
|
||||
bash install.bash
|
||||
sudo reboot
|
||||
```
|
||||
|
||||
### Setting up docker with a website!
|
||||
We are now going to setup Docker with a [website](https://git.kaleyfischer.xyz/DRAGONTOS/website)!
|
||||
|
||||
#### Docker Install
|
||||
We need to add some lines to /etc/sysctl.conf:
|
||||
```bash
|
||||
sudo /bin/su -c "echo 'net.ipv4.ip_unprivileged_port_start=0' >> /etc/sysctl.conf"
|
||||
sudo /bin/su -c "echo 'kernel.unprivileged_userns_clone=1' >> /etc/sysctl.conf"
|
||||
sudo /bin/su -c "echo 'vm.max_map_count=262144' >> /etc/sysctl.conf"
|
||||
sudo sysctl --system
|
||||
```
|
||||
It's now time to install Docker!
|
||||
We first need to add the Docker keyrings, and you can do that with this:
|
||||
```bash
|
||||
sudo apt-get update
|
||||
sudo install -m 0755 -d /etc/apt/keyrings
|
||||
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
|
||||
sudo chmod a+r /etc/apt/keyrings/docker.asc
|
||||
```
|
||||
After that is done, we need to add the repo to our sources:
|
||||
```bash
|
||||
echo \
|
||||
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
|
||||
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
|
||||
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
|
||||
sudo apt update
|
||||
```
|
||||
We can now finally install Docker with the most up-to-date versions:
|
||||
```bash
|
||||
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
|
||||
```
|
||||
Now that Docker is installed, we need to test it first to check if it is installed.
|
||||
correctly or not, and you can do that with this:
|
||||
```bash
|
||||
sudo docker run hello-world
|
||||
```
|
||||
If it worked, then Docker is installed correctly!
|
||||
|
||||
#### Setting up rootless for docker
|
||||
Now that we have Docker installed, we don't want to run everything with root and
|
||||
want to run it securely with our user in rootless mode. To do that, we need to run
|
||||
this simple script from Docker themselves:
|
||||
```bash
|
||||
sudo systemctl disable --now docker.service docker.socket
|
||||
dockerd-rootless-setuptool.sh install
|
||||
systemctl --user enable --now docker
|
||||
```
|
||||
And again, to check if it's installed correctly, we can run this command:
|
||||
```bash
|
||||
docker run hello-world
|
||||
```
|
||||
|
||||
#### Setting up nginx
|
||||
Now that Docker is installed and working, we now need to add some folders for them.
|
||||
where to place the containers and such, and to do that, we just need to add these:
|
||||
```bash
|
||||
mkdir ~/docker && cd ~/docker
|
||||
```
|
||||
|
||||
For setting up a site with nginx, just clone my git repo for a Docker container with nginx:
|
||||
```bash
|
||||
git clone https://git.kaleyfischer.xyz/DRAGONTOS/nginx-docker && cd nginx-docker
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Wrapping It Up
|
||||
I hope that you now have a working Debian 12 server installed with Docker and a running Nginx site!
|
||||
And for help, you could always DM me on Twitter for the time being until I have my own Masadon account.
|
||||
|
After Width: | Height: | Size: 800 KiB |
After Width: | Height: | Size: 243 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 800 KiB |
After Width: | Height: | Size: 243 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 31 KiB |
After Width: | Height: | Size: 648 KiB |
After Width: | Height: | Size: 180 KiB |
After Width: | Height: | Size: 80 KiB |
After Width: | Height: | Size: 31 KiB |