[OC] Stuttgart 21 - New main station
Picture from the light eyes in the construction site. Picture was made while the construction site was temporarily made available for the general public to visit.
Picture from the light eyes in the construction site. Picture was made while the construction site was temporarily made available for the general public to visit.
FYI: Older and low capacity DDR3 RAM. So nothing of value was wasted.
Each shot is ~2min apart
Taken in South BW, Germany
E.g. you used a service like for job hunting, submitted personal data, landed a job and are now done with it.
I tried a bit of Notesnook. While it wasnt bad it didnt quite fit the expectation that obsidian created for me for what I want. Maybe it was user error but I honestly can't say what specific aspect bothered me.
For now I decided to stay with what I have experience witg and bought a year of Obsidian-sync for 1 Remote-Vault
Thanks to everyone that suggested me solutions to my really specific problem. I appreciate that and I love(d) the discouse I seemingly sparked in this post.
Please continue commenting. Maybe someone else still hasnt found their solution yet :)
Hello fellow lemmy users, for the lack of a better fitting community I hope my request for help fits here the best.
I am a bit of a scatter-brain, have some notes in Google Keep, OneNote, Obsidian and in GitHub or other places. This is partially multiplied by splitting my work stuff with my home stuff.
Thanks for reading the wall of text and I wish you a good start into the year of 2025. ✌️
Script is made to control Veeam VBR
Thanks for taking a look at my massive feature creep ;)
<#
.SYNOPSIS
Startet ein Veeam VBR Job
.DESCRIPTION
Startet einen VBR Job basierend auf den Namen.
Ursprünglicher Zweck war ein Verknüpfung von Jobs (z.B. als Pre-Execution Skript)
.PARAMETER JobName
Job-Name des Backup Jobs
.PARAMETER JobType
Typ des Backup Jobs
Erlaubte Typen: VAW, VAL, VMware,
Nicht erlaubte: Typen: HyperV, PVE
$Get-VBRBackup | Select-Object -Property Name,TypeToString,JobType
Backup Pretty Verbose Typ im Skript Notizen
########################################################################################################
Backup Copy Job Backup Copy SimpleBackupCopyPolicy / /
VAW Managed SRV Windows Agent Backup EpAgentBackup VAW CMDlet deprecated for Agent backups
VAW Managed PC Windows Agent Policy EpAgentPolicy VAW CMDlet deprecated for Agent backups
VAL Managed SRV Linux Agent Backup EpAgentBackup VAL CMDlet deprecated for Agent backups
VAL Managed PC Linux Agent Policy EpAgentPolicy VAL CMDlet (probably) deprecated for Agent backups # UNGETESTET WERTE!
Proxmox VE Proxmox Backup VmbApiPolicyTempJob PVE Nicht nutzbar mit Powershell via Start-VBRJob
VMware VMware Backup Backup Backup VMware
Hyper-V
.EXAMPLE
Start-VeeamJob.ps1 -JobName
passes F1234567-1abc-1234-ab1c-1a2345b6c78d to $JobName
.NOTES
Author : Appoxo
Version : 2.0
.LINK
Job-ID auslesen:
Get-VBRComputerBackupJob | Where-Object Name -CLike "*Name*" | Select-Object -Property Id, Name
#>
[CmdletBinding()]
Param(
[Parameter(Mandatory = $true,
HelpMessage = "Enter Job-Name of the VBR-Job")]
[String]
$JobName,
[Parameter(Mandatory = $true,
HelpMessage = "Art des VBR-Jobs. Die Bezichnung ist NICHT canse-sensitiv!")]
[string]
$JobType
)
Begin {
Write-Host "Script started successfully"
$ExitCode = 0
#TimeStamp Logging:
function Get-TimeStamp {return "{0:yy/MM/dd} {0:HH:mm:ss}" -f (Get-Date)}
<#
#Debug Values:
$JobName = "L1 Backup Appoxo-PC2 (Games)"
$JobType = "VAW"
#>
# Variablen
$workingDir = "C:\Skripte\SkriptLogs"
$log = "$($workingDir)\Log-StartVeeamJob.log"
$JobDetails = Get-VBRBackup | Where-Object Name -EQ "$($JobName)"
$timeout = 9
# Vorbereitung
if ($JobType -in @("VAW","VAL","VMware")){
Write-Host "Valid backup type selected"
$JobTypUnbestimmt = 0
}
else {
Write-Host "Invalid backup type selected. Please choose something else :)"
$ExitCode = 1
exit $ExitCode
}
if (Test-Path -Path $workingDir) {
} else {
New-Item -ItemType Directory -Path "$workingDir"
}
if (-not (Test-Path -Path $log -PathType Leaf)) {
New-Item -ItemType file -Path $log
Add-Content -Path $log "Log zur Überprüfung der Start von VBR-Jobs"
}
}
Process {
Write-Host "You passed the following information:"
$data = @([PSCustomObject]@{"Job Details"="$($JobDetails.Name)"; "Selected Job Type"="$($JobType)"})
$data | Format-Table -AutoSize
Write-Host "The following Job-ID was found for this job: $($JobDetails.JobId)"
Write-Host "If there is an error please abort NOW."
while ($timeout -gt 0) {
Write-Host -NoNewline "`rThe script starts in $($timeout)"
Start-Sleep -Seconds 1
$timeout--
}
Write-Host "Starting script now!"
Write-Output "$(Get-TimeStamp) Start des Backup Job Skripts. Für den Job '$($JobDetails.Name)' wurde die Job-ID $($JobDetails.JobId) gefunden!" | Add-Content -Path $log
try{
$startTime = Get-Date
Write-Host "Validating input... This may take a while"
if((($JobType -in @("VAW","VAL"))) -AND (($JobDetails.JobType -in @("EpAgentBackup","EpAgentPolicy")))) {
Write-Host "Valid backup type '$($JobDetails.TypeToString)' was found. Starting now!"
Start-VBRComputerBackupJob -Job $JobName | Select-Object -OutVariable JobResult
}
elseif (($JobType -in @("VMware")) -AND (($JobDetails.JobType -in @("Backup")))) {
Write-Host "Valid backup type '$($JobDetails.TypeToString)' was found. Starting now!"
Start-VBRJob -Job $JobName | Select-Object -OutVariable JobResult
}
elseif (($JobType -in @("PVE")) -AND (($JobDetails.JobType -in @("VmbApiPolicyTempJob")))) {
Write-Host "Der Job des Typs $JobType ist aktuell nicht implementiert"
$ExitCode = 1
exit $ExitCode
<#
Write-Host "Valid backup type '$($JobDetails.TypeToString)' was found. Starting now!"
Start-VBRJob -Job $JobName | Select-Object -OutVariable JobResult
#>
}
else {
Write-Host "Invalid backup type '$($JobDetails.TypeToString)' was found. Please restart the script!"
Write-Output "$(Get-TimeStamp) Bestimmung des Typs für den Job '$($JobDetails.Name)' nicht erfolgreich. Angegeben wurde '$($JobType)'" | Add-Content -Path $log
$ExitCode = 1
$JobTypUnbestimmt = 1
}
# Job Result report
if(($JobTypUnbestimmt -EQ 0) -AND ($JobResult.State -EQ "Stopped") -AND ($JobResult.Result -EQ "Success")){
Write-Host "Execution of the Job '$($JobName) was successful"
Write-Output "$(Get-TimeStamp) Backup Job $($JobDetails.Name) erfolgreich ausgeführt" | Add-Content -Path $log
$ExitCode = 0
} else{
Write-Host "Execution of the Job '$($JobName) encountered an error. Please check the VBR-Console"
Write-Output "$(Get-TimeStamp) Fehler beim ausführen vom Backup Job '$($JobDetails.Name)'" | Add-Content -Path $log
$ExitCode = 1
}
#Stats
$endTime = Get-Date
$executionTime = $endTime - $startTime
} catch {
Write-Host "Something went wrong during execution"
Write-Host $_ # This prints the actual error
Write-Output "$(Get-TimeStamp) Error: $($_)" | Add-Content -Path $log
$ExitCode = 1
}
}
End {
Write-Output "$(Get-TimeStamp) Skript abgeschlossen für $($JobDetails.Name) Job-ID $($JobDetails.Id)" | Add-Content -Path $log
Write-Host "Script ended."
$seconds = "{0:N2}" -f $executionTime.TotalSeconds
$minutes = "{0:N2}" -f ($executionTime.TotalSeconds / 60)
Write-Host "Time for stats! The script took $($seconds) seconds or $($minutes) minutes)"
exit $ExitCode
}
Trying to set tight permissions on my future NAS.
The essential on what I have:
TrueNAS NFS storage <- mounted via NFS -> Proxmox VE Host <-> Debian 12 VM
That's all fine and so on.
My little Debian VM:
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
├─sda1 vfat FAT32 A5D7-88E3 505.1M 1% /boot/efi
└─sda2 ext4 1.0 3c43a477-51fd-425b-aee8-a6e75224f781 48.5G 16% /
sdb
└─sdb1 ext4 1.0 media e3e0eac5-806a-44e9-a0e9-07fb99a18281 933.2G 0% /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281
sdc
└─sdc1 ext4 1.0 nas 0f3a3d74-901d-4243-b20b-59210c1cee18 46.4G 0% /srv/dev-disk-by-uuid-0f3a3d74-901d-4243-b20b-59210c1cee18
sdd
└─sdd1 ext4 1.0 backup fbe21b9f-2339-4223-ac7e-00e75374fc32 46.4G 0% /srv/dev-disk-by-uuid-fbe21b9f-2339-4223-ac7e-00e75374fc32
sr0
Background:
The storage on the debian VM will be mounted by a NUC running bare metal Debian due to hardware acceleration. The proxmox host is unable to do it due to it also being a NUC. But I like the flexibility I will soon have because I can just nuke my bare-metal NUC without loosing any data.
Anyway my real problem is with permissions on my media drive.
My permissions right now are as following:
1. /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281# ls -l media
drwxrwxr-x 3 nobody nogroup 4096 Oct 12 20:45 media
2. /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media# ls -l data
drwxrwsr-x+ 6 mediaU serviceG 4096 Oct 13 00:21 data
3. /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# ls -l *
drwxrwsr-x+ 7 mediaU serviceG 4096 Oct 13 00:21 media
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 recycle_bin
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 torrents
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 usenet
4. /srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data/media# ls -l *
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 anime
drwxrwsr-x+ 3 mediaU serviceG 4096 Oct 13 00:22 movie
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 music
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 soundtrack
drwxrwsr-x+ 2 mediaU serviceG 4096 Oct 13 00:21 tv
Current directory tree:
srv-dev-disk-by-uuid-XXX/
└── media
└── data
├── media
│ ├── anime
│ ├── movie
│ ├── music
│ ├── soundtrack
│ └── tv
├── recycle_bin
├── torrents
└── usenet
What I am trying is:
/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media via NFSdata directory inside it (2. ls -l) as mediaU:serviceG/media/data/media folder. The ACL was set recursive as follows:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# getfacl media/
# file: media/
# owner: mediaU
# group: serviceG
# flags: -s-
user::rwx
group::rwx
group:extUserG:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:extUserG:rwx
default:mask::rwx
default:other::r-x
So far so good. mediaU:serviceG has RWX permissions (2775).
My user is part of the group extUserG also with 775 permission.
My issue and how I tested it under the root user executing commands via su:
root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# su mediaU -c 'mkdir dir-mediaU'root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# su appoxo -c 'mkdir dir-extUserG' mkdir: cannot create directory ‘dir-extUserG’: Permission deniedBUT if I enter one level deeper inside the freshly created dir-mediaU folder I am able to create files with my personal account:
root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data# cd dir-mediaU/
root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data/dir-mediaU# su appoxo -c 'mkdir dir-extUserG'
root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data/dir-mediaU# ls -l
total 4
drwxrwsr-x+ 2 appoxo serviceG 4096 Oct 13 00:45 dir-extUserG
root@NAS01:/srv/dev-disk-by-uuid-e3e0eac5-806a-44e9-a0e9-07fb99a18281/media/data/dir-mediaU# getfacl dir-extUserG/
# file: dir-extUserG/
# owner: appoxo
# group: serviceG
# flags: -s-
user::rwx
group::rwx
group:extUserG:rwx
mask::rwx
other::r-x
default:user::rwx
default:group::rwx
default:group:extUserG:rwx
default:mask::rwx
default:other::r-x
So dear Lemmy Community:
Have I done something wrong in my setup or thinking? I have no problem as it is right now but I am sure it will be annoying to troubleshoot in the future so might as well fix it while still setting it up.
Thanks in advance for helping slowly escaping the windows world :)
Hello fellow self-hosters and homelabbers,
A few weeks ago I was able to fill my new NAS with the proper hardware I needed to expand on my earlier setup.
Due to the new capabilities I also wanted a fresh restart. But the more I think about doing one thing, the more I hit other road blocks amd think about doing Y.
So I wanted to ask how you would solve my goal.
1x 13th gen i3 NUC running Proxmox 8.2
1x 11th gen i5 NUC
1x uGreen DXP4800+ NAS with 4x15TB HDDs in Raidz2. The OS is TrueNAS scale
1: Should I do a media-storage VM only utilized for serving media and do the computing on another VM or do a general VM for both?
I hope someone can maybe help me untangle my grown mess and plans. My skills with Linux are not very deep and very beginner level. If you are willing to help please be patient with stupid questions.
If you have any better solutions, pointers to research, (blog) articles on architecting such solutions, examples how you solved storage/management or just willing to help me, I'd be very grateful :)
https://techcrunch.com/2024/09/23/cloudflares-new-marketplace-will-let-websites-charge-ai-bots-for-scraping/Open linkView original on lemmy.dbzer0.comSo often they go end of sale. Once gone and restocked I will hoard it.
This was a guided tour of the future main station in Stuttgart called Stuttgart21.
More pictures: https://imgur.com/a/8QnDQrO
(Disclaimer: The descriptions could be wrong for the east/west orientation :P)
cross-posted from: https://lemmy.dbzer0.com/post/20923434
Was grown from seed.
Last time I posted about it: https://lemmy.dbzer0.com/post/5241154
Was grown from seed.
Last time I posted about it: https://lemmy.dbzer0.com/post/5241154
Plant is a Yuzu Tree
The tree is declared as a "Citrus Ichangensis x Citrus reticula" but the buldge looks suspiciously like something after a grafting process.
I don't have a problem with it but the seller didn't mention any grafting being done.
I am also cautious because I live in a zone 7a area and don't wanna kill my first attempt.
Any help is appreciated :)
More pictures:
Hello fellow selfhosters, I tried to find a piece of software that could achieve my goal but maybe I am not searching in the correct areas. So I thought of asking here for suggestions or directions I could take.
I am looking for software that could fill a purpose of tracking like a helpdesk ticketing portal but not be a full blown ticketing portal.
For example I want to track current tasks like an RMA I am doing right now with Logitech (currently organized in my email inbox/folders) or keep track of shipments (currently tracked in Google Keep in this format: Shop | MM YYYY | Order-ID | Contents | Tracking:<Shipping Number>)
Android and Windows.
Things like creating companies to track tickets with. I would rather just keep track of the issue (maybe with some form of history to go back in time?) and not be lost in endless classification of company number, telephone, contacts etc.
Maybe I am in search of a unicorn-glitter edition^tm^ and just need someone to tell me that doesn't exist or I am not looking for the correct thing or term.
The help is highly appreciated :)
PS: While preferred it doesn't need to be selfhosted. It should be accessible via smartphone (app or web doesnt really matter) and on desktop (program or web).
Currently in consideration are (thanks for the suggestions so far!):