Note: these Notes are pretty incomplete, because Ada did everything and I'm just trying to understand lol
Setting up everything with Ada today. Since I forgot to include a hole for the on button in the case I built, we are setting the machine to automatically turn on when plugged in. That way I can remove the button altogether. We do this in the BIOS: Advanced > Embedded Controller > Power Fail Resume Type to always on.
The Wifi Bridge works perfectly. It's not as fast as built in wifi, but works out of the box with a switch, which is great.
We are going to set up the server from scratch today, running Alpine Linux. On this we will install Visual Studio Code, so we have a comfortable environment to work in, then a VPN/Docker network, and something like Grav. Ada will guide me through it because I only understand these things in theory lol.
We start by installing all the services we want on docker on Ubuntu, save the compose files, and then try to install everything with (more or less) one command on alpine linux.
We are going for an Alpine data install. That means there is a directory (/var) which is persistent, it doesn't just exist in RAM/is mounted as read-only like in a regular install. For all the docker containers we will use this directory to store important files. This way, even if the power goes out, the files are saved.
Ada uncommented the apk community repository in /etc/apk/repositories, this lets us install more experimental apps, and added tags to them. For example things developed by the community
Things we added to fresh Alpine install
Alpine Linux is setup. It was a bit of a fight lol. We start by installing docker and creating the docker network "the stack". We added this to all the docker compose files. All the containers in this network can communicate with each other using their host names.
#install docker
apk add docker
lbu commit
#enable controlling docker from non-root user account
adduser $USER docker
#start docker on boot, and start it now
rc-update add docker
rc-service docker start
#create the network!
docker network create theStack
Once it's done, we continue with docker compose. This sets up all the apps we configured in the docker compose files before. For now we set up nginx (as a reverse proxy), visual studio code (which gives us a super nice way to modify the system afterwards), pydio cells (as a potential nextcloud replacement) and Grav (to host a website). We navigate to the docker-compose file and enter:
docker-compose up -d
We then set up nginx. It runs on port 81. I set up a user account, using
(redacted)
I also added an access list entry for:
(redacted)
This basically lets me password protect something like VS Code (which has access to all the data on the machine more or less).
Using the token set up in the VSCode docker compose file, i can now access VS Code in my local network over port 3000!
Ada also installed wireguard. And also I created a Zerotier network.
We tried to do the port fowarding thing, but cannot SSH into the pub server lol. We will use the mokumkraakt server instead (which is much cooler anyway)...
And then it all got really difficult. We never managed to SSH into that server, and tried to set up port forwarding ourselves, but it never worked. Very frustrating evening of trying to adjust several layers of proxy servers. We gave up for today. Argh.