Use a full entrypoint instead of a runAsRoot script for minecraft

This needs to be done because the server does not support qemu, and
NixOS requires qemu to use the runAsRoot feature for docker images.

Instead, create the required files as part of the entrypoint.

Fixes #6
pull/14/head
Tristan Daniël Maat 2020-07-27 18:05:19 +01:00
parent 240bad3a6f
commit c434f513cd
Signed by: tlater
GPG Key ID: 49670FD774E43268
1 changed files with 9 additions and 6 deletions

View File

@ -1,6 +1,14 @@
{ pkgs, ... }:
let
entrypoint = pkgs.writeScript "entrypoint.sh" ''
#!${pkgs.bash}/bin/bash
${pkgs.busybox}/bin/mkdir -p /var/lib/
${pkgs.gzip}/bin/gzip -dc ${./configs/minecraft.tar.gz} | ${pkgs.gnutar}/bin/tar -xf - -C /var/lib
echo 'eula=true' > /var/lib/minecraft/eula.txt
cp -f ${properties} /var/lib/minecraft
$@
'';
ops = pkgs.writeText "ops.json" (builtins.toJSON [
{
uuid = "140d177a-966f-41b8-a4c0-e305babd291b";
@ -72,13 +80,8 @@ in
imageFile = pkgs.dockerTools.buildImage {
name = "tlaternet/minecraft";
tag = "latest";
runAsRoot = ''
mkdir -p /var/lib/
${pkgs.gzip}/bin/gzip -dc ${./configs/minecraft.tar.gz} | ${pkgs.gnutar}/bin/tar -xf - -C /var/lib
echo 'eula=true' > /var/lib/minecraft/eula.txt
cp -f ${properties} /var/lib/minecraft
'';
config = {
Entrypoint = [ "${entrypoint}" ];
Cmd = [ "${pkgs.jre_headless}/bin/java"
"-Xms2G"
"-Xmx2G"