November 01, 2021

Export Flows from Microsoft Flow

# Install & Load Modules

Install-Module -Name Microsoft.PowerApps.Administration.PowerShell

Install-Module -Name Microsoft.PowerApps.PowerShell -AllowClobber

set-executionpolicy bypass

Import-Module Microsoft.PowerApps.Administration.PowerShell

Import-Module Microsoft.PowerApps.PowerShell

# Login

Connect-AzureAD

Add-PowerAppsAccount

# Export All Flows to CSV

 $exportFolderPath = "c:\OneDriveTemp\"


$flows = Get-AdminFlow

 

$flowExport = [System.Collections.ArrayList]@();

 

# Loop through all flows to expand on the user property. 

foreach ($flow in $flows) {

 

    $custFlow = New-Object -TypeName psobject 

 

    $custFlow | Add-Member -MemberType NoteProperty -Name FlowName -Value $flow.FlowName

    $custFlow | Add-Member -MemberType NoteProperty -Name Enabled -Value $flow.Enabled

    $custFlow | Add-Member -MemberType NoteProperty -Name DisplayName -Value $flow.DisplayName

    $custFlow | Add-Member -MemberType NoteProperty -Name CreatedTime -Value $flow.CreatedTime

    $custFlow | Add-Member -MemberType NoteProperty -Name EnvironmentName -Value $flow.EnvironmentName

    $custFlow | Add-Member -MemberType NoteProperty -Name LastModifiedTime -Value $flow.LastModifiedTime

 

    # Get the email of the user who created the flow. 

    try {

        $user = Get-AzureADUser -ObjectId $flow.CreatedBy.userId

        $custFlow | Add-Member -MemberType NoteProperty -Name CreatedBy -Value $user.Mail

    } catch {

        $custFlow | Add-Member -MemberType NoteProperty -Name CreatedBy -Value 'NOT FOUND IN AAD'

    }

 

    $flowExport.Add($custFlow) | Out-null

}

 

# Export to CSV.

$flowExport | Export-Csv -Path ($exportFolderPath + 'Flows1.csv') -Delimiter ',' -NoTypeInformation



# Other Commands

Get-AdminPowerAppEnvironment

Get-AdminPowerAppEnvironment –Default

Get-AdminPowerAppEnvironment –EnvironmentName 'EnvironmentName'


Get-AdminPowerApp

Get-AdminPowerApp 'DisplayName'


Get-AdminFlow

October 22, 2021

Minecraft Docker R.A.D

docker run -d -it --name minecraft-rogue -e EULA=TRUE -p 192.168.1.150:25566:25566 -v rogue-volume:/data itzg/minecraft-server:java16

cp -r /media/nas-backup/minecraft/RAD-Serverpack-1.47a/* .

docker container rm minecraft-rogue

docker run -d -it --name minecraft-rogue -e VERSION=1.12.2 -e TYPE=FORGE -e FORGE_INSTALLER=forge-1.12.2-14.23.5.2854.jar -e EULA=TRUE -e MEMORY=8G -p 192.168.1.150:25565:25565 -v rogue-volume:/data itzg/minecraft-server:java8

Manually editted the EULA.txt

chmod -R 777 * 

docker update --restart unless-stopped minecraft-rogue

June 12, 2021

Minecraft Docker Summer

Spare IP/Port for Java - -p 192.168.1.11:25565:25565 

Java Edition - RLCraft

docker run -d -it -v rlc-volume:/minecraft --name curseforge-rlc -p 192.168.1.99:25565:25565 -e EULA=true curseforge/rlcraft:2.8.2

Java Edition

docker run -d -it --name minecraft-jv -e EULA=TRUE -p 192.168.1.175:25565:25565 -v mj-volume:/data itzg/minecraft-server:java16

Bedrock Edition

docker run -d -it --name bedrock -e EULA=TRUE -p 192.168.1.50:19132:19132/udp -v bedrock:/data itzg/minecraft-bedrock-server

Docker Commands

Access Console

  • docker attach bedrock
  • - Control-p Control-q to detach

Check network ports in use in container

    • docker inspect -f '{{.State.Pid}}' minecraft-jv
    • nsenter -t 5549 -n netstat

June 09, 2021

mailinabox setup/restore

update fstab:

//192.168.1.24/backup  /media/nas-backup  cifs  vers=3.0,username=media,password=XXXXXXXXXX,uid=1000,gid=1000,iocharset=utf8  0  0

update crontab:

00 0    * * 7   root    cp -r /home/user-data/backup/encrypted /media/nas-backup/mail-in-a-box-b

00 0    * * 7   root    cp /home/user-data/backup/secret_key.txt /media/nas-backup/mail-in-a-box-b

00 14   * *   6   root    backup-folder -n etc-weekly -f "/home/user-data/www/"

run the restore

export PASSPHRASE=$(cat /home/billw/secret_key.txt)

duplicity restore --force file:///media/nas-backup/mail-in-a-box/encrypted /home/user-data/


Spam rules

/etc/postgrey/whitelist_clients

# 2021-05-05: St Bedes

122.56.66.10


/etc/spamassassin/local2.cf 

whitelist_from *@stbedes.school.nz

whitelist_from *.stbedes.school.nz



April 30, 2021

Docker Minecraft Java CurseForge RLCraft

I'm running 4 docker instances now and it needs alot of resources




---------------- curseforge/all-the-mods-6

docker run -d -it -v atm-volume:/data --name curseforge-atm \
      -p 192.168.1.11:25565:25565 \ 
      -e EULA=true \
      curseforge/all-the-mods-6
---------------- curseforge/rlcraft:2.8.2
docker run -d -it -v rlc-volume:/data --name curseforge-rlc \
      -p 192.168.1.99:25565:25565 \ 
      -e EULA=true \
      curseforge/rlcraft:2.8.2

Set them to autostart

  docker update --restart unless-stopped curseforge-atm

  docker update --restart unless-stopped curseforge-rlc

References

GitHub - curseforge-docker/modpack-servers: Project for building CurseForge minecraft modpack servers as docker images

---------------- Trying and failing using itgz/minecraft-server

PARAMETERS:  From what I was able to test, the default 1GB of RAM that is allocated won't be enough.  Recommend allocating 3 to 4GB's of RAM.  You can do this by going to Launch Options, enabling JVM Arguments, and changing "-Xmx1G" to "-Xmx4G".  My JVM Arguments looks like this:

-Xmx4G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M

apt install openjdk-8-jre-headless

docker run -d -it -v cf-volume:/data \
    -p 192.168.1.11:25565:25565 \
    -e EULA=TRUE \
    -e VERSION=1.12.2 \
    -e MEMORY=2G \
    -e TYPE=CURSEFORGE \
    -e CF_SERVER_MOD=RLCraft_Server.zip \
    --name minecraft-cf itzg/minecraft-server:java8-multiarch
    -e MANIFEST=/data/FeedTheBeast/manifest.json \
java8-multiarch

in folder /cf-volume/_data/FeedTheBeast

wget https://raw.githubusercontent.com/AllTheMods/Server-Scripts/master/ServerStart.sh 

wget https://raw.githubusercontent.com/AllTheMods/Server-Scripts/master/settings.cfg 

 

references

https://www.curseforge.com/minecraft/modpacks/rlcraft

https://www.curseforge.com/minecraft/modpacks/rlcraft/files/2935316

https://github.com/itzg/docker-minecraft-server/issues/392



April 29, 2021

Docker IPTABLES Rules

Really hard to lockdown docker instances, this is the easiest way I have found.

Permit access from LAN networks and individual IP's externally

ipset -N minecraft iphash

ipset -A minecraft 192.168.1.0/24

ipset -A minecraft 172.16.0.0/24

ipset -A minecraft 125.238.106.4 # Daniel

iptables -I DOCKER-USER -p tcp --dport 25565 -m set ! --match-set minecraft src -j DROP

iptables -I DOCKER-USER -p udp --dport 19132 -m set ! --match-set minecraft src -j DROP

This is all added to a script that runs when the interfaces come up.

iptables -L DOCKER-USER

ipset list minecraft

References:

    https://wiki.archlinux.org/index.php/Ipset
    https://vmalli.com/managing-custom-iptables-rules-on-a-debian-docker-host/

April 25, 2021

Proxmox setup notes, VM Import from ESXi6.7U2

 

Enable jumbo frames.

    Edit /etc/network/interfaces

        add "mtu 9000" to each interface


Configure APT to use the "No-Subscription" repository

    https://pve.proxmox.com/wiki/Package_Repositories#sysadmin_no_subscription_repo

Import VMWare VM's:

    https://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE#VMware_Converter

    download ovftool from vmware.com

    https://my.vmware.com/group/vmware/downloads/get-download?downloadGroup=OVFTOOL440

    shutdown the VM on esx

    run the following command to create the OVF package in the current directory

        ovftool "vi://esxdell.wjw.local/Windows 10 - Minecraft" .

    wait for a while.... 1:45-

Import the OVF into ProxMox

qm importovf 200 Windows\ 10\ -\ Minecraft/Windows\ 10\ -\ Minecraft.ovf PVE-NFS15