Project Personal Datacentre

Just made a few part swaps, due to inventory changes.

  • The Kingwin MKS-435TL’s now belong to Project Personal Datacentre (2nd node)
  • The DL580 G7 now uses a Dell EMC KTN-STL3 (as shown here) for direct-attached local storage
  • The TPM chip for the DL580 G7 has been installed, and will be used for security purposes in the future
  • The DL580 G7 will actually be keeping the GTX 1080, due to lack of compatible power cables
  • Project Personal Datacentre (2nd node) will have the Titan Xp for the foreseeable future, until I get the PCI 8+8 cable for the DL580 G7
  • The Arctic F9 PWM 92mm fans have been moved to Project Personal Datacentre (2nd node) as well

Getting ready to update parts listings to reflect this in a few…

Re-made the Linux VM, so I can do it properly this time around. Will be implementing backups this week…

Managed to remove the need for OTP-based 2FA clients like WinAuth, and am now looking into whether I can replace Ditto (and its Linux companion) with CopyQ. Time to start looking into more cross-platform applications and sync-friendly solutions in general.

Also just enabled shared clipboard and drag-n-drop for my VMs, for easier use through VMware Workstation Pro. The steps were easy enough, and now I can work a little quicker as a result.

Only thing left to do is setup proper backups for the Linux VM, so I can safely attempt the driver install for the the GRID K520…

The GRID K520 is a go. Sunshine gamestreaming server is next:

Then, Docker+Compose and Nextcloud…

Sunshine gamestreaming server will take a bit to sort out:

At least Docker+Compose is installed. Need to install and configure a Nextcloud instance soon…

A second ESXi node will be coming in the 2021/2022 transition, hopefully…

Windows 11’s requirements seem to have ditched 1st gen Threadripper, so no need to even consider a dedicated Windows machine in the future.

1 Like

Titan Z time!

3 Likes

On a less exciting note, Docker time!

1 Like

1 Like

Last note for the night, I’ve decided to replace the GRID K520 with the GTX Titan Z. Need this to work in Linux and macOS, while also being supported in Sunshine when the time comes. Can’t currently do that with the GRID K520 for some reason. Need to work that out later, when the rest of the project has caught up…

1 Like

With all of the difficulty I’ve had getting realmd installed to Artix, I’m beginning to think that I simply shouldn’t push any further with adding the VM to AD…

I’ll give it another 2 weeks before I make a decision.

1 Like

Background context: A few days ago, the GRID K520 was swapped out for the Titan Z. The Linux VM had half of the Titan Z passed through to it. However, no displays/dummy plugs were attached to it afterward.

An unexpected development for the Linux VM has occurred. While running through regular maintenance and installing updates, I decided to try running Sunshine once more (sudo sunshine). The logs kept mentioning permission denied for pulseaudio, whenever I attempted to remote in via Moonlight. In the past, running Sunshine without sudo had never worked - the attempt would always error out. But this time, it ran without error.

When I attempted to remote in, I actually made it to the desktop - and it had audio passthrough. It was streaming the same video out that the VMware adapted would show. Somehow, I can stream a screen/display that isn’t rendered by an nVIDIA card.

More Nextcloud/MariaDB troubleshooting tomorrow…

1 Like

Okay, that took a bit longer than expected. I had to tweak the DB for Nextcloud before I could attempt installation. But then, a mystery power outage struck. The UPS kicked in, giving me enough time for an emergency power-off procedure, but Nextcloud install got interrupted. So, had to go in and:

  • remove the container(s)
  • remove the container(s)'s volumes and networks
  • clear the directories I had mounted to the container(s)
  • drop and recreate/reconfig the DB
  • re-attempt installation

It went something like this in MariaDB:

DROP DATABASE nextcloud;
CREATE DATABASE nextcloud;
GRANT ALL ON nextcloud.* to 'admin'@'remotehost' IDENTIFIED BY 'password' WITH GRANT OPTION;
ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
SET GLOBAL innodb_read_only_compressed = OFF;
FLUSH PRIVILEGES;

By the time I was done, hours had past 🤣 Still have to finish configuring AD/LDAP integration tomorrow…

2 Likes

It would seem that there are still a few issues to address with the Docker setup on Artix OpenRC. I pretty much have to re-install docker, compose, and the openrc scripts after a full system upgrade at times:

sudo pacman -R docker-openrc docker-compose docker 
shutdown -r 0 
sudo pacman -S docker docker-openrc 
sudo pacman -U docker-compose.tar.zst 
sudo rc-service docker start

After that, everything else tends to be fine. Portainer and Redis run as if nothing has happened. However, Nextcloud is a different story. After a clean install and no other configuration changes, I get this whenever I attempt login:

Internal Server Error
The server was unable to complete your request.

If this happens again, please send the technical details below to the server administrator.

More details can be found in the server log.

Technical details
Remote Address: <INSERT_CLIENT_IP_HERE>
Request ID: <INSERT_NEW_REQUEST_ID_HERE>

Also need to look into backup solutions for this setup:

Time to see if the Nextcloud community can help me figure this out:

And about that push for LDAP integration

On a better note, I found a way to get Sunshine to autostart on login. Used the same solution for Syncthing and F@H as well. It’s specific to the DE that I’m using, sadly. So it won’t be useful to all Linux users following this. Only if you’re using Xfce, I think.

Rough week.

2 Likes

I recall arch stuff would break sometimes when an update occurred, especially the AUR programs and everything would be solved with a reinstall (of the broken programs, not the OS, obviously). IMO, pacman is just retarded, no matter what init / supervision suite you are using.

Wew, now that’s something unexpected. It’s docker after all… What does docker logs say on your Nextcloud container? (docker logs <container> or if you’re used to tailing logs, docker logs --tail n <container>).

2 Likes

I run a similar setup (migrated from a pretty old bare metal OwnCloud install), but without Redis, and using PostgreSQL as backend, and it’s been mostly issue-free.

If you don’t really need it you might want to try dropping Redis, if only temporarily, and see if that helps at all.

3 Likes

I have listed the logs for dockerd here:

I will need to grab nextcloud’s logs after work today.

2 Likes

I will definitely consider dropping Redis, since it’s not a requirement.

1 Like

It appears that Docker fails at:

ERRO[2021-09-20T21:27:13.996614318-04:00] failed to mount overlay: no such device storage-driver=overlay2

I’m not sure what the deal is all about with graphdriver, but I am guessing it’s more to do with the mounted volume. I would suspect that creating a new container with a new volume, the issue would be reproducible. But again, once you reinstall docker, everything goes back to normal.

I am guessing, just like before, this is an arch / pacman thing. It would be interesting if we could test and reproduce this in Arch, because again, I doubt it’s the service manager, it’s most likely the package manager that screws things up. But again, I could be wrong and I don’t have the energy to look it up.

1 Like

Alright, here’s where we are currently. Last night, I was unable to get docker daemon running automatically. Had to:

sudo dockerd

and left a Terminal window open to monitor the thing, because it couldn’t be left unattended in that state.

Ran Portainer, it was fine. Ran Nextcould, and it was still having the strange request error. I nuked the Nextcloud setup and started with a new config:

version: '3.2'
services:
    nextcloud:
        image: nextcloud:latest
        container_name: nextcloud
        restart: always
        volumes:
            - /srv/nextcloud:/var/www/html
            - /srv/nc_apps:/var/www/html/custom_apps
            - /srv/nc_config:/var/www/html/config
            - /srv/nc_data:/var/www/html/data
        ports:
            - "8080:80"
        environment:
            NEXTCLOUD_TRUSTED_DOMAINS: 10.12.8.3 artixserv.txp-network.ml
            MYSQL_HOST: '10.12.8.2'
            MYSQL_DATABASE: nextcloud
            MYSQL_USER: root

I yeeted the Redis part, just Nextcloud vanilla now. It installed without issue. Stopped and restarted the Nextcloud instance, it was fine. Restarted the Artix VM and started Nextcloud again, no issue. Had to goto bed, because it was way past midnight.

Came back tonight, and powered on the Artix VM. Docker daemon started successfully on its own, and I’m now afraid to:

sudo pacman -Syu

Portainer will most likely work just fine. But that container also autostarts and manages Nextcloud currently (custom stack). Time to see if Nextcloud will play ball.

EDIT: Nextcloud threw the same error as seen here:

It appears to be solely an issue with the Nextcloud instance now. Restarting the Artix VM also had no effect on the functionality of the current setup. It doesn’t appear to be Artix that’s the issue at this point. I’ve created a new compose file once more, because why not:

version: '3.2'
services:
    nextcloud:
        image: nextcloud:latest
        container_name: nextcloud
        restart: always
        volumes:
            - /srv/nextcloud/html:/var/www/html
            - /srv/nextcloud/apps:/var/www/html/custom_apps
            - /srv/nextcloud/config:/var/www/html/config
            - /srv/nextcloud/data:/var/www/html/data
        ports:
            - "8080:80"
        environment:
            NEXTCLOUD_TRUSTED_DOMAINS: 10.12.8.3 artixserv.txp-network.ml
            MYSQL_HOST: '10.12.8.2'
            MYSQL_DATABASE: nextcloud
            MYSQL_USER: root

The compose file isn’t really where the difference lies in the approach though. I’m gonna be targeting the MariaDB backend from here on. This is because when I shutdown and bring back up the VM host (ESXi), I also am rebooting the MariaDB host - which would kill any non-persistent settings every time it returns. I also know for a fact that the MariaDB backend is the one consistent factor between all of my recent test runs. I use the same commands to setup the DB:

DROP DATABASE nextcloud;
CREATE DATABASE nextcloud;
GRANT ALL ON nextcloud.* to 'admin'@'remotehost' IDENTIFIED BY 'password' WITH GRANT OPTION;
ALTER DATABASE nextcloud CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
SET GLOBAL innodb_read_only_compressed = OFF;
FLUSH PRIVILEGES;

And these commands work for initial runtime, which means that there should be no major issues in how the DB was initially setup. I know the nextcloud DB and its tables aren’t disappearing every time I reboot the VM server, because I have to drop the DB (btw it has ~107 lines/rows initially - memorised that from the thousands of install attempts) every time I nuke and remake Nextcloud (a pain in the @$$). I also know that Character set and Collation should be persistent, so I won’t be focusing on those either. I’m targeting this one:

SET GLOBAL innodb_read_only_compressed = OFF;

I’m not so sure if this setting is persistent on reboots. Only one way to test this. I’ll be back tomorrow with an update. Otherwise, File Run may get another shot at the remote file storage role…

1 Like