Compare commits

...

23 Commits

Author SHA1 Message Date
Matthew Tran 35036f8c03 update p2pool v4.16 2026-06-13 15:21:43 -07:00
Matthew Tran 20bc259f26 lots of uprevs 2026-06-07 00:34:42 -07:00
Matthew Tran fe2258b0e7 move more stuff to flatpak 2026-01-24 22:17:26 -08:00
Matthew Tran ae5ffa9a4a add flatpak too 2026-01-23 19:14:59 -08:00
Matthew Tran 71988b74ff add chromium too 2026-01-23 05:09:49 -08:00
Matthew Tran cdbacd6edd add sway too 2026-01-23 03:35:25 -08:00
Matthew Tran 0fa04ef46f add weston support 2026-01-23 02:28:53 -08:00
Matthew Tran 542d653d17 up minecraft to 16G 2026-01-04 22:25:31 -08:00
Matthew Tran d1a1e3fbe1 disable hardcore for the pabs 2026-01-03 20:00:23 -08:00
Matthew Tran 09ba7b2fdf update tmodloader v2025.11.3.0 and p2pool v4.13 2026-01-02 20:52:17 -08:00
Matthew Tran 251144832f update minecraft 1.21.11 2025-12-27 21:13:45 -08:00
Matthew Tran ed640ab69c update monerod v0.18.4.4 and p2pool v4.12 2025-12-04 04:54:52 -08:00
Matthew Tran 263698ad8a update tmodloader v2025.08.3.1 2025-10-01 01:12:18 -07:00
Matthew Tran 150e04c571 update monerod v0.18.4.2 and p2pool v4.10.1 2025-09-19 00:16:17 -07:00
Matthew Tran 32543c6b20 update tmodloader v2025.07.3.0 2025-09-01 00:51:51 -07:00
Matthew Tran b75fe2879a disable secure due to false positives 2025-08-20 23:57:52 -07:00
Matthew Tran 1f04cf13e9 update monerod v0.18.4.1 and p2pool v4.9 2025-08-13 05:01:43 -07:00
Matthew Tran e058e70685 update tmodloader v2025.06.3.0 2025-08-03 00:00:44 -07:00
Matthew Tran 9b45cea6fd update tmodloader v2025.05.3.0 2025-07-03 23:38:41 -07:00
Matthew Tran fe689df277 update minecraft 1.21.7 2025-07-03 22:31:24 -07:00
Matthew Tran 0c30c0c9a5 update p2pool v4.8.1 2025-06-28 19:02:05 -07:00
Matthew Tran d0b5a94a3a update minecraft 1.21.6 2025-06-18 21:46:29 -07:00
Matthew Tran 7df0c2a004 update p2pool v4.7 2025-06-01 16:49:32 -07:00
17 changed files with 93 additions and 39 deletions
+49 -3
View File
@@ -17,6 +17,7 @@ UIDS = {
"crypto" : 1002, "crypto" : 1002,
"game" : 1003, "game" : 1003,
"nas" : 1004, "nas" : 1004,
"tv" : 1005,
} }
PORTS = { PORTS = {
@@ -41,6 +42,7 @@ PORTS = {
"nas": [ "nas": [
"445:445", # nas "445:445", # nas
], ],
"tv": [],
} }
def check_keys(): def check_keys():
@@ -142,10 +144,9 @@ def add_more_drive():
}) })
def add_packages(): def add_packages():
# TODO update once done https://github.com/coreos/fedora-coreos-tracker/issues/681
but["systemd"] = { but["systemd"] = {
"units": [ "units": [
{ { # TODO update once done https://github.com/coreos/fedora-coreos-tracker/issues/681
"name": "rpm-ostree-install.service", "name": "rpm-ostree-install.service",
"enabled": True, "enabled": True,
"contents": "\n".join([ "contents": "\n".join([
@@ -158,12 +159,17 @@ def add_packages():
"[Service]", "[Service]",
"Type=oneshot", "Type=oneshot",
"RemainAfterExit=yes", "RemainAfterExit=yes",
f"ExecStart=/usr/bin/usermod -a -G {",".join(UIDS.keys())} core", f"ExecStart=/usr/bin/usermod -aG {",".join(UIDS.keys())} core",
"ExecStart=/usr/bin/rpm-ostree install -y --allow-inactive " + " ".join([ "ExecStart=/usr/bin/rpm-ostree install -y --allow-inactive " + " ".join([
"alsa-utils",
"avahi", "avahi",
"flatpak",
"htop", "htop",
"python3", "python3",
"seatd",
"sway",
"tmux", "tmux",
"usbutils",
"vim", "vim",
"zip", "zip",
]), ]),
@@ -173,6 +179,33 @@ def add_packages():
"WantedBy=multi-user.target", "WantedBy=multi-user.target",
]), ]),
}, },
{ # TODO update once done https://github.com/coreos/rpm-ostree/issues/49
"name": "tv-setup.service",
"enabled": True,
"contents": "\n".join([
"[Unit]",
"Description=Post package install setup",
"Wants=network-online.target",
"After=network-online.target",
"ConditionPathExists=/etc/rpm/rpm-ostree-install.stamp",
"ConditionPathExists=!/etc/rpm/%N.stamp",
"[Service]",
"Type=oneshot",
"RemainAfterExit=yes",
"ExecStart=/usr/bin/sh -c 'grep -E \"^(audio|seat|video):\" /usr/lib/group >> /etc/group'",
"ExecStart=/usr/bin/usermod -aG audio,seat,video tv",
"ExecStart=/usr/bin/systemctl enable --now seatd",
"ExecStart=flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo",
"ExecStart=flatpak install -y " + " ".join([
"com.brave.Browser",
"org.mozilla.firefox",
"com.valvesoftware.SteamLink",
]),
"ExecStart=/bin/touch /etc/rpm/%N.stamp",
"[Install]",
"WantedBy=multi-user.target",
]),
},
], ],
} }
@@ -201,6 +234,14 @@ def allow_port_access():
"contents": { "inline": "net.ipv4.ip_unprivileged_port_start=80" }, "contents": { "inline": "net.ipv4.ip_unprivileged_port_start=80" },
}) })
def allow_nouveau():
but["storage"]["files"].append({
"path": "/etc/modprobe.d/blacklist-nouveau.conf",
"mode": 0o644,
"overwrite": True,
"contents": { "inline": "" }
})
def add_users(): def add_users():
for user in UIDS: for user in UIDS:
but["passwd"]["users"].append({ but["passwd"]["users"].append({
@@ -212,6 +253,10 @@ def add_users():
"path": f"/var/lib/systemd/linger/{user}", "path": f"/var/lib/systemd/linger/{user}",
"contents": { "inline": "" }, "contents": { "inline": "" },
}) })
if user == "tv":
but["passwd"]["users"][-1]["password_hash"] = subprocess.run(
["docker", "run", "-it", "--rm", "quay.io/coreos/mkpasswd", "--method=yescrypt", cfg["core"]["tv_passwd"]],
capture_output=True, text=True, check=True).stdout.strip()
def copy_source(): def copy_source():
but["storage"]["directories"].append({ but["storage"]["directories"].append({
@@ -372,6 +417,7 @@ if __name__ == "__main__":
add_ssh_keys() add_ssh_keys()
set_hostname() set_hostname()
allow_port_access() allow_port_access()
allow_nouveau()
# server setup # server setup
add_users() add_users()
+2 -1
View File
@@ -6,7 +6,8 @@
], ],
"stash_key": "<LUKS key>", "stash_key": "<LUKS key>",
"stash_wipe": false, "stash_wipe": false,
"data_dir": "/var/home/core/matthewtrancom_data" "data_dir": "/var/mnt/stash/data",
"tv_passwd": "password"
}, },
"drives": [ "drives": [
{ {
+8 -6
View File
@@ -23,6 +23,7 @@ IMAGES = {
"nas": [ "nas": [
"nas", "nas",
], ],
"tv": [],
} }
def generate(cfg): def generate(cfg):
@@ -85,16 +86,17 @@ if __name__ == "__main__":
# run builds # run builds
for user in IMAGES: for user in IMAGES:
if not IMAGES[user]:
continue
print(f"building images for {user}...") print(f"building images for {user}...")
run([f"cd {SOURCE_DIR}"] + [ run([f"cd {SOURCE_DIR}"] + [
f"sudo -u {user} podman build --tag {i} {SOURCE_DIR}/{i}" f"podman build --tag {i} {SOURCE_DIR}/{i}"
for i in IMAGES[user] for i in IMAGES[user]
]) ], user=user)
# restart pods # restart pods
for user in IMAGES: for user in IMAGES:
if not IMAGES[user]:
continue
print(f"restarting pod for {user}...") print(f"restarting pod for {user}...")
run([ run([f"systemctl --user restart {user}-pod " + " ".join(IMAGES[user])], user=user)
f"cd {SOURCE_DIR}",
f"sudo systemctl --machine={user}@.host --user restart {user}-pod " + " ".join(IMAGES[user]),
])
+1 -1
View File
@@ -1 +1 @@
FROM docker.io/gitea/gitea:1.23.7 FROM docker.io/gitea/gitea:1.26.2
+5 -5
View File
@@ -1,16 +1,16 @@
FROM ubuntu:24.04 FROM ubuntu:26.04
RUN apt-get update && apt-get -y upgrade RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y wget openjdk-21-jre RUN apt-get install -y wget openjdk-25-jre
WORKDIR /root WORKDIR /root
# from https://github.com/itzg/rcon-cli # from https://github.com/itzg/rcon-cli
RUN wget -O rcon-cli.tar.gz https://github.com/itzg/rcon-cli/releases/download/1.7.0/rcon-cli_1.7.0_linux_amd64.tar.gz RUN wget -O rcon-cli.tar.gz https://github.com/itzg/rcon-cli/releases/download/1.7.5/rcon-cli_1.7.5_linux_amd64.tar.gz
RUN tar xvf rcon-cli.tar.gz && rm rcon-cli.tar.gz RUN tar xvf rcon-cli.tar.gz && rm rcon-cli.tar.gz
# from https://www.minecraft.net/en-us/download/server (currently 1.21.5) # from https://www.minecraft.net/en-us/download/server (currently 26.1.2)
RUN wget https://piston-data.mojang.com/v1/objects/e6ec2f64e6080b9b5d9b471b291c33cc7f509733/server.jar RUN wget https://piston-data.mojang.com/v1/objects/97ccd4c0ed3f81bbb7bfacddd1090b0c56f9bc51/server.jar
COPY entry.sh ./ COPY entry.sh ./
COPY eula.txt ./ COPY eula.txt ./
+1 -1
View File
@@ -6,6 +6,6 @@ cleanup() {
trap 'cleanup' SIGTERM SIGINT trap 'cleanup' SIGTERM SIGINT
java -Xmx1024M -Xms1024M -jar server.jar nogui & java -Xmx16G -Xms16G -jar server.jar nogui &
wait $! # wait for SIGTERM wait $! # wait for SIGTERM
wait $! # wait for server to stop wait $! # wait for server to stop
+1 -1
View File
@@ -16,7 +16,7 @@ function-permission-level=2
gamemode=spectator gamemode=spectator
generate-structures=true generate-structures=true
generator-settings={} generator-settings={}
hardcore=true hardcore=false
hide-online-players=false hide-online-players=false
initial-disabled-packs= initial-disabled-packs=
initial-enabled-packs=vanilla initial-enabled-packs=vanilla
+3 -3
View File
@@ -1,12 +1,12 @@
FROM ubuntu:24.04 FROM ubuntu:26.04
RUN apt-get update && apt-get -y upgrade RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y wget unzip curl tmux RUN apt-get install -y wget unzip curl tmux
WORKDIR /root WORKDIR /root
# from https://www.minecraft.net/en-us/download/server/bedrock (currently 1.21.82.1) # from https://www.minecraft.net/en-us/download/server/bedrock (currently 1.26.23.1)
RUN wget -O server.zip --user-agent "Mozilla/5.0" https://www.minecraft.net/bedrockdedicatedserver/bin-linux/bedrock-server-1.21.82.1.zip RUN wget -O server.zip --user-agent "Mozilla/5.0" https://www.minecraft.net/bedrockdedicatedserver/bin-linux/bedrock-server-1.26.23.1.zip
RUN unzip server.zip && rm server.zip RUN unzip server.zip && rm server.zip
COPY entry.sh ./ COPY entry.sh ./
+4 -4
View File
@@ -1,14 +1,14 @@
FROM ubuntu:24.04 FROM ubuntu:26.04
RUN apt-get update && apt-get -y upgrade RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y wget bzip2 RUN apt-get install -y wget bzip2
WORKDIR /root WORKDIR /root
# currently v0.18.4.0 # currently v0.18.5.0
RUN wget -O monerod.tar.bz2 https://downloads.getmonero.org/cli/monero-linux-x64-v0.18.4.0.tar.bz2 RUN wget -O monerod.tar.bz2 https://downloads.getmonero.org/cli/monero-linux-x64-v0.18.5.0.tar.bz2
RUN tar xvf monerod.tar.bz2 && rm monerod.tar.bz2 RUN tar xvf monerod.tar.bz2 && rm monerod.tar.bz2
RUN mv monero-x86_64-linux-gnu-v0.18.4.0 monero RUN mv monero-x86_64-linux-gnu-v0.18.5.0 monero
COPY entry.sh ./ COPY entry.sh ./
+1 -1
View File
@@ -17,5 +17,5 @@ cleanup() {
monero/monerod exit --rpc-bind-port 18089 monero/monerod exit --rpc-bind-port 18089
} }
trap 'cleanup' SIGTERM SIGINT trap 'cleanup' SIGTERM SIGINT
tail -f /dev/null & sleep infinity &
wait $! wait $!
+1 -1
View File
@@ -1,4 +1,4 @@
FROM ubuntu:24.04 FROM ubuntu:26.04
ENV TZ=America/Los_Angeles ENV TZ=America/Los_Angeles
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
+1 -1
View File
@@ -2,5 +2,5 @@
smbd -s smb.conf smbd -s smb.conf
trap 'echo "stopping smbd..."' SIGTERM SIGINT trap 'echo "stopping smbd..."' SIGTERM SIGINT
tail -f /dev/null & sleep infinity &
wait $! wait $!
+4 -4
View File
@@ -1,14 +1,14 @@
FROM ubuntu:24.04 FROM ubuntu:26.04
RUN apt-get update && apt-get -y upgrade RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y wget RUN apt-get install -y wget
WORKDIR /root WORKDIR /root
# currently v4.6 # currently v4.16
RUN wget -O p2pool.tar.gz https://github.com/SChernykh/p2pool/releases/download/v4.6/p2pool-v4.6-linux-x64.tar.gz RUN wget -O p2pool.tar.gz https://github.com/SChernykh/p2pool/releases/download/v4.16/p2pool-v4.16-linux-x64.tar.gz
RUN tar xvf p2pool.tar.gz && rm p2pool.tar.gz RUN tar xvf p2pool.tar.gz && rm p2pool.tar.gz
RUN mv p2pool-v4.6-linux-x64/p2pool ./p2pool RUN mv p2pool-v4.16-linux-x64/p2pool ./p2pool
COPY entry.sh ./ COPY entry.sh ./
+9 -4
View File
@@ -1,12 +1,17 @@
FROM ubuntu:24.04 FROM ubuntu:26.04
RUN apt-get update && apt-get -y upgrade RUN apt-get update && apt-get -y upgrade
RUN apt-get install -y wget unzip python3 iproute2 dotnet-runtime-8.0 RUN apt-get install -y wget unzip python3 iproute2
# .NET 8.0 not available by default in 26.04
RUN apt-get install -y software-properties-common
RUN add-apt-repository ppa:dotnet/backports
RUN apt-get install -y dotnet-runtime-8.0
WORKDIR /root WORKDIR /root
# from https://github.com/tModLoader/tModLoader/releases (currently v2025.03.3.1) # from https://github.com/tModLoader/tModLoader/releases (currently v2026.04.3.0)
RUN wget https://github.com/tModLoader/tModLoader/releases/download/v2025.03.3.1/tModLoader.zip RUN wget https://github.com/tModLoader/tModLoader/releases/download/v2026.04.3.0/tModLoader.zip
RUN unzip tModLoader.zip -d server && rm tModLoader.zip RUN unzip tModLoader.zip -d server && rm tModLoader.zip
RUN chmod +x server/start-tModLoaderServer.sh RUN chmod +x server/start-tModLoaderServer.sh
+1 -1
View File
@@ -4,7 +4,7 @@ worldname=poopy
# server options # server options
motd=poopy motd=poopy
worldpath=/data/worlds worldpath=/data/worlds
secure=1 secure=0
# tmodloader options # tmodloader options
modpath=/data/mods modpath=/data/mods
+1 -1
View File
@@ -1,4 +1,4 @@
FROM ubuntu:24.04 FROM ubuntu:26.04
# install dependencies # install dependencies
ENV TZ=America/Los_Angeles ENV TZ=America/Los_Angeles
+1 -1
View File
@@ -24,5 +24,5 @@ python3 ip.py &
# run server # run server
nginx -c ~/server.conf nginx -c ~/server.conf
trap 'echo "stopping website..."' SIGTERM SIGINT trap 'echo "stopping website..."' SIGTERM SIGINT
tail -f /dev/null & sleep infinity &
wait $! wait $!