hexparrot / mineos-docker Goto Github PK
View Code? Open in Web Editor NEWDockerfiles for MineOS Images
License: BSD 2-Clause "Simplified" License
Dockerfiles for MineOS Images
License: BSD 2-Clause "Simplified" License
It seems that only amd64 is currently supported. Now that the Raspberry Pi 4 with its 4GB of RAM can make a decent Minecraft server, it would be cool to have a Docker compatible with ARM architectures.
Any chance of getting an updated docker image for the latest ubuntu version?
Hey, I run the latest Docker image without any issue, but I would like to add several users, so my friends are able to add and manage their servers plus me being able to manage all. Using the non-docker installation I could just add normal users and do custom groups to assign servers to them, but how is this supposed to be done using the Docker?
Is npm installed by node ?
because I've got this:
The following packages have unmet dependencies: npm : Depends: nodejs but it is not going to be installed Depends: node-abbrev (>= 1.0.4) but it is not going to be installed Depends: node-ansi (>= 0.3.0-2) but it is not going to be installed Depends: node-ansi-color-table but it is not going to be installed Depends: : node-ansi-color-table but it is not going to be installed Depends: node-archy but it is not going to be installed Depends: node-block-stream but it is not going to be installed Depends: node-fstream (>= 0.1.22) but it is not going to be installed Depends: node-fstream-ignore but it is not going to be installed Depends: node-github-url-from-git but it is not going to be installed Depends: node-glob (>= 3.1.21) but it is not going to be installed Depends: node-graceful-fs (>= 2.0.0) but it is not going to be installed Depends: node-inherits but it is not going to be installed Depends: node-ini (>= 1.1.0) but it is not going to be installed Depends: node-lockfile but it is not going to be installed Depends: node-lru-cache (>= 2.3.0) but it is not going to be installed Depends: node-minimatch (>= 0.2.11) but it is not going to be installed Depends: node-mkdirp (>= 0.3.3) but it is not going to be installed Depends: node-gyp (>= 0.10.9) but it is not going to be installed Depends: node-nopt (>= 3.0.1) but it is not going to be installed Depends: node-npmlog but it is not going to be installed Depends: node-once but it is not going to be installed Depends: node-osenv but it is not going to be installed Depends: node-read but it is not going to be installed Depends: node-read-package-json (>= 1.1.0) but it is not going to be installed Depends: node-request (>= 2.25.0) but it is not going to be installed Depends: node-retry but it is not going to be installed Depends: node-rimraf (>= 2.2.2) but it is not going to be installed Depends: node-semver (>= 2.1.0) but it is not going to be installed Depends: node-sha but it is not going to be installed Depends: node-slide but it is not going to be installed Depends: node-tar (>= 0.1.18) but it is not going to be installed Depends: node-underscore but it is not going to be installed Depends: node-which but it is not going to be installed E: Unable to correct problems, you have held broken packages.
that was with apt-get install npm
And I've updated node.js in my container and when I tried to run reset_webui.sh I've got this:
Updating mineos-node repository...OK Checking out master branch...Already on 'master' OK Resetting directory to official contents...OK Deleting npm module dependencies and rebuilding...npm WARN engine [email protected]: wanted: {"node":">=5"} (current: {"node":"4.5.0","npm":"2.15.9"}) npm WARN deprecated [email protected]: ReDoS vulnerability parsing Set-Cookie https://nodesecurity.io/advisories/130 npm WARN deprecated [email protected]: to-iso-string has been deprecated, use @segment/to-iso-string instead. npm WARN deprecated [email protected]: Jade has been renamed to pug, please install the latest version of pug instead of jade npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue npm WARN deprecated [email protected]: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue OK Setting node javascript files to executable...OK Script execution ended on: Sat Aug 20 22:28:16 UTC 2016 root@72b34d72f549:/usr/games/minecraft# ./update_webui.sh
If you attempt to restart an already once-started container, it will re-run the entrypoint.sh script. This fails (for me) when attempting to re-add the "mc" user as it's already there, outputting:
useradd: user 'mc' already exists
Do you want a PR to make the scripts idempotent?
hexparrot,
Any chance we could get this container to enable SSH access for transferring of plugins and editing files? I'm currently running this container on unRaid and they share all user share over SMB under nobody:nogroup. This makes those files and directories inaccessible that way.
i get the docker loaded and running but it stops responding almost immediately.
Hi,
So as you asked me to do I've open an issue for the update of the UI since you didn't put anything as automatic job for updating the commit of the webui.
First maybe at the end of your dockerfile:
do a chmod +x to reset_webui.sh and update.webui.sh (not sur of the name anymore) because they are actually not executables.
make a shell script :
`#!/bin/bash
supervisorctl stop mineos
reset_webui.sh
update_webui.sh
supervisorctl start mineos`
then also create a cronjob in /etc/daily:
with something like 1 * * * * shellscript
but of course I don't what you put exactly in those script since I'm not an expert in shellscripting.
What do you think?
Minor suggestion - the container on Dockerhub hexparrot/mineos is fairly out of date (it has commit d9a604b from hexparrot/mineos-node). Just suggesting you add a webhook to cause pushes to hexparrot/mineos-node to trigger rebuilds on Dockerhub
https://github.com/hexparrot/mineos-node/settings/hooks/new
https://docs.docker.com/docker-hub/builds/#remote-build-triggers
docker run -itd -p 8443:8443 -p 25565:25565 -e USER_PASSWORD=mypass -v /var/games/minecraft:/var/games/minecraft hexparrot/mineos:latest
I ran this but with a different password. No matter what i try i get this error.
docker: Error response from daemon: error while creating mount source path '/var/games/minecraft': mkdir /var/games: read-only file system.
@docker:/media/DOCK/docker/mineos-docker/debian-jessie$ docker build . -t mineos
Sending build context to Docker daemon 5.12 kB
Step 1 : FROM debian:jessie
---> 031143c1c662
Step 2 : MAINTAINER William Dizon <[email protected]>
---> Using cache
---> cae961a2994b
Step 3 : RUN echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list
---> Using cache
---> 33ff29312e57
Step 4 : RUN apt-get update && apt-get install -y supervisor rdiff-backup screen openjdk-8-jre-headless rsync git curl rlwrap && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
---> Using cache
---> 718b224a033c
Step 5 : RUN curl https://deb.nodesource.com/node_4.x/pool/main/n/nodejs/nodejs_4.3.1-1nodesource1~jessie1_amd64.deb > node.deb && dpkg -i node.deb && rm node.deb
---> Using cache
---> 1d9b18516ff6
Step 6 : RUN mkdir /usr/games/minecraft && cd /usr/games/minecraft && git clone --depth=1 https://github.com/hexparrot/mineos-node.git . && cp mineos.conf /etc/mineos.conf && chmod +x webui.js mineos_console.js service.js
---> Using cache
---> 524d58ea9980
Step 7 : RUN cd /usr/games/minecraft && apt-get update && apt-get install -y build-essential && npm install && apt-get remove --purge -y build-essential && apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
---> Using cache
---> 2e90766131d8
Step 8 : RUN cp /usr/games/minecraft/init/supervisor_conf /etc/supervisor/conf.d/mineos.conf
---> Using cache
---> e86f2b4204d3
Step 9 : CMD /usr/bin/supervisord -n -c /etc/supervisor/supervisord.conf
---> Using cache
---> f9d789782c32
Step 10 : COPY entrypoint.sh /entrypoint.sh
stat /var/lib/docker/aufs/mnt/e895447807c904e256441a34b9847ae346548324822eed545f65b8a8d67a427d/entrypoint.sh: no such file or directory
It looks like this repo is not in use/the source of the public image is actually: https://github.com/hexparrot/mineos-node
Should this repo be marked as archived/the readme updated to point users to the proper repo?
Working to get your images setup to work with FreeNAS Corral docker environment. It should work the same ... which leads me to believe there may be an issue with your most recent dockerfile.
I setup automated docker build using a minimally modified version of your dockerfile as base image...
I just added some additional packages and planning to enable ssh.
https://github.com/educatedwarrior/mineos-docker/blob/master/ubuntu-wily/Dockerfile
https://hub.docker.com/r/educatedwarrior/freenas-mineos
Getting error
exited: mineos (exit status 1; not expected)
Tested on images:
hexparrot/mineos:node-jessie
hexparrot/mineos:node-wily
Reproduce:
mc
user and download Mojang 1.12.2
profileNew Server
using defaultsServer Status
set Memory Allocation
, Profile
, runnable Jar
and accept EULAResult:
{"command":"start","uuid":"03a0b840-687f-11e8-ac21-2dd8d65d5dd9","time_initiated":1528175536580,"success":false,"err":1,"time_resolved":1528175537181,"level":"error","message":"[test] command \"start\" errored out:","timestamp":"2018-06-05T05:12:17.182Z"}
Notes:
su mc --shell /bin/bash
then execute the jar from the server's directory under /var/games/minecraft/servers/
the minecraft server starts.Full Log:
{"level":"info","message":"Starting up server, using commit: 878043b changed memfree to memavailable in webui\n","timestamp":"2018-06-05T05:03:30.306Z"}
{"level":"info","message":"[WEBUI] mc connected from 10.0.0.2","timestamp":"2018-06-05T05:10:14.217Z"}
{"level":"info","message":"[WEBUI] Downloading official profiles.","timestamp":"2018-06-05T05:10:14.371Z"}
{"profile":{"id":"1.12.2","time":"2018-05-25T15:20:02+00:00","releaseTime":"2017-09-18T08:39:46+00:00","type":"release","group":"mojang","webui_desc":"Official Mojang Jar","weight":0,"downloaded":false,"filename":"minecraft_server.1.12.2.jar","version":"1.12.2","release_version":"1.12.2","url":"https://s3.amazonaws.com/Minecraft.Download/versions/1.12.2/minecraft_server.1.12.2.jar","$$hashKey":"object:202"},"command":"download","level":"info","message":"[WEBUI] Received emit command from 10.0.0.2:mc","timestamp":"2018-06-05T05:10:28.159Z"}
{"level":"info","message":"[WEBUI] Downloading official profiles.","timestamp":"2018-06-05T05:10:33.605Z"}
{"command":"create","server_name":"test","properties":{"generate-structures":true,"difficulty":"2","gamemode":"0"},"level":"info","message":"[WEBUI] Received emit command from 10.0.0.2:mc","timestamp":"2018-06-05T05:11:43.066Z"}
{"level":"info","message":"[test] Discovered server","timestamp":"2018-06-05T05:11:43.073Z"}
{"level":"error","message":"[test] Create tail on logs/latest.log failed","timestamp":"2018-06-05T05:11:43.077Z"}
,"timestamp":"2018-06-05T05:11:43.077Z"}
{"level":"error","message":"[test] Create tail on server.log failed","timestamp":"2018-06-05T05:11:43.078Z"}
{"level":"info","message":"[test] Watching for file generation: server.log","timestamp":"2018-06-05T05:11:43.078Z"}
{"level":"error","message":"[test] Create tail on proxy.log.0 failed","timestamp":"2018-06-05T05:11:43.078Z"}
{"level":"info","message":"[test] Watching for file generation: proxy.log.0","timestamp":"2018-06-05T05:11:43.078Z"}
{"level":"error","message":"[test] Create tail on logs/fml-server-latest.log failed","timestamp":"2018-06-05T05:11:43.079Z"}
{"level":"info","message":"[test] Watching for file generation: logs/fml-server-latest.log","timestamp":"2018-06-05T05:11:43.079Z"}
{"level":"info","message":"[test] Using skipDirEntryPatterns: world,world_the_end,world_nether,dynmap,plugins,web,logs,region,playerdata,stats,data","timestamp":"2018-06-05T05:11:43.079Z"}
{"level":"info","message":"[test] mc (10.0.0.2) joined server namespace","timestamp":"2018-06-05T05:11:43.118Z"}
{"level":"info","message":"[test] Server created in filesystem.","timestamp":"2018-06-05T05:11:43.145Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"modify_sc\"","timestamp":"2018-06-05T05:11:50.098Z"}
018-06-05T05:11:50.101Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"modify_sc\"","timestamp":"2018-06-05T05:11:51.927Z"}
{"level":"info","message":"[test] received request \"modify_sc\"","timestamp":"2018-06-05T05:11:51.928Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"modify_sc\"","timestamp":"2018-06-05T05:12:02.084Z"}
{"level":"info","message":"[test] received request \"modify_sc\"","timestamp":"2018-06-05T05:12:02.085Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"modify_sc\"","timestamp":"2018-06-05T05:12:07.138Z"}
{"level":"info","message":"[test] received request \"modify_sc\"","timestamp":"2018-06-05T05:12:07.139Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"modify_sc\"","timestamp":"2018-06-05T05:12:11.827Z"}
{"level":"info","message":"[test] received request \"modify_sc\"","timestamp":"2018-06-05T05:12:11.828Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"accept_eula\"","timestamp":"2018-06-05T05:12:14.443Z"}
{"level":"info","message":"[test] received request \"accept_eula\"","timestamp":"2018-06-05T05:12:14.443Z"}
{"level":"info","message":"[test] eula.txt detected: ACCEPTED (eula=true)","timestamp":"2018-06-05T05:12:14.900Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"start\"","timestamp":"2018-06-05T05:12:16.580Z"}
{"level":"info","message":"[test] received request \"start\"","timestamp":"2018-06-05T05:12:16.580Z"}
{"command":"start","uuid":"03a0b840-687f-11e8-ac21-2dd8d65d5dd9","time_initiated":1528175536580,"success":false,"err":1,"time_resolved":1528175537181,"level":"error","message":"[test] command \"start\" errored out:","timestamp":"2018-06-05T05:12:17.182Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"start\"","timestamp":"2018-06-05T05:12:55.036Z"}
{"level":"info","message":"[test] received request \"start\"","timestamp":"2018-06-05T05:12:55.037Z"}
{"command":"start","uuid":"1a8ca3c0-687f-11e8-ac21-2dd8d65d5dd9","time_initiated":1528175575036,"success":false,"err":1,"time_resolved":1528175575553,"level":"error","message":"[test] command \"start\" errored out:","timestamp":"2018-06-05T05:12:55.553Z"}
{"command":"refresh_server_list","level":"info","message":"[WEBUI] Received emit command from 10.0.0.2:mc","timestamp":"2018-06-05T05:13:23.381Z"}
{"redownload":true,"command":"refresh_profile_list","level":"info","message":"[WEBUI] Received emit command from 10.0.0.2:mc","timestamp":"2018-06-05T05:13:26.504Z"}
{"level":"info","message":"[WEBUI] Downloading official profiles.","timestamp":"2018-06-05T05:13:26.505Z"}
{"level":"info","message":"[test] 10.0.0.2 issued command : \"start\"","timestamp":"2018-06-05T05:13:37.645Z"}
{"level":"info","message":"[test] received request \"start\"","timestamp":"2018-06-05T05:13:37.646Z"}
{"command":"start","uuid":"33f241d0-687f-11e8-ac21-2dd8d65d5dd9","time_initiated":1528175617645,"success":false,"err":1,"time_resolved":1528175618161,"level":"error","message":"[test] command \"start\" errored out:","timestamp":"2018-06-05T05:13:38.162Z"}
Image: hexparrot/mineos:node-crux
On start-up a git merge conflict occurs attempting to merge https://github.com/hexparrot/mineos-node
:
Created user: admin
Generating Self-Signed SSL...
Generating a 1024 bit RSA private key
..++++++
..++++++
writing new private key to '.tmpkey.pem'
-----
writing RSA key
remote: Counting objects: 5184, done.
remote: Compressing objects: 100% (1976/1976), done.
remote: Total 5184 (delta 3194), reused 5102 (delta 3121), pack-reused 0
Receiving objects: 100% (5184/5184), 2.47 MiB | 0 bytes/s, done.
Resolving deltas: 100% (3194/3194), completed with 43 local objects.
From https://github.com/hexparrot/mineos-node
bea277f..f6bc23f master -> origin/master
* [new tag] v1.0 -> v1.0
* [new tag] v1.0.1 -> v1.0.1
* [new tag] v1.1.0 -> v1.1.0
* [new tag] v1.1.1 -> v1.1.1
* [new tag] v1.1.2 -> v1.1.2
* [new tag] v1.1.3 -> v1.1.3
* [new tag] v1.1.4 -> v1.1.4
* [new tag] v1.1.7 -> v1.1.7
* [new tag] v1.1.8 -> v1.1.8
* [new tag] v1.2.0 -> v1.2.0
Updating bea277f..f6bc23f
error: Your local changes to the following files would be overwritten by merge:
webui.js
Please, commit your changes or stash them before you can merge.
Aborting
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.