Compare commits

..

564 Commits

Author SHA1 Message Date
Geoff Bourne d293a65f5e Add MEMORY example
Fixes #377
2019-08-17 14:40:51 -05:00
Geoff Bourne e6bfa01db5 Revert "Switch to OpenJ9 base image (#360)"
This reverts commit 93197ffb
2019-08-10 17:47:46 -05:00
Geoff Bourne 4e122a67d3 Added description of CONSOLE=FALSE option (#80) 2019-08-10 17:47:26 -05:00
Geoff Bourne b11863d3b2 Delegate ToF buildtools inclusion to extending images (#331) 2019-08-10 17:05:23 -05:00
Geoff Bourne 93197ffb77 Switch to OpenJ9 base image (#360) 2019-08-10 17:04:38 -05:00
Tyler Page f02baa8761 fix duplicate projects subpath (#371)
`CURSE_URL_BASE` already had `/projects` appended to it, missed it by mistake
2019-08-03 07:47:41 -05:00
Michael Vorburger ⛑️ 19e39b84ec add readinessProbe & livenessProbe to k8s-examples/vanilla-deployment.yml (#370) 2019-08-02 13:21:47 -05:00
Tyler Page 53800e460f fix settings.cfg and preserve semicolons if present (#369) 2019-08-02 11:29:22 -05:00
Tyler Page e061cc7163 Update start-finalSetup02Modpack (#368)
Fixed curseforge redirect so it actually downloads the JAR file, not an HTML page
2019-08-02 11:28:35 -05:00
Geoff Bourne e61942f33e Revert "Update start-minecraftFinalSetup (#365)"
This reverts commit f8b97bf9
2019-08-01 18:03:11 -05:00
Tyler Page f8b97bf909 Update start-minecraftFinalSetup (#365) 2019-07-31 18:58:13 -05:00
Geoff Bourne ed272da302 Add script to update multiarch manifest 2019-07-26 12:25:47 -05:00
Geoff Bourne e8b7975295 Configure no-reponse github app 2019-07-26 10:47:01 -05:00
Geoff Bourne cae1a20973 Purge /data/temp before each Spigot build
Fixes #354
2019-07-22 21:33:54 -05:00
Alan 165150a852 Fix -version => -mcversion (#352)
Fabric's installer uses `-mcversion` to specify the Minecraft version (https://fabricmc.net/wiki/install). The way the command is written right now it will always use the latest version of MC and ignore the `VERSION` specification.
2019-07-21 09:05:54 -05:00
Geoff Bourne ad2674bf8e misc: putting gitter reference back to "dockerfiles" 2019-07-20 16:14:27 -05:00
Geoff Bourne b72266f7bf Add a README in old location 2019-07-20 16:09:03 -05:00
Geoff Bourne 79c864ae19 Fixed repo references 2019-07-20 16:04:23 -05:00
Geoff Bourne 451eec4db5 Update repo references 2019-07-20 16:02:46 -05:00
Geoff Bourne 539f7ada70 Exclude examples and IDE metadata directories from docker build 2019-07-20 15:58:41 -05:00
Geoff Bourne c60156d245 Moved Minecraft server files to top-level 2019-07-20 15:51:40 -05:00
Geoff Bourne 281bd3660f Remove archived image definitions 2019-07-20 14:34:08 -05:00
Geoff Bourne 5ffc37ac80 mc: fixed typo in bedrock server note 2019-07-13 07:51:31 -05:00
Geoff Bourne 807f4cb32b mc: Add link to Bedrock server image 2019-07-13 07:29:42 -05:00
Geoff Bourne f23925f87f Merge pull request #348 from crazymanjinn/master
Add support for Fabric server
2019-07-13 07:26:35 -05:00
crazymanjinn 511912acc1 Use xq for XML parsing instead of inline python 2019-07-12 21:02:10 -04:00
crazymanjinn 1531e38ab6 Fix Forge/Fabric typo in README.md
Co-Authored-By: Geoff Bourne <itzgeoff@gmail.com>
2019-07-12 11:01:47 -04:00
crazymanjinn 4f3789ef96 Fix Forge/Fabric typo in README.md
Co-Authored-By: Geoff Bourne <itzgeoff@gmail.com>
2019-07-12 11:00:47 -04:00
crazymanjinn e751369d38 Add support for Fabric server 2019-07-09 23:21:06 -04:00
Geoff Bourne 3ddbbf41d8 Merge pull request #346 from lfshr/lf/http-redirect-modpack
Support HTTP redirects in modpack URLS
2019-07-08 20:46:37 -05:00
Geoff Bourne 47c3cd096a Merge pull request #344 from blacksails/master
update curseforge urls
2019-07-07 20:59:02 -05:00
Liam Fisher df9909a8e4 Added support for redirects in modpack urls 2019-07-07 21:16:48 +01:00
Benjamin Nørgaard 73843ec783 update curseforge urls 2019-07-07 17:08:37 +02:00
Geoff Bourne ede30188b0 mc: properly generate server script when FTB/CF has spaces in path
For #342
2019-07-01 18:19:50 -05:00
Geoff Bourne b679edbd62 Add a way to buy me coffee 2019-06-22 23:25:06 -05:00
Geoff Bourne fe846d8f28 Merge pull request #339 from SConaway/patch-4
Remove Forge hacks
2019-06-19 21:51:46 -05:00
Steven Conaway 0abb9edad8 Remove Forge hacks 2019-06-19 18:58:12 -07:00
Geoff Bourne 9ff1b18935 Merge pull request #337 from sfxworks/patch-1
Change to 8u212
2019-06-18 17:54:51 -06:00
Samuel Walker 67b41bb356 changed to new alpine variant
Confirmed valid
docker pull openjdk:8u212-jre-alpine
8u212-jre-alpine: Pulling from library/openjdk
e7c96db7181b: Pull complete
f910a506b6cb: Pull complete
b6abafe80f63: Pull complete
Digest: sha256:f362b165b870ef129cbe730f29065ff37399c0aa8bcab3e44b51c302938c9193
Status: Downloaded newer image for openjdk:8u212-jre-alpine
2019-06-18 19:50:15 -04:00
Samuel Walker 77b34f4c2c Change to 8u212
To have the java 8 properly take account for available memory usage available to the container.

https://blog.softwaremill.com/docker-support-in-new-java-8-finally-fd595df0ca54
2019-06-13 15:58:06 -04:00
Geoff Bourne a698c4127c Merge pull request #335 from billimek/force-redownload
add option for force re-download of server file
2019-06-12 22:11:36 -05:00
Jeff Billimek 35e2448f8e add option for force re-download of server file
Signed-off-by: Jeff Billimek <jeff@billimek.com>
2019-06-12 14:33:10 -04:00
Geoff Bourne da1a3a47cd mc: guard ONBUILD RUN of ToF build tools
For #331
2019-06-09 10:42:00 -05:00
Geoff Bourne 98cec98dd9 mc: allow for CurseForge modpacks with spaces in directory name
Fixed #332
2019-06-08 16:47:28 -05:00
Geoff Bourne 342907dcba Merge pull request #328 from lorenzschmid/patch-1
Update docker-compose example in README
2019-05-26 17:37:31 -05:00
Lorenz Schmid 0e209eacee Update docker-compose example in README, removing consol
Removes `CONSOLE: "false"` environment variable causing issue #319
2019-05-27 00:20:05 +02:00
Geoff Bourne 098888cfc6 mc: add a DEBUG_EXEC option
Help debug #319
2019-05-26 11:59:39 -05:00
Geoff Bourne 1148aa3fe3 mc: for TYPE=PAPER use resolved version
Part of #326
2019-05-26 11:16:00 -05:00
Geoff Bourne 0ca336505d Install nano into the image
Show server starting message just before java launch
2019-05-13 18:21:38 -05:00
Geoff Bourne be17faf065 Merge pull request #320 from SirPole/patch-1
Update start-deployPaper
2019-05-11 14:29:26 -05:00
Martin Brychta a73c63f482 Update start-deployPaper 2019-05-11 19:13:18 +02:00
Geoff Bourne 45d3ef288f Deprecating Elasticsearch, Logstash, and Kibana images 2019-05-11 10:11:24 -05:00
Geoff Bourne 8b253fe50e Merge latest from mc/rpi3 2019-05-05 14:36:37 -05:00
Geoff Bourne 1f58f59335 Update restify, rcon-cli, and mc-server-runner 2019-05-05 10:11:29 -05:00
Geoff Bourne b48a13ed1d Added an example compose file for PaperSpigot
For #313
2019-05-03 17:20:34 -05:00
Geoff Bourne 5a8f2a7395 Define nsswitch.conf to ensure localhost resolves
For #307
2019-04-29 20:17:53 -05:00
Geoff Bourne 34b96e0b63 Copy over all content of /plugins and /mods
Fixes #310
2019-04-27 13:47:26 -05:00
Geoff Bourne 6a12c33c33 Upgrade base image to Java 8u201 2019-04-25 17:51:07 -05:00
Geoff Bourne b29e76b128 mc: support snapshot versions with spaces, such as "1.14 Pre-Release 1" 2019-04-11 19:50:29 -05:00
Geoff Bourne 40a26b8caf mc: alter paperclip jar for 1.8.8 download
Fixes #305
2019-04-07 13:34:11 -05:00
Geoff Bourne 28467d44b6 Merge pull request #304 from fabianvf/override-server-props-doc
add doc for OVERRIDE_SERVER_PROPERTIES
2019-04-05 16:44:41 -05:00
Fabian von Feilitzsch da34a546b5 add doc for OVERRIDE_SERVER_PROPERTIES 2019-04-05 12:20:30 -04:00
Geoff Bourne 4d45618125 Merge pull request #302 from fabianvf/override-server-props
Allow user to specify that server properties be overridden on start
2019-04-03 17:13:01 -05:00
Fabian von Feilitzsch 4d1a05ccb0 Allow user to specify that server properties be overridden on start 2019-04-03 16:23:19 -04:00
Geoff Bourne 03cac08999 Merge pull request #299 from Silthus/master
feat(minecraft-server): replace environment variables in configs
2019-03-29 20:07:08 -05:00
Michael Reichenbach a316bd8f95 fix(minecraft-server): filter env replacement file
Environment variable replacement now only affects matching file types.

Closes #299
2019-03-29 12:11:42 +01:00
Michael Reichenbach 73046d7499 fix(minecraft-server): env variable value check not working
The check for the value of the env variable now works correctly.

#298
2019-03-25 18:10:45 +01:00
Michael Reichenbach 67cf80d70f docs(minecraft-server): for dynamic env variable replacement
Add documentation and examples for dynamic replacement of env variables.

Closes #298
2019-03-23 14:26:48 +01:00
Michael Reichenbach b51b19b3c0 feat(minecraft-server): replace environment variables in configs
Add additional setup script that replaces environment variables inside
config files.

Closes #298
2019-03-23 14:12:58 +01:00
Geoff Bourne 1cc902062a Pruning devbox, elasticsearch-marvel, spring-boot, gvm 2019-03-10 21:59:01 -05:00
Geoff Bourne 36f5857de3 mc: create FTB/CF server start script when absent
Fixes #294
2019-03-10 21:50:42 -05:00
Geoff Bourne aef8f54903 Pass JVM memory options to Spigot build
Fixes #292
2019-02-26 22:19:43 -06:00
Geoff Bourne fe3df584ef Merge pull request #293 from LoudSoftware/master
Updated PAPERMC CI URL and job name for older versions
2019-02-24 20:06:15 -06:00
LoudSoftware a73d99c552 Updated PAPERMC CI URL and job name for older versions 2019-02-24 16:41:27 -05:00
Geoff Bourne 72328ca8bc Merge pull request #291 from dudymas/master
Fix for custom curseforge modpacks that do not have mods dir
2019-02-15 10:30:52 -06:00
Jeremy White f3d5e75c22 fix(minecraft/entrypoint): create mods dir for packages without it 2019-02-14 22:18:16 -05:00
Jeremy White fff075cc68 fix(minecraft/entrypoint): errata with jq syntax and mod dir 2019-02-14 22:04:09 -05:00
Geoff Bourne cca23aa683 Merge pull request #289 from dudymas/master
Fix #287 : Support manifest.json
2019-02-13 06:50:13 -06:00
Geoff Bourne ae72f9ac70 ref(readme): formatting for settings.cfg notes
Co-Authored-By: dudymas <dudymas@gmail.com>
2019-02-13 07:39:41 -05:00
Geoff Bourne 2b2ec51206 ref(readme): formatting on serverstart details
Co-Authored-By: dudymas <dudymas@gmail.com>
2019-02-13 07:39:00 -05:00
Jeremy White 6135feec56 doc(minecraft): include manifest working docs 2019-02-08 14:14:15 -05:00
Jeremy White b38c00881b fix(minecraft/entrypoint): several small defects with manifest loop 2019-02-08 11:31:40 -05:00
Jeremy White 301e33f224 feat(minecraft/entrypoint): add diagnostic to manifest load 2019-02-08 08:20:47 -05:00
Jeremy White 22417858a3 fix(minecraft/entrypoint): correct typo in manifest load 2019-02-08 08:18:18 -05:00
Jeremy White 5d55ce2b25 feat(minecraft/entrypoint): download manifests 2019-02-08 08:11:01 -05:00
Geoff Bourne a994e67ebf mc: fix isDebugging when not debugging 2019-02-03 09:54:55 -06:00
Geoff Bourne 57a840b069 mc: added debug-ability to vanilla server downloading 2019-02-03 09:49:59 -06:00
Geoff Bourne a273ef1763 mc: add gitter badge to README 2019-02-02 10:38:03 -06:00
Geoff Bourne a63f474109 mc: adjust MAX_RAM in settings.cfg for some CurseForge modpacks
Fixes #285
2019-01-26 16:35:00 -06:00
Geoff Bourne d368978949 mc: use rcon-cli to stop the server, when it's available 2019-01-24 18:39:26 -06:00
Geoff Bourne 90d721763d Add support for CurseForge modpacks with ServerStartLinux.sh entry
Add CurseForge info in README
Fixes #284
2019-01-21 21:07:38 -06:00
Geoff Bourne 6fc9ba4996 Merge pull request #279 from Silthus/master
feat(minecraft-server): add server-name to env variables
2019-01-14 06:48:49 -06:00
Silthus 10e08e172a default SERVER_NAME to "Dedicated Server" 2019-01-14 11:09:20 +01:00
Geoff Bourne 46270f6bd5 mc: ensure JVM_DD_OPTS works for FTB also
For #281
2019-01-13 22:22:27 -06:00
Geoff Bourne 1c9274ad96 mc: add support for custom server JARs
For #238
2019-01-13 19:00:34 -06:00
Geoff Bourne 542798f7a6 Merge pull request #280 from L3vi47h4N/master
docker-compose.yml cleanup
2019-01-13 08:03:48 -06:00
L3vi47h4N bcf95e5799 Rename minecraft-server/docker-compose-big.yml to minecraft-server/examples/docker-compose-big.yml 2019-01-13 01:30:15 -05:00
L3vi47h4N 02332ee8cd Rename minecraft-server/docker-compose-proxied.yml to minecraft-server/examples/docker-compose-proxied.yml 2019-01-13 01:29:53 -05:00
L3vi47h4N da4911c668 Create docker-compose-spongeforge.yml 2019-01-13 01:27:57 -05:00
L3vi47h4N 829eeebb7e Update docker-compose.yml 2019-01-13 01:20:24 -05:00
Michael Reichenbach 20885c6cf7 style(minecraft-server): fix wrong formatting 2019-01-12 16:35:03 +01:00
Michael Reichenbach f6465b5dac feat(minecraft-server): add server-name to env variables
The server-name (e.g. needed for bungeecord) can now
be set via the env variable SERVER_NAME.
Defaults to Unknown
2019-01-12 16:32:30 +01:00
Geoff Bourne bd084cc261 mc: adjust WORLD destination directory when using FTB type
For #278
2019-01-08 18:28:34 -06:00
Geoff Bourne 895b7d74f5 Merge pull request #275 from mediaessenz/feature/add-jvm-dd-opts
[Feature] add JVM_DD_OPTS
2018-12-28 17:50:01 -06:00
Alexander Grein ddbd88c601 Add documentation for the new JVM_DD_OPTS parameter
Fix for #177
2018-12-28 10:16:15 +01:00
Alexander Grein 7e34cf5ac9 Add JVM_DD_OPTS to add -D Params to JVM_OPTS
Fix for #177
2018-12-28 09:56:28 +01:00
Geoff Bourne 8c26947fbc mc: set JAVA_PARAMETERS as alternative INIT_MEMORY for FTB server
For #271
2018-12-18 16:42:15 -06:00
Geoff Bourne 091e79c550 Merge pull request #270 from Silthus/patch-1
feat(minecraft-server): add version argument for buildtools
2018-12-18 16:27:30 -06:00
Silthus a31e2a8506 feat(minecraft-server): add version argument for buildtools
For future compatibility and to avoid breaking backwards compat I added a build argument with for the version of the build tools download.
2018-12-17 19:07:07 +01:00
Silthus 52d4cae74d feat(minecraft-server): onbuild trigger for downloading plugins and mods (#267)
* feat(minecraft-server): add onbuild trigger

Added a ONBUILD trigger for the [ToF-BuildTools](https://git.faldoria.de/tof/server/build-tools).
If a plugins.yml is provided the BuildTools will download all plugins configured in the YAML.

https://github.com/itzg/dockerfiles/issues/218

* feat(minecraft-server): add arg for build output

* fix(minecraft-server): syntax error in Dockerfile

* fix(minecraft-server): chown jar files after building

* feat(minecraft-server): cleanup buildtools after using

* fix(minecraft-server): remove /plugins volume

The /plugins volume causes weird behaviour when prepolulating it with
files on build. Removing it as an explicit volume fixes that.

* mc: add example Dockerfile for ToF builds

* docs(minecraft-server): add docs for new onbuild trigger

* fix(minecraft-server): use correct url for build tools download
2018-12-16 12:00:36 -06:00
Geoff Bourne cc83007cea Merge pull request #268 from Silthus/feat/copy-plugins
feat(minecraft-server): update spigot plugins using /plugins if newer
2018-12-15 09:09:42 -06:00
Silthus 0d9c2d13f9 fix(minecraft-server): copy plugins and mods to parent dir
Using rsync will already create a subdir inside the /data volume do not create an extra layer.
2018-12-15 08:56:05 +01:00
Silthus ccec190cb2 feat(minecraft-server): copy mods with rsync as well
Mods are now copied the same as plugins, with rsync. Removed the old cp command.
2018-12-15 08:29:43 +01:00
Silthus c3ac69a030 fix(minecraft-server): typo from testing - change txt to jar 2018-12-14 11:31:46 +01:00
Michael Reichenbach fd4e9d93e0 feat(minecraft-server): update spigot plugins using /plugins if newer
Deep copy and *.jar files in /plugins and update the corresponding files
in the /data/plugins dir.
2018-12-14 08:13:19 +01:00
Geoff Bourne 2e353c084a mc: add tzdata package to allow for localtime handling
fixes #263
2018-12-07 17:47:11 -06:00
Geoff Bourne 9b1272edac mc: properly handle spaces in MOTD during server properties setup 2018-12-02 17:52:23 -06:00
Geoff Bourne 479be8016a Merge pull request #260 from Autom3/patch-1
[minecraft-server] Pass all command line arguments to start-configura…
2018-10-23 17:54:34 -05:00
Autom3 3f3a2d8433 [minecraft-server] Pass all command line arguments to start-configuration
Regarding the minecraft-server image
The start script currently does not pass command line arguments to the next script. This makes it so server admins can't easily update their server to 1.13.2 by passing --forceUpgrade as an extra parameter after specifying the docker image. With this change it works as intended.

Proof that the arguments did not get added before and do now:
* Add this line to the start-minecraftFinalSetup script: `echo "Running with: mc-server-runner ${bootstrapArgs} java $JVM_XX_OPTS $JVM_OPTS -jar $SERVER ""$@"" $EXTRA_ARGS"`
* Build the image
* Run the image with extra arguments `--test`
* See this printed: `Running with: mc-server-runner -jar minecraft_server.1.13.2.jar`
* Update to this PR
* Build the image
* See this printed: `Running with: mc-server-runner -jar minecraft_server.1.13.2.jar --test`
2018-10-23 23:00:23 +02:00
Geoff Bourne 7be2020879 mc: fix WORLD downloading
fixes #259
2018-10-17 23:17:43 -05:00
Geoff Bourne 73974d1c40 Merge pull request #258 from mcrowson/mods
using find to match json files
2018-10-14 14:01:00 -05:00
Matthew Crowson a4a22f3bfc loops only if there are JSON files present 2018-10-14 13:47:39 -04:00
Matthew Crowson 491abfc833 using find to match json files 2018-10-13 12:31:28 -04:00
Geoff Bourne 7dc699ffbb Merge pull request #257 from mcrowson/mods
Added MODS env variables
2018-10-13 08:16:30 -05:00
Matthew Crowson 3fee3f0f41 Added mods env variables 2018-10-12 18:11:57 -04:00
Geoff Bourne cf8b6e5d05 Merge pull request #255 from mattiaskagstrom/patch-2
only download world if there is no preexisting world
2018-10-07 09:45:26 -05:00
Mattias Kågström 3bac706b8a only download world if there is no preexisting world
My world just got overwritten when i re-created the container. this should hopefully solve it..
2018-10-07 14:01:08 +02:00
Geoff Bourne 6e3761ae91 mc: allow for any values of LEVEL_TYPE to support various mods 2018-10-06 08:08:13 -05:00
Geoff Bourne b88ae49c3b mc: allow for a non-unique group ID when setting GID
For #254
2018-09-30 15:20:54 -05:00
Geoff Bourne 79756d13fd mc: support CurseForge modpacks with LaunchServer.sh entry script 2018-09-30 14:39:37 -05:00
Geoff Bourne 44d2081b7b Merge pull request #253 from proudlytm/master
mc: set umask to 0002 and chmod g+w the /data folder
2018-09-27 08:25:29 -05:00
Maxim Ivanov e8be7685e9 mc: set umask to 0002 and chmod g+w the /data folder
Do this to allow write access for groups that the minecraft user is in.

This commit also fixes an issue if a group is specified with $GID and it has
no write access in the mounted host volume.
2018-09-27 10:27:50 +03:00
Geoff Bourne 2d6316e6c3 mc: fix container stop handling 2018-09-20 19:57:01 -05:00
Geoff Bourne 009309966b Merge pull request #250 from proudlytm/master
README.md: Make it clearer how to override UID and GID.
2018-09-19 18:22:48 -05:00
Maxim Ivanov d3e64ed56f README.md: Make it clearer how to override UID and GID. 2018-09-19 23:27:44 +03:00
Geoff Bourne 715d9be403 Merge pull request #249 from duaneg/master
mc: run FTB installer from correct location
2018-09-18 22:40:58 -05:00
Duane Griffin ebe0a30c14 mc: run FTB installer from correct location
We have pushd'ed into the directory so do not prefix the shell script
with the directory name.
2018-09-19 11:27:34 +12:00
Geoff Bourne c8eb0f5874 mc: enhance the WORLD option to allow for directory sources
#247
2018-09-11 20:38:54 -05:00
Geoff Bourne 90907f7b1e mc: allow for RWG world type
Fixes #246
2018-09-01 16:35:31 -05:00
Geoff Bourne d898796672 Support Paper builds for 1.13 and fix 1.12.2/1.11.2 builds
Fixed #244
2018-08-25 18:16:47 -05:00
Geoff Bourne ed32de76ca Merge pull request #243 from mattiaskagstrom/patch-1
unzip fails if a file already exists in the zip file.
2018-08-25 14:52:32 -05:00
Mattias Kågström 07fc31b401 unzip fails if a file already exists in the zip file.
Unzipping world
replace banned-ips.json? [y]es, [n]o, [A]ll, [N]one, [r]ename:

unzip: can't read standard input
2018-08-24 17:36:41 +02:00
Geoff Bourne a0db92cb5e circleci: remove run test for now 2018-08-19 11:30:59 -05:00
Geoff Bourne f33a94a6e2 circleci: allow a litte more time for mc test 2018-08-19 11:25:21 -05:00
Geoff Bourne bab31f1198 circleci: allow more time and capture the log 2018-08-19 11:22:43 -05:00
Geoff Bourne a5614ec03b Add testing of minecraft-server image in CircleCI 2018-08-19 11:18:08 -05:00
Geoff Bourne 70f49be4fc Merge branch 'master' of https://github.com/itzg/dockerfiles 2018-08-19 09:09:51 -05:00
Geoff Bourne 173f612d74 Add CircleCI 2 config 2018-08-19 09:09:21 -05:00
Geoff Bourne ba4578f451 mc: check validity of downloaded bukkit/spigot jar
Fixes #242
2018-08-18 18:51:45 -05:00
Geoff Bourne 1c5e4b17bf mc: chown /data when it doesn't match $UID
Fixes #239
2018-08-18 16:56:45 -05:00
Geoff Bourne f65548894f Merge pull request #241 from JanikBot/patch-2
Added warning if user doesn't use the server version of the modpack
2018-08-18 15:39:23 -05:00
Geoff Bourne b910a7dbe5 mc: adjust FTB server pack check to look in subdirs 2018-08-18 15:38:27 -05:00
Janik Bussalb 1c24dc1def Added warning if user doesn't use the server version of the modpack 2018-08-14 17:45:51 +02:00
Geoff Bourne d9c2f26506 mc: handle FTB style start script within CurseForge subdirs
mc: upgrade mc-server-runner to launch start scripts via bash
2018-08-12 17:25:16 -05:00
Geoff Bourne 7005f00df0 mc: avoid usermod when UID matches current user ID 2018-08-05 16:38:22 -05:00
Geoff Bourne 6ec6655280 mc: removing confusing mention of MAX_RAM
for #229
2018-07-30 21:52:04 -05:00
Geoff Bourne 848cd8b994 mc: restore UID and GID options
for #234
2018-07-30 21:49:43 -05:00
Geoff Bourne 8a26e73dab mc: add support for BUFFET level type
mc: fix some typos in spigot download messages
2018-07-29 13:41:00 -05:00
Geoff Bourne f66e1ff103 mc: use apk's --no-cache option 2018-07-28 10:33:24 -05:00
Geoff Bourne 5215dd569a Merge pull request #235 from sumomoneko/max_tick_time
Fix typos in config file generation for max-tick-time setting.
2018-07-25 22:14:25 -05:00
sumomoneko ab5fe2d076 Fix typos in config file generation for max-tick-time setting. 2018-07-24 15:13:47 +09:00
Geoff Bourne 92f577e788 mc: force latest forge to derive from 1.12.2 for now 2018-07-19 18:52:58 -05:00
Geoff Bourne 4c0d53ee92 mc: add diagnostic log at start to confirm user and /data details 2018-07-18 20:10:22 -05:00
Geoff Bourne c8cc882a57 mc: support the Install.sh step of CurseForge modpacks within TYPE=FTB
fixes #180
2018-07-13 22:33:55 -05:00
Geoff Bourne a95bfdb192 mc: apply INIT/MAX RAM settings into FTB local settings file
fixes #222
2018-07-13 16:35:56 -05:00
Geoff Bourne 2a1fba1b45 Merge pull request #224 from SConaway/patch-2
Attempt to remove /data/.verify_access
2018-07-05 20:46:28 -05:00
Geoff Bourne a44d114176 Merge pull request #223 from SConaway/patch-1
Update MC Dockerfile
2018-07-05 20:45:32 -05:00
Geoff Bourne cce473c676 Merge pull request #225 from SConaway/patch-3
Pin MC to latest 8-JRE
2018-07-05 20:37:48 -05:00
Steven Conaway 5fb09f57e3 Update Dockerfile 2018-07-05 15:11:51 -07:00
Steven Conaway eeacdc1e20 Pin MC to latest 8-JRE 2018-07-05 10:15:19 -07:00
Steven Conaway d0577a43fd Attempt to remove /data/.verify_access 2018-07-05 10:11:21 -07:00
Steven Conaway e8b25d20a3 Update MC Dockerfiel 2018-07-04 17:57:18 -07:00
Geoff Bourne 4192bea3ab Consistently use curl instead of wget 2018-06-25 19:13:47 -05:00
Geoff Bourne 4ff14fbf61 Remove Dockerfile-raspberrypi since its maintained in a branch 2018-06-25 19:01:12 -05:00
Geoff Bourne f0102119b6 Merge pull request #217 from Lemmons/better-ftb-startup
Allow existing world volume mount for FTB
2018-06-02 08:50:28 -05:00
Geoff Bourne 848e9e40e4 Merge pull request #216 from pcdevil/feat/add_snooper_argument
[mc] Add snooper enabled toggle
2018-05-20 06:54:16 -05:00
Attila Gonda a12a258058 [mc] Clearify snooper config 2018-05-20 12:59:42 +02:00
Attila Gonda bfa198de4e [mc] Add snooper enabled toggle 2018-05-20 01:07:16 +02:00
Geoff Bourne 04b4a3e8ca Adding RaspberryPi compatible dockerfile for reference 2018-05-19 17:48:20 -05:00
Geoff Bourne f7d62474e8 Update mc-server-runner to allow for server to stop on its own 2018-05-19 17:34:03 -05:00
Geoff Bourne 5bf4a3fd1d Provide a kubernetes example 2018-05-18 16:21:44 -05:00
Geoff Bourne 35ec677446 [mc] Enable graceful shutdown on stop 2018-05-18 15:19:41 -05:00
Scott Lemmon f4631703ca Allow existing world volume mount for FTB 2018-05-14 18:52:49 -07:00
Geoff Bourne 767fa4962b Merge pull request #215 from megaxlr/master
Remove obsolete jar location
2018-05-08 21:24:21 -05:00
MegaXLR 08ba471710 Remove obsolete jar location
Signed-off-by: MegaXLR <admin@megaxlr.net>
2018-05-08 14:27:00 +02:00
Geoff Bourne d93f6bad16 mc: remove the need for entrypoint script to run as root 2018-04-25 20:57:57 -05:00
Geoff Bourne 488e478374 mc: use newest installed forge jar
fixes #211
2018-04-25 20:48:42 -05:00
Geoff Bourne e2bf56938b mc: remove extraneous g flags on passwd file mod 2018-04-14 13:59:43 -05:00
Geoff Bourne 5267927c3f mc: compute default MOTD based on the given type and version 2018-04-14 13:52:46 -05:00
Geoff Bourne 1f04ca946c mc: fixed local var usage in deployPaper
fixes #209
2018-04-14 13:43:25 -05:00
Geoff Bourne 959bdeef54 mc: added allow-flight option 2018-04-14 13:01:34 -05:00
Geoff Bourne 2627317e03 mc: Download Bukkit and Spigot from getbukkit.org 2018-03-16 17:03:21 -05:00
Geoff Bourne c288557188 mc: upgrade base image to java 8u151 2018-03-16 09:24:48 -05:00
Geoff Bourne 7f82d3098c [mc] For FTB skip ops and white-list when not configured
Fixes #203
2018-03-04 19:01:31 -06:00
Geoff Bourne 0a7a666904 Merge pull request #197 from TheLeftMoose/196-set-server-port
Fixes #196 makes it possible to add server port as a env.
2018-02-15 11:43:18 -06:00
Dennis Schwartz-Knap 7bbe2fd28d added server_port to default env 2018-02-15 18:04:22 +01:00
Dennis Schwartz-Knap 8857abdc05 updateing readme with info about server port env 2018-02-12 18:11:33 +01:00
Dennis Schwartz-Knap 423b45cb7b Fixes #196 makes it possible to add server port as a env. 2018-02-12 17:26:44 +01:00
Geoff Bourne 6ef6bc68c2 Merge pull request #195 from scones/patch-2
test for the correct files at the correct locations
2018-02-07 12:10:06 -06:00
Dirk Gustke b8e996d3c4 typo 2018-02-06 23:55:44 +01:00
Dirk Gustke 345696227d test for the correct files at the correct locations 2018-02-06 21:21:23 +01:00
Geoff Bourne 66330af708 Merge pull request #194 from scones/patch-1
this somehow deleted the correctly modified properties file.
2018-02-03 09:44:08 -06:00
Dirk Gustke 3444d88e4d this somehow deleted the correctly modified properties file.
as this is just a redundant remnant, i removing this line is save and works better
2018-02-03 15:24:37 +01:00
Geoff Bourne 95416a799e Merge pull request #191 from scones/fix_properly_set_ftb_properties
Fix properly set ftb properties
2018-01-28 09:06:05 -06:00
Dirk Gustke dc3c93becf fix_properly_set_ftb_properties - remove debugging information 2018-01-28 14:50:08 +01:00
Dirk Gustke ce4b4ad208 fix_properly_set_ftb_properties - use correct variable 2018-01-28 14:48:50 +01:00
Dirk Gustke 7afa00b72c fix_properly_set_ftb_properties - use existing variables thus preventing override 2018-01-28 14:45:25 +01:00
Dirk Gustke 230b575983 fix_properly_set_ftb_properties - use a unified setter, set the correct file 2018-01-28 13:16:45 +01:00
Dirk Gustke 2f3e93c619 fix_properly_set_ftb_properties - revert disfunctional change 2018-01-28 13:15:41 +01:00
Geoff Bourne 59753d8310 Merge pull request #190 from scones/patch-1
making use of all the server properties magic in ftb packages ..
2018-01-27 12:38:23 -06:00
Dirk Gustke 4fb881a583 Update start-deployFTB 2018-01-27 15:33:50 +01:00
Dirk Gustke e42e9ac489 making use of all the server properties magic in ftb packages .. 2018-01-27 15:06:09 +01:00
Geoff Bourne f5f20f3563 [mc] For FTB add legacy java fixer option 2018-01-07 17:19:10 -06:00
Geoff Bourne 931c27a5ec Clarify discontinued images in top level README 2017-12-25 11:33:46 -06:00
Geoff Bourne bc100163c2 [mc] Use image rather than build in example proxied compose file 2017-12-08 10:03:45 -06:00
Geoff Bourne 3a64e32184 [mc] Add PROXY env var option
For #177
2017-12-08 09:48:55 -06:00
Geoff Bourne b9787182e6 Merge pull request #184 from BinaryShock/spongeIntegration
Sponge integration
2017-11-07 21:13:33 -06:00
Aitor Ramos Sasselli 7797bf23fb Added optional parameters on SpongeVanilla server 2017-11-06 09:52:26 +01:00
Aitor Ramos Sasselli f347f30353 Added initial SpongeForge information to Readme 2017-11-05 22:41:11 +01:00
Aitor Ramos Sasselli eb239bfdb7 Changes in master updated to this branch 2017-11-02 04:10:39 +01:00
Geoff Bourne 7047e565fc Merge pull request #183 from BinaryShock/minecraft-refactor
Code refactorization
2017-11-01 21:26:17 -05:00
Aitor Ramos Sasselli f178c6c0a1 SpongeVanilla integration and JSON check fix 2017-11-01 22:06:05 +01:00
Aitor Ramos Sasselli ee5a95baa8 Repaired some bugs from refactor 2017-11-01 06:42:44 +01:00
Aitor Ramos Sasselli 0c1c6d198c Repaired some bugs from refactor 2017-11-01 06:41:55 +01:00
Aitor Ramos Sasselli a0e605814f Code refactorization 2017-10-28 10:04:52 +02:00
Geoff Bourne 518986d28e [mc] Added support for LEVEL_TYPE = RTG 2017-10-02 20:06:41 -05:00
Geoff Bourne 2357914b4c [es] Upgrade to 5.5.2 2017-09-24 19:17:38 -05:00
Geoff Bourne e5a4428515 [mc] Install iputils and wget for FTB compat 2017-09-24 11:46:47 -05:00
Geoff Bourne 6b9033318b [mc] For FTB pass-thru custom mod URLs
for #155
2017-09-03 20:20:25 -05:00
Geoff Bourne 9ee907783d [mc] Added issues link 2017-09-02 12:29:50 -05:00
Geoff Bourne 463cc62b75 [mc] Check writability of /data
Document JVM_OPTS
For #176 and #177
2017-09-02 12:24:09 -05:00
Geoff Bourne 5afd98edd8 [es] Upgrade to 5.5.1 2017-08-12 13:58:39 -05:00
Geoff Bourne 8b9051d72e Merge pull request #174 from Rob5Underscores/master
Add support for a zip file of mod configs to be supplied!
2017-07-17 06:56:44 -05:00
Rob Weddell d6392f3aa9 Add support for a zip file of mod configs to be supplied!
This was added such that Sponge servers are supported.
(For Sponge: TYPE=FORGE, MODPACK=[zip including sponge plugins and jar], MODCONFIG=[sponge configuration])
2017-07-17 11:48:23 +01:00
Geoff Bourne fe808be91b Merge pull request #173 from opHASnoNAME/master
Set UID for ES_DEFAULT_USER to 1100, avoid conflicts with debian host…
2017-07-16 14:16:24 -05:00
Arne Riemann 2cab10e906 Forgot -u for UID 2017-07-16 16:09:28 +02:00
Geoff Bourne 7f39d1f22e [mc] Properly check empty json files to fix
For #162
2017-07-15 20:02:40 -05:00
Arne Riemann a9184368c1 Set UID for ES_DEFAULT_USER to 1100, avoid conflicts with debian host systems 2017-07-15 06:38:36 +02:00
Geoff Bourne caf2fc2ab6 [es] Correcting old-ADD tar file path 2017-07-13 09:09:10 -05:00
Geoff Bourne 5dd8141e5e Merge pull request #169 from manojsb/patch-1
Upgrade to ES 5.5.0
2017-07-13 08:53:42 -05:00
Geoff Bourne 2ff28675d4 [es] Adapt to new Dockerfile ADD behavior 2017-07-13 08:52:02 -05:00
Manoj Kumar 519bd986b5 Update Dockerfile
Updated to v5.5.0
2017-07-12 11:41:13 +05:30
Geoff Bourne e41efba176 [es] Using NON_DATA in 3x1GB stack
For #165
2017-07-04 18:08:10 -05:00
Geoff Bourne 0502813496 [es] Add NON_DATA type
For #165
2017-07-04 18:06:08 -05:00
Geoff Bourne 932a6828f9 [mc] Auto fix pre 1.12 empty json
For #162
2017-07-03 14:20:12 -05:00
Geoff Bourne d176ef3f6a Merge pull request #167 from lukascernydis/master
Added option REMOVE_OLD_MODS
2017-07-01 20:09:12 -05:00
Lukáš Černý deb98268f6 Added option REMOVE_OLD_MODS 2017-07-02 01:32:24 +02:00
Geoff Bourne e1531c3237 [mc] Switch to openjdk alpine base image 2017-06-29 19:45:51 -05:00
Geoff Bourne 47af45a430 Merge pull request #166 from macman31/patch-1
Fix typos in config file generation
2017-06-29 19:19:11 -05:00
ATMD 0195b42eea Fix regex to change gamemode value
The sed command `sed -i "/gamemode\s*=/ c gamemode=$MODE" $SERVER_PROPERTIES` matches all lines containing `gamemode=`.
This includes the line `force-gamemode` that is set it with `setServerProp "force-gamemode" "$FORCE_GAMEMODE"`
So basically the `force-gamemode` line is erased and the `gamemode=value` line is duplicated, and then the server cleans it up at start and deduplicates the `gamemode` line and create a new `force-gamemode` line with a default value.
This fix ensures that only the `gamemode=` line is modified when changing the gamemode value.
2017-06-29 21:53:26 +02:00
ATMD f875af5cdb Delete repetition of spawn-npcs 2017-06-29 20:25:24 +02:00
ATMD 32a918b902 Fix typo SPAWN_ANIMIALS 2017-06-29 19:56:14 +02:00
Geoff Bourne d09a56075f [es] Add an example minimal composition 2017-06-28 23:17:39 -05:00
Geoff Bourne e261fae348 [es] Upgrade to 5.4.2 2017-06-21 19:06:13 -05:00
Geoff Bourne 5b8668d73f [mc] Add dinnerbone's mcstatus and use it for HEALTHCHECK
Part of #159
2017-06-11 11:03:00 -05:00
Geoff Bourne 123292b56b Merge pull request #156 from dirkcjelli/mc_fixes
minecraft-server: Fixed FORGEVERSION case, add support for BIOMESOP
Fixes #139
2017-06-07 21:00:39 -05:00
Sascha Askani 0e0828f47f Revert "Fix FORGEVERSION -> FORGE_VERSION, remove unneeded statement in default"
This reverts commit cb6643a345.
2017-06-07 20:55:39 -05:00
Geoff Bourne 532c9fa69a Merge branch 'master' into mc_fixes 2017-06-07 20:54:35 -05:00
Geoff Bourne e509563b10 [mc] Correctly pre-populate json config files
For #158
2017-06-07 20:43:35 -05:00
Geoff Bourne 899f31917c [mc] Add some FORGE_INSTALLER lookup messages 2017-06-07 08:07:44 -05:00
Geoff Bourne e6ca9a1c6d [mc] glob for forge jar, but exclude installer 2017-06-06 23:09:45 -05:00
Geoff Bourne 24c68b9c2c [mc] Avoid trying to run forge installer as server 2017-06-06 22:36:39 -05:00
Geoff Bourne 2891e1ac3e [mc] Check for valid $FORGE_INSTALLER 2017-06-05 21:34:15 -05:00
Sascha Askani da9618c08b add support for BIOMESOP level type 2017-06-05 16:09:26 +02:00
Sascha Askani cb6643a345 Fix FORGEVERSION -> FORGE_VERSION, remove unneeded statement in default
case
2017-06-05 16:08:26 +02:00
Geoff Bourne 71527b87c1 [mc] Add support for custom Forge installer sources
For #154
2017-06-03 20:51:54 -05:00
Geoff Bourne df25a22634 [es] Upgrade to 5.4.1 2017-06-02 12:02:11 -05:00
Geoff Bourne 5c6a2cf44f [mc] Use a probing approach to find Forge URL and launcher name
For #91 and #153
2017-05-28 20:55:09 -05:00
Geoff Bourne 536a7f6095 [mc] Adapt Forge install run for 1.6-1.10
For #153
2017-05-28 11:37:08 -05:00
Geoff Bourne df9e725baf [es] Add kibana to the compose example 2017-05-27 10:21:59 -05:00
Geoff Bourne 156716a7d8 Merge branch 'feat/ftb-download-config'
Fixes #151
2017-05-26 20:09:03 -05:00
Geoff Bourne 0876ef7704 Copy additional meta files into FTB directory 2017-05-26 20:07:26 -05:00
Geoff Bourne 5c3ea25ff3 Merge pull request #152 from dschaper/patch-3
Add optional `nogui`
2017-05-20 11:20:20 -05:00
Geoff Bourne bd8e0cf5d2 Fix FTB download and copy adjusted properties into FTB dir 2017-05-20 10:56:32 -05:00
Dan Schaper 1d5c4e3b0b Check both upper and lower arguments 2017-05-19 21:32:52 -07:00
Dan Schaper 6a565692a0 Add optional nogui
If set via ENV, disable GUI on server.
2017-05-19 19:53:45 -07:00
Geoff Bourne cf68446a00 Add option to download FTB server zip 2017-05-19 20:44:59 -05:00
Geoff Bourne c4a92f6706 Merge pull request #150 from jackwilsdon/curl-insecure
Use cURL insecurely when downloading
2017-05-12 17:14:50 -05:00
Jack Wilsdon 7bb397a031 Use cURL insecurely when downloading
This fixes an error caused by the expired certificate on ci.mcadmin.net.
2017-05-12 21:10:57 +01:00
Geoff Bourne d86f034e96 [mc] Add python package and improve Forge install robustness
For #148
2017-05-08 22:35:37 -05:00
Geoff Bourne 20385507d8 [mc] Add mysql-client package for mods that need it
For #145
2017-05-05 20:46:35 -05:00
Geoff Bourne 91def1176d [mc] Run FTB server in its directory to support legacy
For #144
2017-05-05 20:18:31 -05:00
Geoff Bourne 2e03ee4197 [es] Upgrade to 5.4.0 2017-05-04 21:43:01 -05:00
Geoff Bourne e8dd60a831 [cass] Remove deprecated image from build script 2017-05-02 19:49:40 -05:00
Geoff Bourne dc15094b8a [gremlin] Switch to openjdk:8 base 2017-05-02 19:42:47 -05:00
Geoff Bourne fc807429e4 Merge pull request #143 from ben-st/label
change deprecated maintainer to label
2017-05-02 19:24:12 -05:00
Benjamin 5ec21fc0ba change deprecated maintainer to label 2017-05-02 21:29:17 +02:00
Geoff Bourne 3a0a8a9ced [es] avoid auto-test for now 2017-04-29 14:16:08 -05:00
Geoff Bourne b9b05dbdfc [es] Upgrade to 5.3.2 2017-04-29 08:17:59 -05:00
Geoff Bourne 179e72cda0 [cass] discontinue cassandra image 2017-04-29 07:52:59 -05:00
Geoff Bourne 2b9514ab0b [es] Upgrade to 5.3.1 2017-04-21 20:08:15 -05:00
Geoff Bourne 8a04a9f72e Merge pull request #141 from gkawamoto/master
Subnet ignoring
2017-04-19 22:10:23 -05:00
Gustavo Kawamoto 3a7af8e8d6 Subnet ignoring
Needed for Cattle support
2017-04-19 09:59:32 -03:00
Geoff Bourne 615d12bce3 [mc] Upgrade to rcon-cli 1.3 2017-04-09 08:30:20 -05:00
Geoff Bourne 72d055ac19 [mc] Add support for DOWNLOAD_*_URL overrides
Also switched from wget to curl
2017-04-08 07:20:04 -05:00
Geoff Bourne 80c18004c1 [mc] Integrate rcon-cli 2017-04-07 19:35:15 -05:00
Geoff Bourne 97e9b2901c [mc] Fixed docker-compose example 2017-04-06 12:41:21 -05:00
Geoff Bourne 027d94cc77 Initial content of minecraft-server container diagram 2017-04-05 10:36:03 -05:00
Geoff Bourne 66261af03d Added Minecraft server containment diagram 2017-04-05 10:31:21 -05:00
Geoff Bourne 290e2c734a [mc] Improved UID/GID handling in passwd/group files
For #136
2017-04-04 22:11:05 -05:00
Geoff Bourne 54d19715c7 [es] Upgrade to 5.3.0 2017-03-28 18:39:21 -05:00
Geoff Bourne bbe1533f91 [mc] Adjust mem with MEMORY and INIT_/MAX_MEMORY
For #126
2017-03-19 09:35:58 -05:00
Geoff Bourne 97040f61ed [mc] Remove -u from unzip in FTB for Alpine compatibility
For #132
2017-03-09 18:56:19 -06:00
Geoff Bourne 55801ac11c [es] Add ingest node support
For #131
2017-03-03 23:35:12 -06:00
Geoff Bourne 07c32d8ee4 [mc] Fixed TYPE=FORGE for alpine base image
For #128
2017-02-28 18:32:15 -06:00
Geoff Bourne 2e631bcbd9 [es] Upgrade to 5.2.2 2017-02-28 18:12:29 -06:00
Geoff Bourne c96c630fe5 Merged branch master into master 2017-02-22 16:49:21 -06:00
Geoff Bourne f69e75cfc1 [mc] Add rcon to big composition 2017-02-22 16:49:08 -06:00
Geoff Bourne 6157a693f1 Merge pull request #115 from ikke-t/alpine
Switch to Alpine linux for container base
2017-02-22 13:23:06 -06:00
Geoff Bourne 854a158d3d Merge branch 'master' into alpine 2017-02-22 13:16:38 -06:00
Geoff Bourne 18919ef33c [mc] Upgrade to Alpine compatible restify 2017-02-22 13:14:48 -06:00
Geoff Bourne 32b0737e70 [mc] Add rcon to docker-compose.yml example 2017-02-18 11:53:44 -06:00
Geoff Bourne 79eb164e90 [mc] Adding example compose file for large minecraft server 2017-02-18 11:00:55 -06:00
Geoff Bourne e3296c3cc0 [es] Upgrade to 5.2.1 2017-02-15 19:30:33 -06:00
Geoff Bourne f5dbbcc2c6 [mc] Use G1 GC by default and simplify max memory setting
For #126
2017-02-14 22:15:36 -06:00
Geoff Bourne 134eaedf23 Merge pull request #125 from HenryGessau/FTB
Add Feed-The-Beast (FTB) server modpack support
2017-02-13 22:23:33 -06:00
Henry Gessau 4a89f3c579 Add Feed-The-Beast (FTB) server modpack support
The popular mod site https://www.feed-the-beast.com provides server
modpacks to go with their client modpacks. These server modpacks
include a custom start script that must be used to launch the server.
2017-02-13 22:13:53 -05:00
Geoff Bourne 17420ed590 [es] Added HEALTHCHECK 2017-02-04 14:37:45 -06:00
Geoff Bourne 2125fa0855 [es] Tweak spacing on README 2017-02-02 20:53:47 -06:00
Geoff Bourne 5c14c30a78 [es] Include docker stack deploy instructions 2017-02-02 20:48:17 -06:00
Geoff Bourne 788d06c086 [es] Upgrade to 5.2.0
For #124
2017-02-02 20:28:12 -06:00
Geoff Bourne 1a88c96beb Merged branch master into master 2017-02-02 19:31:11 -06:00
Geoff Bourne b8d69278e4 [es] Fix address binding for Swarm Mode 2017-01-23 10:25:50 -06:00
Geoff Bourne 4a7ecffcbb [es][kibana] Upgrade to 5.1.2 2017-01-15 07:04:27 -06:00
Geoff Bourne 9fe0021a7a [mc] Upgrade base image to openjdk
Fixes #122
2017-01-12 19:40:58 -06:00
Geoff Bourne 262816bd2d [es] Add note about increasing mmap count 2017-01-04 20:43:23 -06:00
Geoff Bourne e44d27c00a [es] Fine java security grants
Fixes #119
* also switch/upgrade base to openjdk 8u111
2017-01-04 20:37:20 -06:00
Geoff Bourne 5062bc91ab [es] Fixed DISCOVER_HTTP_IP typo in README
Fixes #120
2017-01-04 19:56:33 -06:00
Geoff Bourne dde4132d2c [cass] Switch mirror URL to pair.com 2017-01-01 13:29:52 -06:00
Geoff Bourne 9bb3628792 [kibana] Upgrade to 5.1.1 2016-12-09 15:23:06 -06:00
Geoff Bourne 03a5bb1ab0 [es] Upgrade to 5.1.1 2016-12-09 15:15:38 -06:00
Geoff Bourne 3a9a1dc043 [es] small command line fix (#117)
small command line fix
2016-12-09 10:55:08 -06:00
Eric Pugh 36ced1c630 small command line fix 2016-12-09 10:45:34 -05:00
Ilkka Tengvall 2d8b3d7275 Remove commented lines 2016-12-07 19:10:18 +02:00
Ilkka Tengvall f48eedee78 restored the java heap size
I reduced it for RasPi, but forgot it low here too. Restored.
2016-12-07 19:06:01 +02:00
Ilkka Tengvall 08d459c373 changed to work on alpine container 2016-12-07 00:31:06 +02:00
Geoff Bourne 0cb0755739 [kibana] Upgrade to 5.0.2 2016-11-30 19:21:16 -06:00
Geoff Bourne 3e8eca6e28 [es] Upgrade to 5.0.2
Fixes #113
2016-11-29 22:05:13 -06:00
Geoff Bourne a179f5f7ba [cass] Upgrade to 2.2.8 2016-11-29 19:14:05 -06:00
Geoff Bourne f2955bcc2f [es] Bump to 5.0.1
* explicitly configure default JVM heap size
* /conf needed ownership fixed
For #112
2016-11-28 20:37:44 -07:00
Geoff Bourne a0c1ed88d1 [kibana] Adjust binding hosting from old default 2016-11-13 15:18:37 -06:00
Geoff Bourne de6d7a64ac Merge branch 'master' of github.com:itzg/dockerfiles 2016-11-13 14:59:47 -06:00
Geoff Bourne 3bf560bfbe [kibana] Upgrade to 5.0.0
* also switched to openjdk 8 base image
2016-11-13 14:59:22 -06:00
Geoff Bourne f1b58323d3 [es] Fixed TYPE usage
Removed last of the --'s parameters
2016-11-05 10:46:32 -05:00
Geoff Bourne d4a888073b [es] Upgrade to 5.0.0 2016-11-04 20:18:43 -05:00
Geoff Bourne 54844930bb [jenkins] Working around hub build issue 2016-10-23 09:52:25 -05:00
Geoff Bourne b26714c9c1 [jenkins] Move COPY later in build 2016-10-23 09:36:16 -05:00
Geoff Bourne f03a8f0edc [jenkins] Switch local ADD to COPY 2016-10-23 09:29:46 -05:00
Geoff Bourne 048beefadc [jenkins] Pre-installing graphviz (for dependency graphs, etc) 2016-10-23 00:35:02 -05:00
Geoff Bourne de3545e8d9 Merge pull request #109 from manuelgu/patch-1
Fix formatting in minecraft README
2016-10-18 13:54:57 -05:00
manuelgu e766301d1e Fix formatting 2016-10-18 13:59:43 +02:00
Geoff Bourne 3348083424 [mc] Fix game mode shorthand handling of s*
For #107
2016-10-02 07:50:19 -05:00
Geoff Bourne 1e0183a3b1 [es] Added ports and volumes summary 2016-10-01 09:52:40 -05:00
Geoff Bourne fd0500feb2 [es] COPY start script 2016-09-30 22:02:11 -05:00
Geoff Bourne e86138cdf2 [es] Upgrade to 2.4.1 2016-09-30 22:07:48 -04:00
Geoff Bourne ddb69ced3b Merge pull request #106 from kstrauser/feature/noconsole-envvar
Added CONSOLE envvar to control console output
2016-09-22 22:07:46 -05:00
Kirk Strauser c48f85cc4f Oops! --noconsole for non-bootstrap, too 2016-09-22 19:51:44 -07:00
Kirk Strauser aa13deecdb Added CONSOLE envvar to control console output
By default, CONSOLE is true. When set to false, start-minecraft.sh
adds "--noconsole" to java. Use this to keep Spigot from burning CPU.
2016-09-22 19:51:44 -07:00
Geoff Bourne 4c0f24613c [cass] Upgrade to 2.2.7 2016-09-22 18:55:40 -04:00
Geoff Bourne b5bcea7d61 [mc] Add SKIP_OWNERSHIP_FIX option
For #104
2016-09-10 08:22:30 -05:00
Geoff Bourne 76d4fd1bbc [mc] Check writability of /data before chown'ing it
For #104
2016-09-06 21:36:54 -05:00
Geoff Bourne f7523eef4e [es] Upgrade to 2.4.0 2016-09-04 19:34:49 -05:00
Geoff Bourne c38bfb22cc [es] Also adding host IP discovery for http 2016-09-04 16:10:08 -05:00
Geoff Bourne 8cea619c13 [es] Add support for Swarm Mode with proper transport publish computation 2016-09-04 15:25:04 -05:00
Geoff Bourne e570ac8715 Merged mc/non-writable-home into master 2016-09-01 21:16:49 -05:00
Geoff Bourne d14d666e24 [mc] Ensure home directory is writable
For #102
2016-08-30 17:11:10 -05:00
Geoff Bourne 8956d43c47 [jenkins] Declare VOLUME for home directory 2016-08-28 14:40:22 -05:00
Geoff Bourne 911fcf8b42 [mc] Correcting EULA usage in compose example in README
Part of #101
2016-08-15 22:04:36 -05:00
Geoff Bourne 3e61c8084f Merge pull request #101 from parthipanramesh/master
minecraft-server: EULA var needs to be a string (docker-compose.yml)
2016-08-15 21:59:24 -05:00
Parthipan Ramesh fe6e8c04ff minecraft-server: EULA var needs to be a string (docker-compose.yml)
docker-compose refuses to build a container without the quotation marks.
2016-08-15 20:06:12 +02:00
Geoff Bourne f1293ff979 Merge pull request #99 from jimtremblay/master
Add ability to change online-mode from environment variable when contained created
2016-08-03 21:16:47 -05:00
Jim Tremblay 5c5b8cd999 Add default value of ONLINE_MODE 2016-08-03 21:59:48 -04:00
Jim Tremblay 074424a5bd Add section about new option ONLINE_MODE 2016-08-03 21:58:07 -04:00
Jim Tremblay 99b1de0bbd Update start-minecraft.sh 2016-08-01 22:09:30 -04:00
Geoff Bourne 47c3350c10 [es] Fixed plugin installation after Alpine switch
For #98
2016-07-31 10:03:43 -05:00
Geoff Bourne 84bb96ef38 Merge pull request #97 from rakkhin/master
Add support for PAPER as possible Minecraft server
2016-07-22 06:53:34 -05:00
Tomasz Majer ada4a1fab5 Mention PaperSpigot in README.md 2016-07-22 13:48:50 +02:00
Tomasz Majer ea78bdd559 Add support for PAPER as possible Minecraft server 2016-07-21 18:32:45 +02:00
Geoff Bourne fa790ab787 [es] Fixed whitespace in README 2016-07-10 16:51:44 -05:00
Geoff Bourne 281c044999 [es] Adding node type and min master variables
For #24
2016-07-10 16:32:55 -05:00
Geoff Bourne b9dcdee34b Merge pull request #94 from jaychris/elasticsearch-fix-start
fixed env inheritance issue, re-ordered OPTS
2016-07-10 09:50:52 -05:00
Jay Christopherson 87b2ce1c24 fixed env inheritance issue with su command; re-ordered OPTS a bit so that --path.plugins will always be the last in order 2016-07-10 07:00:10 -07:00
Geoff Bourne 55e38181bd [es] Upgraded to 2.3.4 and based on alpine 2016-07-09 12:52:02 -05:00
Geoff Bourne ac3cbe75a9 Merge pull request #90 from larrywright/larrywright-patch-1
Update start-minecraft.sh
2016-07-07 18:02:20 -05:00
Larry Wright d89de80db8 Update start-minecraft.sh
Each time this script is run it downloads the modpack if one is specified. When it tries to unzip the file, if the files already exist in the plugins directory, the script will hang indefinitely because unzip asks for confirmation that you want to overwrite the existing files. Adding -o to the unzip command will tell it to overwrite the files. I suspect the world download has the same issue, but I don't use that and so can't really test it.
2016-07-07 09:17:13 -05:00
Geoff Bourne 1e1a572227 Merged branch master into master 2016-07-01 22:17:35 -05:00
Geoff Bourne 379905c6ff [mc] Use restify to lookup Spigot/Bukkit URLs at startup
For #87
2016-07-01 22:17:10 -05:00
Geoff Bourne ec1dd96a7c [gb] Apply all files in /config to /data at startup 2016-06-27 11:16:09 -05:00
Geoff Bourne 413de37568 [gb] Allow dir or file of .git 2016-06-27 08:30:54 -05:00
Geoff Bourne 3147c5638f [gb] Option to auto-create and push existing content
For #85
2016-06-26 22:40:11 -05:00
Geoff Bourne 0832bb0c43 [mc] Update Spigot info in README
For #80 and #79
2016-06-11 18:49:18 -05:00
Geoff Bourne b97348d703 [mc] Remove extraneous exec java call
Fixed #76
2016-06-11 18:44:23 -05:00
Geoff Bourne 4cff161deb [mc] Use new versions metadata json URL
For #83
2016-06-11 18:42:33 -05:00
Geoff Bourne b1c0e598ad [gitblit] Fix -p usage in README 2016-06-11 18:32:09 -05:00
Geoff Bourne 63035c347b [gitblit] Upgrade to latest version and add repo init feature 2016-06-11 18:18:17 -05:00
Geoff Bourne c806c425fd [mc] Properly quote parameters passed into entry point 2016-05-30 11:41:03 -05:00
Geoff Bourne 0defd266a6 [mc] Use ENTRYPOINT and pass through extra args
Enables experimenting for #80
2016-05-28 20:58:36 -05:00
Geoff Bourne dd5a21067b [es] Upgrade to 2.3.2 2016-05-09 19:45:40 -05:00
Geoff Bourne 2d48bcb1a0 [cass] Upgrade to 2.2.6 2016-05-09 19:43:44 -05:00
Geoff Bourne 5617936f10 Pre-compute the Bukkit/Spigot download URLs
For #77
2016-05-09 19:28:25 -05:00
Geoff Bourne b5e459ab0a ...try wget for Spigot download
#74
2016-04-24 12:40:59 -05:00
Geoff Bourne ae9109e2bf ...remove debugging code from Spigot download
#74
2016-04-24 11:59:44 -05:00
Geoff Bourne b9f247728f [mc] Detect and display curl error during Spigot/Bukkit download
#74
2016-04-24 10:50:48 -05:00
Geoff Bourne 3052cd1155 [mc] Normalize on SPIGOT for plugin/world setup
#75
2016-04-24 10:32:59 -05:00
Geoff Bourne 46c865a123 Only create /home/minecraft if absent
* only download/build Spigot/Bukkit when absent
* refactored download ops into functions
#72
2016-04-24 07:26:26 -05:00
Geoff Bourne cf5d194b14 [mc] Robust handling of Forge, Bukkit, and Spigot version selection
* refactor server.properties sed ops into a utility function
* also switch to jq instead of jsawk
* simplify to BUILD_FROM_SOURCE from BUILD_SPIGOT_FROM_SOURCE
Fixes #70
2016-04-23 22:23:55 -05:00
Geoff Bourne 0ea4ea7d0c [cass] Make sure to enable start_rpc
* also note in titan-gremlin that 1.x of ES is needed
* provide docker compose snippet
Part of #68
2016-04-17 12:21:53 -05:00
Geoff Bourne a6580b3fe3 [mc] Adding Docker stars to README 2016-04-16 16:45:50 -05:00
Sander a4835ec331 Build spigot using buildtools (#67)
* Download buildtools

* Download buildtools

* Not a good idea to chmod /root

* Remove bukkit code

* fix jar not found

* Run start-minecraft as root (temp)

* Working buildtools

* Remove echo line

* Added more server properties, not working yet

* Show what server properties are being added

* Show what server properties are being added

* Add rcon.password

* Add max-world-size

* Added alot of server settings

* Expose rcon port

* Export home per itzg suggestion

* Update readme and server properties

* Env for building spigot from source

* Update readme
2016-04-16 11:26:13 -05:00
Geoff Bourne 21c9be4ec1 [es] upgrade to 2.3.0 and switch to Java 8 2016-04-01 21:54:54 -05:00
Geoff Bourne 786192e4b7 Added docker pulls badge with link to hub 2016-03-26 08:47:01 -05:00
Geoff Bourne 8610e7d621 Merge pull request #65 from jtcressy/master
[mc] resolved issues with downloading new server executable
2016-03-18 11:57:38 -05:00
jtcressy a195583990 Cleaned Up Code per itzg's suggestion
Replaced hardcoded spigot_server.jar with $SERVER and broke up the line
to make it more readable.
2016-03-16 21:18:31 -06:00
jtcressy a1ead0634e [mc] New method of downloading newer spigot server executable.
using double pipe "||", bash will continue to the next statement if the
first statement returns false or has an error. Using the -N option, wget
will overwrite the file if it is newer. So, if the -O option was used,
and both wget commands failed (both http and https were down) then wget
would overwrite the file with a 0 byte copy and effectively delete it.
-N works better in this case, since wget will not overwrite it with an
empty file if it can't download it.
2016-03-15 13:09:28 -06:00
jtcressy b23fb93366 Undid method of pulling spigot_server.jar
rm -f $SERVER was a bad idea, as it deletes the server file regardless
of whether wget is able to download a new one. If you keep a copy of
spigot_server in the server directory, wget will fail if it's unable to
pull the file and it wont delete what you already have.
2016-03-15 01:05:37 -06:00
Geoff Bourne 68d731c096 [mc] Ensure a fresh Bukkit/Spigot jar is downloaded every time 2016-03-06 15:34:02 -06:00
Geoff Bourne a4bd241be6 [mc] Adding Spigot/Bukkit 1.9 support
fixes #62
2016-03-04 22:13:02 -06:00
Geoff Bourne 5f104a32db [mc] Adding back text editors (vim and nano) 2016-03-03 22:32:22 -06:00
Geoff Bourne 03d9064b35 [mc] Putting back usermod solution 2016-02-27 17:10:11 -06:00
Geoff Bourne b15ad9e799 Merge pull request #60 from itzg/mc/java8
Mc/java8
2016-02-21 20:02:37 -06:00
Geoff Bourne 17bfedd137 [cassandra] Upgrade to 2.2.5 2016-02-20 18:26:04 -06:00
Geoff Bourne afa25e582d [mc] Upgrade base image to java:8 2016-02-20 18:05:41 -06:00
Geoff Bourne 7651cc658e [jenkins] Upgrade base to java:8-jdk 2016-02-04 21:19:42 -06:00
Geoff Bourne dd0bcda23c Fixes #58 by allowing FML versions 1.8.8+ to be 3-part 2016-01-31 09:13:22 -06:00
Geoff Bourne afa710455d Merge pull request #57 from Jadaw1n/master
[minecraft] Pass GID as docker option
2016-01-29 15:56:18 -06:00
Piero Steinger 70a55e3be1 [minecraft] Pass GID as docker option 2016-01-29 20:50:53 +01:00
Geoff Bourne 13ee106dac Merge pull request #51 from nlloyd/master
Adding gamerule.txt configuration file handling (optional)
2016-01-06 15:53:16 -06:00
Nick Lloyd 6253d5ddc0 Merge branch 'itzg-master' 2016-01-06 15:56:50 -05:00
Nick Lloyd 63e3123ab0 gamerules.txt is now bootstrap.txt 2016-01-06 15:55:45 -05:00
Geoff Bourne 1be18346ce [mc] Add Bukkit/Spigot support to MODPACK download-install 2016-01-03 09:37:27 -06:00
Geoff Bourne 9a90acab23 [mc] Fixed typo in Dockerfile 2016-01-01 22:23:26 -06:00
Geoff Bourne edd69c40f6 Merge pull request #52 from sshipway/master
Add Spigot support, and non-zip URLs
2016-01-01 22:00:14 -06:00
Steve Shipway 582c60cd03 Add /plugins mount for external bukkit plugins
Add TYPE=BUKKIT documentation
2016-01-02 13:11:07 +13:00
Steve Shipway 13a6d91295 Fix typo 2016-01-02 12:20:39 +13:00
Steve Shipway d0263f31d6 Add bukkit/spigot type download 2016-01-02 12:12:20 +13:00
Steve Shipway 4ab31a049b Allow non-ZIP urls for download
Add directory rename for Spigot
2016-01-02 11:33:05 +13:00
Nick Lloyd 4b74d13f08 removing old exec java call 2016-01-01 17:11:10 -05:00
Nick Lloyd 2afbdc959e added special handling for on startup gamerules (/gamerule commands), unfortunately will clobber stdin for the running server process 2016-01-01 17:06:56 -05:00
Geoff Bourne 9fa27b9a3d [mc] Adding MODPACK download option similar to WORLD 2016-01-01 12:39:43 -06:00
Geoff Bourne 16b3f18400 Merge pull request #49 from sshipway/master
Add WORLD env var to download save via HTTP, and other fixes
2015-12-22 10:42:54 -06:00
Geoff Bourne 79f9e02446 [cassandra] Upgrade to 2.2.4 2015-12-22 10:19:48 -06:00
Steve Shipway a313c03fff Verify source URL and log if not working 2015-12-22 20:39:53 +13:00
Steve Shipway e76068e63e Many improvements to help it work with automated schedulers
- Allow -e WORLD=http://xxxx/world.zip to download archived world and unpack
- Allow 'adventure' and 'spectator' game modes
- Allow /mods and /config mounts for shared Forge mods without using /data
- Quote many strings in case of blank values
- Let VERSION take lowercase options, and set to LATEST if blank or invalid
- Enable command blocks by default (needed for adventure worlds)
- Allow DIFFICULTY to be given numerically
- default to empty banned-players and banned-ip files to avoid error message
2015-12-22 19:53:29 +13:00
root 2427cae5a2 Quote pathnames in case of spaces and such 2015-12-19 21:50:44 +13:00
root e902c6f40f Set command blocks enabled on servers by default; improved use of
http world download.
2015-12-19 21:48:09 +13:00
Steve ef34025dd8 Add support for download of world in zipfile
WORLD=http://hostname/world.zip
Zipfile should contain world/ directory, and optionally any required mods in mods/ as well as optionally
a default server.properties file (overwritten by any env vars)
Also export volumes /mods and /config, the contents of which are copied to /data/mods and /data/config.  This
allows shared read-only mounts for modules without affecting world.
2015-12-19 15:32:29 +13:00
Geoff Bourne 0acedd04b9 Merge remote-tracking branch 'refs/remotes/origin/mc-issue-47' 2015-12-01 21:47:02 -06:00
Geoff Bourne 2f5402195c Merge remote-tracking branch 'refs/remotes/origin/master' into mc-issue-47 2015-11-30 21:51:19 -06:00
Geoff Bourne 764ae807e0 Avoid text file busy prior to exec sudo 2015-11-30 20:56:25 -06:00
Geoff Bourne 32cb5f44e4 [mc] also apply to white-list property 2015-11-28 23:02:43 -06:00
Geoff Bourne a6e32f0ea9 Merge pull request #46 from everett-toews/whitelist
Whitelist players
2015-11-28 22:37:18 -06:00
Everett Toews 111883e0d5 Whitelist players 2015-11-28 22:11:01 -06:00
Geoff Bourne 847f403bd3 [es] Fixed #45 with corrected binding and re-worked example
* also upgraded to 2.1.0
* added a MULTICAST env var for supporting networks
2015-11-28 11:35:59 -06:00
Geoff Bourne 39bb0d75e2 [cassandra] Upgrade to 2.1.11 2015-11-04 18:24:02 -06:00
Geoff Bourne 01473c4e43 Fixes #44 : use 2.0 plugin install syntax 2015-11-04 18:21:46 -06:00
Geoff Bourne b3a79d6b08 [es] Upgrade to 2.0.0 2015-10-29 19:58:28 -05:00
Geoff Bourne 5484f50659 [es] Upgrade to 1.7.3 2015-10-29 19:35:20 -05:00
Geoff Bourne 53e727298e Refreshing apt baseline 2015-10-29 19:17:34 -05:00
Geoff Bourne a4aa177d6e Merge pull request #43 from everett-toews/patch-1
Consistent use of name "mc" everywhere
2015-10-09 08:01:13 -05:00
Everett Toews a412cfddad Missed one... 2015-10-08 21:01:24 -05:00
Everett Toews 594c9873c4 Consistent use of name "mc" everywhere 2015-10-08 20:57:03 -05:00
Geoff Bourne 94442458e3 [cassandra] Upgrade to 2.1.9 2015-10-03 07:19:36 -05:00
Geoff Bourne f75d735540 Merge branch 'master' of github.com:itzg/dockerfiles 2015-10-03 07:07:19 -05:00
Geoff Bourne fec75cb117 Add support for level type and generator settings 2015-10-03 07:05:01 -05:00
Geoff Bourne 007fca149c Adding info about using Docker Compose 2015-08-15 10:06:32 -05:00
Geoff Bourne ac608b7abb Refreshed devbox versions and run with non-root user 2015-07-24 15:21:01 -05:00
Geoff Bourne 7f048c5e8b [es] Adding CLUSTER_FROM feature for migrating cluster data directories 2015-07-24 12:51:21 -04:00
Geoff Bourne 53932e64f2 [es] Upgrade to 1.7.0 and add /conf/env override feature
fixes #39 and #40
2015-07-23 20:46:06 -05:00
Geoff Bourne 19b77ba18b [kibana] Upgrade to 4.1.1
resolves #38
2015-07-18 09:27:08 -05:00
Geoff Bourne f911230c1b [titan-gremlin] Refresh of base packages 2015-07-18 09:15:39 -05:00
Geoff Bourne 1c7469bb8c [ubuntu-openjdk-7] Add unzip to base packages 2015-07-18 09:12:13 -05:00
Geoff Bourne b5abb012db [cass] Upgraded to 2.1.8 2015-07-18 08:46:44 -05:00
Geoff Bourne 64b428f920 Refresh packages on ubuntu-openjdk-7 base 2015-07-16 21:48:39 -05:00
Geoff Bourne 9ffdc49c1b Merge pull request #35 from domse/patch-1
Update README.md
2015-06-22 06:52:03 -05:00
domse 3f5fa1642b Update README.md
Corrected a little frustrating misspelling.
2015-06-22 10:57:42 +02:00
Geoff Bourne 6570028c06 Merge pull request #34 from nichivo/master
Fix for new Forge URLs from 1.7.10-10.13.2.1300
2015-06-13 07:45:44 -05:00
nichivo ed19d745cb URL format changed for Forge 1.7.10 from 10.13.2.1300 2015-06-13 16:51:07 +10:00
nichivo f2e6696368 Updated Forge usage docs and set FORGEVERSION=RECOMMENDED by default 2015-06-13 16:49:08 +10:00
Geoff Bourne 83c31483f7 Merge pull request #32 from timvisher/feature/add-difficulty-knob
Add difficulty knob.
2015-06-11 18:25:28 -05:00
Geoff Bourne b077b3fcf2 Fixing #33 : upgrade kibana to 4.1.0 2015-06-10 21:48:52 -05:00
Geoff Bourne 81ab299419 Fixing #29 : upgrade logstash to 1.5.0 (GA) 2015-06-10 21:46:05 -05:00
Tim Visher 53a0d0cf7a Default to easy. 2015-06-10 15:12:05 -04:00
Tim Visher 99b884f18a Add note to README about setting world difficulty. 2015-06-10 15:00:53 -04:00
Tim Visher ebc0405e72 typo. 2015-06-10 14:14:31 -04:00
Tim Visher b86370295c Add difficulty knob. 2015-06-10 14:13:36 -04:00
Geoff Bourne 7e624b90dd [es] Upgraded to 1.6.0 2015-06-09 19:57:30 -05:00
Geoff Bourne 6ba5fe29c1 Merge pull request #26 from 55chevypickup/patch-1
Added the ability to select forge version
2015-05-21 19:49:43 -05:00
Geoff Bourne f9c7dddb19 [titan-gremin] Fixed linked ES container lookup
* removed unnecessary complexity from README
2015-05-19 20:41:17 -05:00
Geoff Bourne ea32f70dd7 [logstash] Upgrade to 2.0.15 2015-05-19 19:50:44 -05:00
55chevypickup 0f466e2146 Added the ability to select forge version
Added the ability to select forge version by adding -e FORGEVERSION=10.13.3.1403-1.7.10 or -e FORGEVERSION=RECOMMENDED
2015-05-11 15:45:23 -05:00
Geoff Bourne 128dd8950a [es] Upgraded to 1.5.2 2015-04-27 21:31:35 -05:00
Geoff Bourne 5c947fd4ab [logstash] Added README 2015-04-12 22:11:10 -05:00
Geoff Bourne 5792b2996a Adding logstash image with pre-install of elasticsearch_groom 2015-04-12 11:09:49 -05:00
Geoff Bourne 57ca565d64 [es] Upgrade to 1.5.1 2015-04-12 08:01:33 -05:00
Geoff Bourne 63925a794c For #19: added PVP env var options
* also adding a marker env var for MCCY to reference
2015-03-29 13:39:25 -05:00
Geoff Bourne d4d070018a [mc] Adding APT_GET_UPDATE to ensure latest base image is used on hub 2015-03-28 13:16:10 -05:00
Geoff Bourne 8594054047 Fixing #21 by using sudo instead of su 2015-03-28 13:10:39 -05:00
Geoff Bourne 6f62af7d85 Fixed #22: upgraded ES to 1.5.0 2015-03-26 02:26:27 +00:00
Geoff Bourne b1f9d1c7c6 Use Forge recommended (not latest) version
* Misc Dockerfile cleanup
** use COPY instead of ADD
** wget is now pre-installed by base image
2015-03-20 20:26:43 -05:00
Geoff Bourne 8c3b0a720d Merge pull request #20 from justinclayton/patch-1
minecraft-server: fixing quotes so volume will create correctly
2015-03-17 12:44:48 -05:00
Justin Clayton cc3730e5a9 minecraft-server: fixing quotes so volume will create correctly
Single quotes don't work for VOLUME, but double quotes do.
2015-03-17 10:37:47 -07:00
Geoff Bourne 7b58d59cef Add kibana to build 2015-03-08 19:05:34 -05:00
Geoff Bourne 84c3ea2465 Adding a Kibana 4 image 2015-03-08 18:54:37 -05:00
Geoff Bourne 78d9add46c Go ahead and install with openjdk image 2015-03-08 17:34:50 -05:00
Geoff Bourne 2f18e7be04 Merge pull request #18 from itzg/mc-attach
[mc] Update README to describe attach mode
2015-03-07 13:12:16 -06:00
Geoff Bourne 011108cd7e Fix typo in TLS info 2015-03-07 11:41:26 -06:00
Geoff Bourne 1600b75513 [mc] Update README to describe attach mode 2015-03-06 22:21:26 -06:00
Geoff Bourne 9962d28f41 Dangling forge-data reference 2015-03-05 15:16:35 -06:00
Geoff Bourne ea08a6b496 Consistent description of /path/on/host 2015-03-05 15:13:17 -06:00
Geoff Bourne a61d44ff30 Webhook into CircleCI 2015-03-05 15:10:28 -06:00
Geoff Bourne 5e14d3fbdd Improve Forge instructions 2015-03-05 15:04:48 -06:00
Geoff Bourne eb28c2c980 Add docker service to CircleCI config 2015-03-05 14:34:28 -06:00
Geoff Bourne 024800201f Fix build script 2015-03-05 14:32:50 -06:00
Geoff Bourne 32e5f94a87 Configuring CircleCI to perform docker build to "test" 2015-03-05 14:30:46 -06:00
Geoff Bourne 88032acbfb Merge pull request #17 from itzg/forge-2
Resolves #14
2015-03-05 14:18:17 -06:00
Geoff Bourne 22e1abe628 [minecraft-server] Update README with new TYPE option 2015-03-05 14:16:14 -06:00
Geoff Bourne 01d9c54575 Simplify down our options when it comes to forge versions 2015-03-04 22:21:52 -06:00
Geoff Bourne fab9669b42 Merge remote-tracking branch 'remotes/dan/forge' into forge-2 2015-03-04 21:35:35 -06:00
Daniel L. Polanco df09adbfd7 Add non-working code to work with Goeff 2015-03-04 20:07:37 -07:00
Geoff Bourne 9e373d8b4d Update README.md 2015-03-04 19:35:09 -06:00
Daniel L. Polanco 2f4b73d862 Remove commented out cd /data from testing 2015-03-04 18:17:20 -07:00
Daniel L. Polanco a252d794f9 Fix bad variable names 2015-03-04 18:15:36 -07:00
Daniel L. Polanco 79438e14de Simplify start-minecraft.sh 2015-03-04 17:47:54 -07:00
Daniel L. Polanco ddbc7e9618 Add apt-get update to beginning of Dockerfile 2015-03-04 17:06:51 -07:00
Daniel L. Polanco 87140179f2 Add option for Vanilla or Forge server 2015-03-04 16:55:57 -07:00
Daniel L. Polanco 14a1e5fb2a Add initial version of forge download scraper 2015-03-01 21:39:38 -07:00
Geoff Bourne 2e8704a311 Merge pull request #13 from steveblackmon/master
bump to 1.4.4
2015-02-20 06:30:30 -06:00
Steve Blackmon b1741cab7b bump to 1.4.4 2015-02-19 22:48:23 -06:00
Geoff Bourne d63bc698d8 [jenkins] Added JNLP port info to README 2015-02-17 19:35:39 -06:00
Geoff Bourne 574fc53a55 Adding a fixed port for JNLP launched slave agents 2015-02-17 19:32:47 -06:00
Geoff Bourne b75379a980 [jenkins] Adding git and openjdk install example 2015-02-17 19:11:53 -06:00
Geoff Bourne 086d9fb4ae [jenkins] Initial commit of self-upgrading Jenkins 2015-02-16 22:30:06 -06:00
Geoff Bourne 214fcda183 [titan-gremlin] Updated README for itzg/cassandra usage 2015-02-16 14:52:19 +00:00
Geoff Bourne 4dff67e03b [titan-gremlin] Automatically use 'itzg/cassandra' image's publish-as address 2015-02-16 14:50:03 +00:00
Geoff Bourne 78d82b334b [cassandra] Creating a Cassandra image that works with titan-gremlin and Titan Browser 2015-02-16 14:48:42 +00:00
Geoff Bourne 3059282c7a [ubuntu-openjdk-7] Refresh the apt cache 2015-02-15 06:18:07 +00:00
Geoff Bourne 88509c66a6 [titan-gremlin] Adding apt-clean and skipping extra bash in CMD spec 2015-02-15 06:12:51 +00:00
Geoff Bourne 307a9b119f [titan-gremlin] Fix typo in README 2015-02-15 00:08:18 -06:00
Geoff Bourne 6c58660a73 [titan-gremlin] Making it super easy to link to Cassandra and ES containers 2015-02-15 06:05:08 +00:00
Geoff Bourne b7f5088b13 Merge pull request #12 from dfanchon/patch-1
Change ES version to 1.4.3
2015-02-13 08:38:23 -06:00
Didier Fanchon abee16a143 Change ES version to 1.4.3 2015-02-13 15:36:48 +01:00
Geoff Bourne 8319b336c7 [minecraft-server] Updated README for new -e UID option (fixes #9) 2015-01-28 19:52:42 -06:00
Geoff Bourne 6ea862859b * Updating openjdk base image 2015-01-27 22:01:25 -06:00
Geoff Bourne 88a796bb44 Issue #9: performing usermod to allow for -e provided uid of the minecraft server process
* corrected .dockerignore to allow for a $(pwd)/data for local testing of -v
2015-01-26 03:29:35 +00:00
Geoff Bourne a8c3afbe88 Merge pull request #10 from andreasheil/master
propagate SIGTERM to the Minecraft process
2015-01-05 18:16:23 -06:00
Andreas Heil 60b6eea1e2 propagate SIGTERM to the Minecraft process 2015-01-05 10:32:31 +01:00
Geoff Bourne bc9afcd659 [minecraft-server] Issue #9: explicitly adding user in container with UID=1000 2015-01-03 14:17:05 +00:00
Geoff Bourne 052f80d849 [minecraft-server] Issue #9: Added back the /start file in the image 2015-01-01 23:47:12 +00:00
Geoff Bourne 7e847829ee * also moved EULA check before download to fail-fast 2015-01-01 16:01:15 +00:00
Geoff Bourne 44c0eee0f9 Updating minecraft-server README with SEED and MODE options 2015-01-01 09:22:59 -06:00
Geoff Bourne 0337f9fac1 Adding Minecraft -e options for the game mode and level seed 2015-01-01 15:10:41 +00:00
Geoff Bourne 287185919a Upgrading to ES 1.4.2 2014-12-22 20:44:27 -06:00
Geoff Bourne b895e07e82 Default the versioning to grab latest stable 2014-12-06 10:26:03 -06:00
Geoff Bourne 6396e58d3c Upgrading default minecraft server to 1.8.1 2014-12-01 04:05:12 +00:00
Geoff Bourne 4de10e1ba8 Reposition ES_VERSION after apt-get operations 2014-11-30 21:39:59 -06:00
Geoff Bourne 1a364ae733 Upgrading ES to 1.4.1 2014-11-30 18:56:16 -06:00
Geoff Bourne 9ffa2daeaa Fixing minor typos in README 2014-11-30 17:59:09 -06:00
Geoff Bourne 8973e7dc7b Deprecating the elasticsearch-marvel image 2014-11-15 15:29:49 -06:00
Geoff Bourne 3c8db58c7e Adding 1.4 stream at 1.4.0 2014-11-15 21:15:33 +00:00
Geoff Bourne ee9f27546b Removing command-echoing in start script and adding info output 2014-11-15 21:12:49 +00:00
Geoff Bourne 8a2199a890 Added a README 2014-11-15 15:02:27 -06:00
Geoff Bourne b4be1b37bd Added support for installing plugins 2014-11-15 20:10:06 +00:00
Geoff Bourne d590bc62c1 Added PUBLISH_AS capability 2014-11-15 18:05:01 +00:00
Geoff Bourne 9349ca6d04 Initial setup of direct-from-elasticsearch.org install 2014-11-15 04:39:34 +00:00
80 changed files with 2587 additions and 634 deletions
+17
View File
@@ -0,0 +1,17 @@
version: 2
jobs:
minecraft_server:
docker:
- image: circleci/buildpack-deps:19.10
steps:
- checkout
- setup_remote_docker
- run:
name: Build image
command: docker build -t mc:$CIRCLE_BUILD_NUM .
workflows:
version: 2
build:
jobs:
- minecraft_server
+4
View File
@@ -0,0 +1,4 @@
data
examples
k8s-examples
.idea
+2
View File
@@ -0,0 +1,2 @@
[start-*]
indent_size = 2
+17
View File
@@ -0,0 +1,17 @@
# Auto detect text files and perform LF normalization
* text=auto
# Custom for Visual Studio
*.cs diff=csharp
# Standard to msysgit
*.doc diff=astextplain
*.DOC diff=astextplain
*.docx diff=astextplain
*.DOCX diff=astextplain
*.dot diff=astextplain
*.DOT diff=astextplain
*.pdf diff=astextplain
*.PDF diff=astextplain
*.rtf diff=astextplain
*.RTF diff=astextplain
+6
View File
@@ -0,0 +1,6 @@
daysUntilClose: 14
responseRequiredLabel: "status/waiting on feedback"
closeComment: >
This issue has been automatically closed because there has been no response
after requesting feedback. Please feel free to re-open this issue if the
scenario still exists and provide a comment with more information.
+3 -1
View File
@@ -1 +1,3 @@
.idea/
/data/
/.idea/
*.iml
+68
View File
@@ -0,0 +1,68 @@
FROM openjdk:8u212-jre-alpine
LABEL maintainer "itzg"
RUN apk add --no-cache -U \
openssl \
imagemagick \
lsof \
su-exec \
shadow \
bash \
curl iputils wget \
git \
jq \
mysql-client \
tzdata \
rsync \
nano \
python python-dev py2-pip
RUN pip install mcstatus yq
HEALTHCHECK CMD mcstatus localhost:$SERVER_PORT ping
RUN addgroup -g 1000 minecraft \
&& adduser -Ss /bin/false -u 1000 -G minecraft -h /home/minecraft minecraft \
&& mkdir -m 777 /data /mods /config /plugins \
&& chown minecraft:minecraft /data /config /mods /plugins /home/minecraft
EXPOSE 25565 25575
RUN echo 'hosts: files dns' > /etc/nsswitch.conf
ARG RESTIFY_VER=1.1.6
ARG RCON_CLI_VER=1.4.6
ARG MC_SERVER_RUNNER_VER=1.3.2
ARG ARCH=amd64
ADD https://github.com/itzg/restify/releases/download/${RESTIFY_VER}/restify_${RESTIFY_VER}_linux_${ARCH}.tar.gz /tmp/restify.tgz
RUN tar -x -C /usr/local/bin -f /tmp/restify.tgz restify && \
rm /tmp/restify.tgz
ADD https://github.com/itzg/rcon-cli/releases/download/${RCON_CLI_VER}/rcon-cli_${RCON_CLI_VER}_linux_${ARCH}.tar.gz /tmp/rcon-cli.tgz
RUN tar -x -C /usr/local/bin -f /tmp/rcon-cli.tgz rcon-cli && \
rm /tmp/rcon-cli.tgz
ADD https://github.com/itzg/mc-server-runner/releases/download/${MC_SERVER_RUNNER_VER}/mc-server-runner_${MC_SERVER_RUNNER_VER}_linux_${ARCH}.tar.gz /tmp/mc-server-runner.tgz
RUN tar -x -C /usr/local/bin -f /tmp/mc-server-runner.tgz mc-server-runner && \
rm /tmp/mc-server-runner.tgz
COPY mcadmin.jq /usr/share
RUN chmod +x /usr/local/bin/*
VOLUME ["/data","/mods","/config"]
COPY server.properties /tmp/server.properties
WORKDIR /data
ENTRYPOINT [ "/start" ]
ENV UID=1000 GID=1000 \
JVM_XX_OPTS="-XX:+UseG1GC" MEMORY="1G" \
TYPE=VANILLA VERSION=LATEST FORGEVERSION=RECOMMENDED SPONGEBRANCH=STABLE SPONGEVERSION= FABRICVERSION=LATEST LEVEL=world \
PVP=true DIFFICULTY=easy ENABLE_RCON=true RCON_PORT=25575 RCON_PASSWORD=minecraft \
LEVEL_TYPE=DEFAULT GENERATOR_SETTINGS= WORLD= MODPACK= MODS= SERVER_PORT=25565 ONLINE_MODE=TRUE CONSOLE=true SERVER_NAME="Dedicated Server" \
REPLACE_ENV_VARIABLES="FALSE" ENV_VARIABLE_PREFIX="CFG_"
COPY start* /
RUN dos2unix /start* && chmod +x /start*
+1
View File
@@ -0,0 +1 @@
<mxfile userAgent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.110 Safari/537.36" version="6.4.4" editor="www.draw.io" type="github"><diagram name="Page-1">1VVNc5swEP01HDMDUiDOMbGd5pK2Ux96VkGAxgJRIRvcX9+VWD40ODOZ1j0Uz9jS2w+t3ts1Ad1W/SfNmvJNZVwGJMz6gO4CQjZRCN8WuAxA8vgwAIUW2QBFM3AQvziCGFecRMZbz9EoJY1ofDBVdc1T42FMa9X5brmS/qkNK/gKOKRMrtHvIjMlolEYzoZXLooSj97EaPjB0mOh1anG8wJCc/cM5oqNudC/LVmmugVE9wHdaqXMsKr6LZeW2pG2Ie7lHetUt+a1+UgAGQLOTJ74WHEiIfQ5E2dbn7kgJ8nPky3q2fDe3DEpijqgT+AheW5mK6wK/HVZ2obVI7ZT6ZFrCHlVrRkdoLSlzwJ2BYwo8WohXSkMPzQstfsOWhCcSlNJ2EX21JFVu8mFlFsllXahdJ/YD+Bnro0AyZ+Gu+yMslnwZjt3LVd/KurCpgptLlWbA5aBXNs0vH+X/mgSFWaFq4obfQEXDKDYBhd/2809RzeIlYt2mxwZ9nkxZZ61hgXKfV16upK+EjBMmuXmruX67KSCATMMYL2SwDU5z5DkvxAE52NNvdHqyBeOoXs8UWIbplP8A3ES3UCVja/K41oVEl5RJYpuoMr9SpU34B+Qr0rD0ITD0JE4TuI/nopwLcKLexYi6OFet6CT3Pt8TjwtCI3IFUJv0eXxis9v2y+fr/D58P/yGf87PmE7v4ycbfHCp/vf</diagram></mxfile>
+1035 -3
View File
File diff suppressed because it is too large Load Diff
-7
View File
@@ -1,7 +0,0 @@
pkgs="ubuntu-openjdk-7 gvm spring-boot"
for p in $pkgs
do
docker build -t itzg/$p $p
done
-29
View File
@@ -1,29 +0,0 @@
FROM itzg/ubuntu-openjdk-7
RUN apt-get update
RUN apt-get install -yq git curl wget unzip openjdk-7-jdk
ENV MAVEN_VER 3.2.2
ENV NODEJS_VER 0.10.29
WORKDIR /opt
RUN wget -O /tmp/maven.tgz http://apache.mirrors.pair.com/maven/maven-3/$MAVEN_VER/binaries/apache-maven-$MAVEN_VER-bin.tar.gz
RUN tar xvf /tmp/maven.tgz && rm /tmp/maven.tgz
ENV M2_HOME /opt/apache-maven-$MAVEN_VER
ENV PATH $PATH:$M2_HOME/bin
RUN curl -s https://raw.githubusercontent.com/isaacs/nave/master/nave.sh > /usr/local/bin/nave
RUN chmod +x /usr/local/bin/nave
RUN nave usemain latest
WORKDIR /root
env HOME /root
VOLUME ["/shared"]
RUN curl -s get.gvmtool.net | bash
RUN apt-get clean && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
CMD bash
-25
View File
@@ -1,25 +0,0 @@
Provides a development/build environment for Java, Groovy, and NodeJS.
* Provides 'gvm' for Groovy (and more) installation management
* Provides 'nave' for NodeJS installation management
* Pre-installs the latest NodeJS via nave
## Using the persistent/shared workarea
Since devbox containers are intended to be disposable, the image is configured
with a "volume" at `/shared`.
There are a couple of ways you can leverage that volume. Either attach it to
a host-local directory:
docker run -it -v $(pwd)/workarea:/shared --rm itzg/devbox
or run a "base" container and mounts the `/shared` from that onto any
subsequent containers:
docker run --name devbox-base itzg/devbox touch /shared/READY
...later...
docker run -it --volumes-from devbox-base --rm itzg/devbox
**NOTE** I am using the `--rm` option so the devbox containers will be truly
"burn after use".
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash
manifest="itzg/minecraft-server:multiarch"
for t in latest rpi3 aarch64; do
docker pull itzg/minecraft-server:$t
done
docker manifest create --amend ${manifest} \
itzg/minecraft-server:aarch64 \
itzg/minecraft-server:latest \
itzg/minecraft-server:rpi3
docker manifest annotate --os linux --arch amd64 ${manifest} itzg/minecraft-server:latest
docker manifest annotate --os linux --arch arm64 ${manifest} itzg/minecraft-server:aarch64
docker manifest annotate --os linux --arch arm --variant v7 ${manifest} itzg/minecraft-server:rpi3
docker manifest push ${manifest}
+28
View File
@@ -0,0 +1,28 @@
version: '3'
# Other docker-compose examples in /examples
services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
volumes:
- "mc:/data"
environment:
EULA: "TRUE"
CONSOLE: "false"
ENABLE_RCON: "true"
RCON_PASSWORD: "testing"
RCON_PORT: 28016
restart: always
rcon:
image: itzg/rcon
ports:
- "4326:4326"
- "4327:4327"
volumes:
- "rcon:/opt/rcon-web-admin/db"
volumes:
mc:
rcon:
-5
View File
@@ -1,5 +0,0 @@
FROM dockerfile/elasticsearch
MAINTAINER itzg
RUN /elasticsearch/bin/plugin -i elasticsearch/marvel/latest
-11
View File
@@ -1,11 +0,0 @@
This image extends the official elasticsearch image by adding the Marvel Sense plugin. This will get you a system ready to use with the [ElasticSearch Getting Started Guide](http://www.elasticsearch.org/guide/en/elasticsearch/guide/current).
Start the container with a command-line such as
docker run -d --name es -p 9200:9200 -p 9300:9300 itzg/elasticsearch-marvel
and now with Marvel Sense installed you can access it using a URL like:
http://192.168.59.103:9200/_plugin/marvel/sense/index.html
(replacing the IP address shown here with your Docker host's)
+3
View File
@@ -0,0 +1,3 @@
FROM itzg/minecraft-server
ENV TYPE=SPIGOT
+13
View File
@@ -0,0 +1,13 @@
plugins:
worldedit:
file: WorldEdit.jar
url: https://dev.bukkit.org/projects/worldedit/files/latest
FastAsyncWorldEdit:
file: FastAsyncWorldEdit.jar
url: https://empcraft.com/fawe/latest.php?bukkit
worldguard:
file: WorldGuard.jar
url: https://dev.bukkit.org/projects/worldguard/files/latest
citizens:
file: Citizens.jar
url: https://dev.bukkit.org/projects/citizens/files/latest
+29
View File
@@ -0,0 +1,29 @@
version: '3'
services:
minecraft:
ports:
- "25565:25565"
volumes:
- "mcbig:/data"
environment:
EULA: "TRUE"
MAX_MEMORY: 32G
MAX_BUILD_HEIGHT: 256
VIEW_DISTANCE: 15
LEVEL_TYPE: LARGEBIOMES
MAX_PLAYERS: 100
CONSOLE: "false"
image: itzg/minecraft-server
restart: always
rcon:
image: itzg/rcon
ports:
- "4326:4326"
- "4327:4327"
volumes:
- "rcon:/opt/rcon-web-admin/db"
volumes:
mcbig:
rcon:
+11
View File
@@ -0,0 +1,11 @@
version: '3.2'
services:
mc:
image: itzg/minecraft-server
environment:
EULA: "true"
TYPE: FTB
FTB_SERVER_MOD: https://minecraft.curseforge.com/projects/all-the-mods-expert-remastered/files/2493900/download
ports:
- 25565:25565
+16
View File
@@ -0,0 +1,16 @@
version: '3.2'
services:
mc:
image: itzg/minecraft-server
environment:
EULA: "true"
TYPE: FTB
FTB_SERVER_MOD: https://www.feed-the-beast.com/projects/ftb-presents-skyfactory-3/files/2481284
ports:
- 25565:25565
volumes:
- mc-ftb:/data
volumes:
mc-ftb:
+17
View File
@@ -0,0 +1,17 @@
version: '3.7'
services:
mc:
image: itzg/minecraft-server
environment:
EULA: "true"
TYPE: PAPER
VERSION: 1.9.4
command: --noconsole
ports:
- 25565:25565
volumes:
- mc-paper:/data
volumes:
mc-paper:
+16
View File
@@ -0,0 +1,16 @@
version: '3'
services:
mc:
# build: .
image: itzg/minecraft-server
ports:
- 25565:25565
environment:
EULA: "TRUE"
# TYPE: SPIGOT
# VERSION: 1.11.2
PROXY: proxy:3128
proxy:
image: sameersbn/squid
+34
View File
@@ -0,0 +1,34 @@
version: '3'
# Forge with Sponge API support. THIS REQUIRES DOWNLOADING SPONGEFORGE.
# Place the SpongeForge jar file in /data/mods. Other Forge mods go here as well.
# Place Sponge mods in /data/mods/plugins. Yes, this is a directory inside the Forge mod directory. Do NOT use /data/plugins.
services:
minecraft:
image: itzg/minecraft-server
ports:
- "25565:25565"
volumes:
- "mc:/data"
environment:
EULA: "TRUE"
#VERSION: "1.12.2" (Ensure this is compatbile with the version of SpongeForge you are using!)
TYPE: "FORGE"
FORGEVERSION: "RECOMMENDED"
#FORGEVERSION: "14.23.5.2807"
CONSOLE: "false"
ENABLE_RCON: "true"
RCON_PASSWORD: "testing"
RCON_PORT: 28016
restart: unless-stopped
rcon:
image: itzg/rcon
ports:
- "4326:4326"
- "4327:4327"
volumes:
- "rcon:/opt/rcon-web-admin/db"
volumes:
mc:
rcon:
-30
View File
@@ -1,30 +0,0 @@
FROM itzg/ubuntu-openjdk-7
MAINTAINER itzg
ENV APT_GET_UPDATE 2014-07-19
RUN apt-get update
RUN apt-get -y install wget tar
ENV GITBLIT_VERSION 1.6.0
RUN wget -O /tmp/gitblit.tgz http://dl.bintray.com/gitblit/releases/gitblit-$GITBLIT_VERSION.tar.gz
RUN mkdir /opt/gitblit
RUN tar -C /opt/gitblit -xvf /tmp/gitblit.tgz
RUN rm /tmp/gitblit.tgz
VOLUME ["/data"]
ADD start.sh /start
WORKDIR /opt/gitblit
ENV GITBLIT_PATH /opt/gitblit
ENV GITBLIT_HTTPS_PORT 443
ENV GITBLIT_HTTP_PORT 80
ENV GITBLIT_BASE_FOLDER /data
EXPOSE 80 443
CMD ["/start"]
-5
View File
@@ -1,5 +0,0 @@
Provides a ready-to-use instance of [GitBlit](http://gitblit.com/). In order to allow for
future upgrades run the container with a volume mount of `/data`, such as:
docker run -d -p 80:80 p 443:443 -v /tmp/gitblit-data:/data --name gitblit itzg/gitblit
-10
View File
@@ -1,10 +0,0 @@
#!/bin/sh
contents=`ls $GITBLIT_BASE_FOLDER|wc -l`
if [ $contents = "0" ]; then
cp -r $GITBLIT_PATH/data/* $GITBLIT_BASE_FOLDER
fi
$JAVA_HOME/bin/java -jar $GITBLIT_PATH/gitblit.jar --httpsPort $GITBLIT_HTTPS_PORT --httpPort $GITBLIT_HTTP_PORT --baseFolder $GITBLIT_BASE_FOLDER
-12
View File
@@ -1,12 +0,0 @@
FROM itzg/ubuntu-openjdk-7
MAINTAINER itzg
RUN apt-get install -y curl unzip
RUN curl -s get.gvmtool.net | bash
ADD run /run
ONBUILD RUN ["/run", "selfupdate"]
ENTRYPOINT ["/run"]
-6
View File
@@ -1,6 +0,0 @@
#!/bin/bash
. /etc/profile.d/*
. /.gvm/bin/gvm-init.sh
gvm $*
-1
View File
@@ -1 +0,0 @@
/site
-24
View File
@@ -1,24 +0,0 @@
FROM ubuntu:trusty
MAINTAINER itzg
ENV APT_GET_UPDATE 2014-09-18
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get -y install ruby ruby-dev make patch nodejs
RUN gem install bundler
ADD Gemfile /tmp/Gemfile
WORKDIR /tmp
RUN bundle install
ADD template /site-template
VOLUME ["/site"]
EXPOSE 4000
ADD start.sh /start
CMD ["/start"]
-2
View File
@@ -1,2 +0,0 @@
source 'https://rubygems.org'
gem 'github-pages'
-14
View File
@@ -1,14 +0,0 @@
This container is pre-configured according to the
[GitHub Pages use of Jekyll](https://help.github.com/articles/using-jekyll-with-pages).
It serves up the generated content on port 4000 and the site is generated from
the container's `/site` volume. You can either bring your own site content or
let it generate some VERY simple content along with the standard Jekyll directory
layout.
A typical way to run this:
docker run -it -p 4000:4000 -v $(pwd)/site:/site itzg/jekyll-github-pages
where either it will load your content or initialize the content under
`site` in your current working directory.
-13
View File
@@ -1,13 +0,0 @@
#!/bin/sh
if [ `ls /site/index.* 2> /dev/null | wc -l` = 0 ]; then
echo "Preparing /site with default content..."
cp -r /site-template/* /site
fi
if [ ! -e /site/Gemfile ]; then
cp /tmp/Gemfile /site/Gemfile
fi
cd /site
bundle exec jekyll serve
-1
View File
@@ -1 +0,0 @@
highlighter: pygments
@@ -1,3 +0,0 @@
<footer>
<i>Goodbye</i>
</footer>
@@ -1,3 +0,0 @@
<header>
<h1>{{ page.title }}</h1>
</header>
@@ -1,18 +0,0 @@
<!doctype html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ page.title }}</title>
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css">
<!-- Optional theme -->
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap-theme.min.css">
<!-- Latest compiled and minified JavaScript -->
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
</head>
@@ -1,12 +0,0 @@
{% include top.html %}
<body>
{% include header.html %}
{{ content }}
{% include footer.html %}
</body>
</html>
-6
View File
@@ -1,6 +0,0 @@
---
layout: default
title: Powered by Jekyll
overview: true
---
This is where the content goes.
+57
View File
@@ -0,0 +1,57 @@
apiVersion: v1
kind: Service
metadata:
name: mc-vanilla
spec:
type: NodePort
ports:
- port: 25565
nodePort: 30000
selector:
app: mc-vanilla
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: mc-vanilla
spec:
selector:
matchLabels:
app: mc-vanilla
template:
metadata:
labels:
app: mc-vanilla
spec:
containers:
- image: itzg/minecraft-server
name: mc-vanilla
env:
# Use secret in real usage
- name: EULA
value: "true"
ports:
- containerPort: 25565
name: main
readinessProbe:
exec:
command:
- mcstatus
- localhost
- ping
initialDelaySeconds: 5
periodSeconds: 5
livenessProbe:
exec:
command:
- mcstatus
- localhost
- ping
initialDelaySeconds: 5
periodSeconds: 5
volumeMounts:
- name: mc-data
mountPath: /data
volumes:
- name: mc-data
emptyDir: {}
+7
View File
@@ -0,0 +1,7 @@
.[] |
select(.elements | length > 1) |
select(.elements[].elements[] | select(.class == "version" and .text == $version)) |
.elements[].elements[] |
select(.class|contains("server-jar")) |
.elements[] | select(.name="a") |
.href
-1
View File
@@ -1 +0,0 @@
/data/
-29
View File
@@ -1,29 +0,0 @@
FROM itzg/ubuntu-openjdk-7
MAINTAINER itzg
RUN apt-get install -y wget libmozjs-24-bin imagemagick && apt-get clean
RUN update-alternatives --install /usr/bin/js js /usr/bin/js24 100
RUN wget -O /usr/bin/jsawk https://github.com/micha/jsawk/raw/master/jsawk
RUN chmod +x /usr/bin/jsawk
RUN useradd -M -s /bin/false minecraft \
&& mkdir /data \
&& chown minecraft:minecraft /data
EXPOSE 25565
ADD start.sh /start
ADD start-minecraft.sh /start-minecraft
USER minecraft
VOLUME ['/data']
ADD server.properties /tmp/server.properties
WORKDIR /data
CMD [ "/start-minecraft" ]
ENV MOTD A Minecraft Server Powered by Docker
ENV LEVEL world
ENV JVM_OPTS -Xmx1024M -Xms1024M
ENV VERSION 1.8
+3 -92
View File
@@ -1,93 +1,4 @@
This docker image provides a Minecraft Server that will automatically download the latest stable,
latest snapshot, or any specific version.
# Moved to top-level
To simply use the latest stable version, run
docker run -d -p 25565:25565 itzg/minecraft-server
where the default server port, 25565, will be exposed on your host machine. If you want to serve up multiple
Minecraft servers or just use an alternate port, change the host-side port mapping such as
docker run -p 25566:25565 ...
will serve your Minecraft server on your host's port 25566 since the `-p` syntax is
`host-port`:`container-port`.
Speaking of multiple servers, it's handy to give your containers explicit names using `--name`, such as
docker run -d -p 25565:25565 --name minecraft-default itzg/minecraft-server
With that you can easily view the logs, stop, or re-start the container:
docker logs -f minecraft-default
( Ctrl-C to exit logs action )
docker stop minecraft-default
docker start minecraft-default
## EULA Support
Mojang now requires accepting the [Minecraft EULA](https://account.mojang.com/documents/minecraft_eula). To accept add
-e EULA=TRUE
such as
docker run -e EULA=TRUE -d -p 25565:25565 itzg/minecraft-server
## Attaching data directory to host filesystem
In order to persist the Minecraft data, which you *probably want to do for a real server setup*, use the `-v` argument
to map a directory on your host machine to the container's `/data` directory, such as:
docker run -d -v /path/on/host:/data ...
When attached in this way you can stop the server, edit the configuration under your attached `/path/on/host` and start the server again with `docker start CONTAINERID` to pick up the new configuration.
## Versions
To use a different Minecraft version, pass the `VERSION` environment variable, which can have the value
* LATEST
* SNAPSHOT
* (or a specific version, such as "1.7.9")
For example, to use the latest snapshot:
docker run -d -e VERSION=SNAPSHOT ...
or a specific version:
docker run -d -e VERSION=1.7.9 ...
## Server configuration
You can either switch between world saves or run multiple containers with different saves by using the `LEVEL` option,
where the default is "world":
docker run -d -e LEVEL=bonus ...
**NOTE:** if running multiple containers be sure to either specify a different `-v` host directory for each
`LEVEL` in use or don't use `-v` and the container's filesystem will keep things encapsulated.
The message of the day, shown below each server entry in the UI, can be changed with the `MOTD` environment variable, such as
docker run -d -e 'MOTD=My Server' ...
If you leave it off, the last used or default message will be used. _The example shows how to specify a server
message of the day that contains spaces by putting quotes around the whole thing._
To add more "op" (aka adminstrator) users to your Minecraft server, pass the Minecraft usernames separated by commas via the `OPS` environment variable, such as
docker run -d -e OPS=user1,user2 ...
A server icon can be configured using the `ICON` variable. The image will be automatically
downloaded, scaled, and converted from any other image format:
docker run -d -e ICON=http://..../some/image.png
The Java memory limit can be adjusted using the `JVM_OPTS` environment variable, where the default is
the setting shown in the example (max and min at 1024 MB):
docker run -e 'JVM_OPTS=-Xmx1024M -Xms1024M' ...
The contents of this directory have now been moved to the top level of
[itzg/docker-minecraft-server](https://github.com/itzg/docker-minecraft-server).
-61
View File
@@ -1,61 +0,0 @@
#!/bin/sh
case $VERSION in
LATEST)
export VERSION=`wget -O - https://s3.amazonaws.com/Minecraft.Download/versions/versions.json | jsawk -n 'out(this.latest.release)'`
;;
SNAPSHOT)
export VERSION=`wget -O - https://s3.amazonaws.com/Minecraft.Download/versions/versions.json | jsawk -n 'out(this.latest.snapshot)'`
;;
esac
cd /data
if [ ! -e minecraft_server.$VERSION.jar ]; then
echo "Downloading minecraft_server.$VERSION.jar ..."
wget -q https://s3.amazonaws.com/Minecraft.Download/versions/$VERSION/minecraft_server.$VERSION.jar
fi
if [ ! -e server.properties ]; then
cp /tmp/server.properties .
fi
if [ -n "$MOTD" ]; then
sed -i "/motd\s*=/ c motd=$MOTD" /data/server.properties
fi
if [ -n "$LEVEL" ]; then
sed -i "/level-name\s*=/ c level-name=$LEVEL" /data/server.properties
fi
if [ -n "$OPS" ]; then
echo $OPS | awk -v RS=, '{print}' >> ops.txt
fi
if [ -n "$ICON" ]; then
echo "Using server icon from $ICON..."
# Not sure what it is yet...call it "img"
wget -q -O /tmp/icon.img $ICON
specs=$(identify /tmp/icon.img | awk '{print $2,$3}')
if [ "$specs" = "PNG 64x64" ]; then
mv /tmp/icon.img /data/server-icon.png
else
echo "Converting image to 64x64 PNG..."
convert /tmp/icon.img -resize 64x64! /data/server-icon.png
fi
fi
if [ ! -e /data/eula.txt ]; then
if [ "$EULA" != "" ]; then
echo "# Generated via Docker on $(date)" > eula.txt
echo "eula=$EULA" >> eula.txt
else
echo ""
echo "Please accept the Minecraft EULA at"
echo " https://account.mojang.com/documents/minecraft_eula"
echo "by adding the following immediately after 'docker run':"
echo " -e EULA=TRUE"
echo ""
exit 1
fi
fi
java $JVM_OPTS -jar minecraft_server.$VERSION.jar
-4
View File
@@ -1,4 +0,0 @@
#!/bin/sh
set -e
chown -R minecraft:minecraft /data
exec su -s /bin/bash -c /start-minecraft minecraft
@@ -5,11 +5,14 @@ enable-query=false
allow-flight=false
announce-player-achievements=true
server-port=25565
rcon.port=25575
query.port=25565
level-type=DEFAULT
enable-rcon=false
force-gamemode=false
level-seed=
server-ip=
max-tick-time=60000
max-build-height=256
spawn-npcs=true
white-list=false
@@ -21,7 +24,7 @@ online-mode=true
resource-pack=
pvp=true
difficulty=1
enable-command-block=false
enable-command-block=true
player-idle-timeout=0
gamemode=0
max-players=20
@@ -30,4 +33,6 @@ generate-structures=true
view-distance=10
spawn-protection=16
motd=A Minecraft Server powered by Docker
generator-settings=
rcon.password=
max-world-size=29999984
-16
View File
@@ -1,16 +0,0 @@
FROM itzg/gvm
MAINTAINER itzg
RUN ["/run", "install", "springboot"]
ADD run /run
ENTRYPOINT ["/run"]
VOLUME ["/home/spring"]
ADD app.groovy /home/spring/app.groovy
EXPOSE 8080
WORKDIR /home/spring
CMD ["run", "app.groovy"]
-9
View File
@@ -1,9 +0,0 @@
@RestController
class ThisWillActuallyRun {
@RequestMapping("/")
String home() {
"Hello World!"
}
}
-5
View File
@@ -1,5 +0,0 @@
#!/bin/bash
. /.gvm/bin/gvm-init.sh
spring $*
+22
View File
@@ -0,0 +1,22 @@
#!/bin/bash
umask 0002
chmod g+w /data
if [ $(id -u) = 0 ]; then
if [[ -v UID && $UID != $(id -u) ]]; then
usermod -u $UID minecraft
fi
if [[ -v GID ]]; then
groupmod -o -g $GID minecraft
fi
if [[ $(stat -c "%u" /data) != $UID ]]; then
echo "Changing ownership of /data to $UID ..."
chown -R minecraft:minecraft /data
fi
exec su-exec minecraft:minecraft /start-configuration $@
else
exec /start-configuration $@
fi
+106
View File
@@ -0,0 +1,106 @@
#!/bin/bash
shopt -s nullglob
#umask 002
export HOME=/data
if [ ! -e /data/eula.txt ]; then
if [ "$EULA" != "" ]; then
echo "# Generated via Docker on $(date)" > eula.txt
echo "eula=$EULA" >> eula.txt
if [ $? != 0 ]; then
echo "ERROR: unable to write eula to /data. Please make sure attached directory is writable by uid=${UID}"
exit 2
fi
else
echo ""
echo "Please accept the Minecraft EULA at"
echo " https://account.mojang.com/documents/minecraft_eula"
echo "by adding the following immediately after 'docker run':"
echo " -e EULA=TRUE"
echo ""
exit 1
fi
fi
echo "Running as uid=$(id -u) gid=$(id -g) with /data as '$(ls -lnd /data)'"
if ! touch /data/.verify_access; then
echo "ERROR: /data doesn't seem to be writable. Please make sure attached directory is writable by uid=$(id -u)"
exit 2
fi
rm /data/.verify_access || true
if [[ $PROXY ]]; then
export http_proxy="$PROXY"
export https_proxy="$PROXY"
echo "INFO: Giving proxy time to startup..."
sleep 5
fi
export SERVER_PROPERTIES=/data/server.properties
export VERSIONS_JSON=https://launchermeta.mojang.com/mc/game/version_manifest.json
echo "Checking version information."
case "X$VERSION" in
X|XLATEST|Xlatest)
export VANILLA_VERSION=`curl -fsSL $VERSIONS_JSON | jq -r '.latest.release'`
;;
XSNAPSHOT|Xsnapshot)
export VANILLA_VERSION=`curl -fsSL $VERSIONS_JSON | jq -r '.latest.snapshot'`
;;
X[1-9]*)
export VANILLA_VERSION=$VERSION
;;
*)
export VANILLA_VERSION=`curl -fsSL $VERSIONS_JSON | jq -r '.latest.release'`
;;
esac
cd /data
export ORIGINAL_TYPE=${TYPE^^}
echo "Checking type information."
case "${TYPE^^}" in
*BUKKIT|SPIGOT)
exec /start-deployBukkitSpigot $@
;;
PAPER)
exec /start-deployPaper $@
;;
FORGE)
exec /start-deployForge $@
;;
FABRIC)
exec /start-deployFabric $@
;;
FTB|CURSEFORGE)
exec /start-deployFTB $@
;;
VANILLA)
exec /start-deployVanilla $@
;;
SPONGEVANILLA)
exec /start-deploySpongeVanilla $@
;;
CUSTOM)
exec /start-deployCustom $@
;;
*)
echo "Invalid type: '$TYPE'"
echo "Must be: VANILLA, FORGE, BUKKIT, SPIGOT, PAPER, FTB, CURSEFORGE, SPONGEVANILLA"
exit 1
;;
esac
+88
View File
@@ -0,0 +1,88 @@
#!/bin/bash
set -e
function buildSpigotFromSource {
echo "Building Spigot $VANILLA_VERSION from source, might take a while, get some coffee"
rm -rf /data/temp
mkdir /data/temp
cd /data/temp
jvmOpts="-Xms${INIT_MEMORY:-$MEMORY} -Xmx${MAX_MEMORY:-$MEMORY}"
curl -sSL -o /data/temp/BuildTools.jar https://hub.spigotmc.org/jenkins/job/BuildTools/lastSuccessfulBuild/artifact/target/BuildTools.jar && \
java $jvmOpts -jar /data/temp/BuildTools.jar --rev $VANILLA_VERSION 2>&1 |tee /data/spigot_build.log| while read l; do echo -n .; done; echo "done"
if ! mv spigot-*.jar /data/spigot_server.jar; then
echo "ERR failed to build Spigot"
cat /data/spigot_build.log
exit 1
fi
mv craftbukkit-*.jar /data/craftbukkit_server.jar
echo "Cleaning up"
rm -rf /data/temp
cd /data
}
function downloadSpigot {
local match
case "$TYPE" in
*BUKKIT|*bukkit)
match="CraftBukkit"
downloadUrl=${BUKKIT_DOWNLOAD_URL}
getbukkitFlavor=craftbukkit
;;
*)
match="Spigot"
downloadUrl=${SPIGOT_DOWNLOAD_URL}
getbukkitFlavor=spigot
;;
esac
local downloadVersion
if [[ ${VERSION} == LATEST ]]; then
downloadVersion=${VANILLA_VERSION}
else
downloadVersion=${VERSION}
fi
if [[ -z $downloadUrl ]]; then
downloadUrl="https://cdn.getbukkit.org/${getbukkitFlavor}/${getbukkitFlavor}-${downloadVersion}.jar"
fi
echo "Downloading $match from $downloadUrl ..."
curl -fsSL -o $SERVER "$downloadUrl"
if [[ $? != 0 || $(grep -c "DOCTYPE html" $SERVER) != 0 ]]; then
cat <<EOF
ERROR: failed to download from $downloadUrl
Visit https://getbukkit.org/download/${getbukkitFlavor} to lookup the
exact version, such as 1.4.6-R0.4-SNAPSHOT or 1.8-R0.1-SNAPSHOT-LATEST
EOF
exit 3
fi
}
case "$TYPE" in
*BUKKIT|*bukkit)
export SERVER=craftbukkit_server.jar
;;
*)
export SERVER=spigot_server.jar
;;
esac
if [ ! -f $SERVER ] || [ -n "$FORCE_REDOWNLOAD" ]; then
if [[ "$BUILD_SPIGOT_FROM_SOURCE" = TRUE || "$BUILD_SPIGOT_FROM_SOURCE" = true || "$BUILD_FROM_SOURCE" = TRUE || "$BUILD_FROM_SOURCE" = true ]]; then
buildSpigotFromSource
else
downloadSpigot
fi
fi
# Normalize on Spigot for operations below
export TYPE=SPIGOT
# Continue to Final Setup
exec /start-finalSetup01World $@
+29
View File
@@ -0,0 +1,29 @@
#!/bin/bash
. /start-utils
if isURL ${CUSTOM_SERVER}; then
filename=$(basename ${CUSTOM_SERVER})
export SERVER=/data/${filename}
if [[ -f ${SERVER} ]] || [ -n "$FORCE_REDOWNLOAD" ]; then
echo "Using previously downloaded jar at ${SERVER}"
else
echo "Downloading custom server jar from ${CUSTOM_SERVER} ..."
if ! curl -sSL -o ${SERVER} ${CUSTOM_SERVER}; then
echo "Failed to download from ${CUSTOM_SERVER}"
exit 2
fi
fi
elif [[ -f ${CUSTOM_SERVER} ]]; then
echo "Using custom server jar at ${CUSTOM_SERVER} ..."
export SERVER=${CUSTOM_SERVER}
else
echo "CUSTOM_SERVER is not properly set to a URL or existing jar file"
exit 2
fi
# Continue to Final Setup
exec /start-finalSetup01World $@
+130
View File
@@ -0,0 +1,130 @@
#!/bin/bash
. /start-utils
export FTB_BASE_DIR=/data/FeedTheBeast
legacyJavaFixerUrl=http://ftb.cursecdn.com/FTB2/maven/net/minecraftforge/lex/legacyjavafixer/1.0/legacyjavafixer-1.0.jar
export TYPE=FEED-THE-BEAST
FTB_SERVER_MOD=${FTB_SERVER_MOD:-$CF_SERVER_MOD}
echo "Looking for Feed-The-Beast / CurseForge server modpack."
if [[ -z $FTB_SERVER_MOD ]]; then
echo "Environment variable FTB_SERVER_MOD not set."
echo "Set FTB_SERVER_MOD to the file name of the FTB server modpack."
echo "(And place the modpack in the /data directory.)"
exit 2
fi
entryScriptExpr="-name ServerStart.sh -o -name ServerStartLinux.sh -o -name LaunchServer.sh"
if [[ -d ${FTB_BASE_DIR} ]]; then
startScriptCount=$(find ${FTB_BASE_DIR} $entryScriptExpr |wc -l)
if [[ $startScriptCount > 1 ]]; then
echo "Conflicting FTB/CurseForge packages have been installed. Please cleanup ${FTB_BASE_DIR}"
exit 2
fi
else
startScriptCount=0
fi
# only download and install if a mod pack isn't already installed
# also check for the start script rather than just the folder
# this allows saving just the world separate from the rest of the data directory
if [[ $startScriptCount = 0 ]]; then
srv_modpack=${FTB_SERVER_MOD}
if isURL ${srv_modpack}; then
case $srv_modpack in
https://www.feed-the-beast.com/*/download|https://www.curseforge.com/minecraft/modpacks/*/download/*/file)
;;
https://www.curseforge.com/minecraft/modpacks/*/download/*)
srv_modpack=${srv_modpack}/file;;
https://www.feed-the-beast.com/*)
srv_modpack=${srv_modpack}/download;;
esac
file=$(basename $(dirname $srv_modpack))
downloaded=/data/${file}.zip
if [ ! -e $downloaded ]; then
echo "Downloading FTB modpack...
$srv_modpack -> $downloaded"
curl -sSL -o $downloaded $srv_modpack
fi
srv_modpack=$downloaded
fi
if [[ ${srv_modpack:0:5} == "data/" ]]; then
# Prepend with "/"
srv_modpack=/${srv_modpack}
fi
if [[ ! ${srv_modpack:0:1} == "/" ]]; then
# If not an absolute path, assume file is in "/data"
srv_modpack=/data/${srv_modpack}
fi
if [[ ! -f ${srv_modpack} ]]; then
echo "FTB server modpack ${srv_modpack} not found."
exit 2
fi
if [[ ! ${srv_modpack: -4} == ".zip" ]]; then
echo "FTB server modpack ${srv_modpack} is not a zip archive."
echo "Please set FTB_SERVER_MOD to a file with a .zip extension."
exit 2
fi
echo "Unpacking FTB server modpack ${srv_modpack} ..."
mkdir -p ${FTB_BASE_DIR}
unzip -o ${srv_modpack} -d ${FTB_BASE_DIR} | awk '{printf "."} END {print ""}'
fi
if [[ $(find ${FTB_BASE_DIR} $entryScriptExpr | wc -l) = 0 ]]; then
forgeJar=$(find ${FTB_BASE_DIR} -name 'forge*.jar' -a -not -name 'forge*installer')
if [[ "$forgeJar" ]]; then
export FTB_BASE_DIR=$(dirname "${forgeJar}")
echo "No entry script found, so building one for ${forgeJar}"
cat > "${FTB_BASE_DIR}/ServerStart.sh" <<EOF
#!/bin/sh
. ./settings-local.sh
java \${JAVA_PARAMETERS} -Xmx\${MAX_RAM} -jar $(basename "${forgeJar}") nogui
EOF
chmod +x "${FTB_BASE_DIR}/ServerStart.sh"
else
echo "Please make sure you are using the server version of the FTB modpack!"
exit 2
fi
fi
scriptCount=$(find "${FTB_BASE_DIR}" $entryScriptExpr | wc -l)
if [[ $scriptCount = 0 ]]; then
echo "Please make sure you are using the server version of the FTB modpack!"
exit 2
elif [[ $scriptCount > 1 ]]; then
echo "Ambigous startup scripts in FTB modpack!"
echo "found:"
find ${FTB_BASE_DIR} $entryScriptExpr
exit 2
fi
export FTB_SERVER_START=$(find "${FTB_BASE_DIR}" $entryScriptExpr)
export FTB_DIR=$(dirname "${FTB_SERVER_START}")
chmod a+x "${FTB_SERVER_START}"
sed -i 's/-jar/-Dfml.queryResult=confirm -jar/' "${FTB_SERVER_START}"
sed -i 's/.*read.*Restart now/#\0/' "${FTB_SERVER_START}"
legacyJavaFixerPath="${FTB_DIR}/mods/legacyjavafixer.jar"
if isTrue ${FTB_LEGACYJAVAFIXER} && [ ! -e "${legacyJavaFixerPath}" ]; then
echo "Installing legacy java fixer to ${legacyJavaFixerPath}"
curl -sSL -o "${legacyJavaFixerPath}" ${legacyJavaFixerUrl}
fi
if [ -e "${FTB_DIR}/FTBInstall.sh" ]; then
pushd "${FTB_DIR}"
sh FTBInstall.sh
popd
elif [ -e "${FTB_DIR}/Install.sh" ]; then
pushd "${FTB_DIR}"
sh Install.sh
popd
fi
# Continue to Final Setup
exec /start-finalSetup01World $@
+72
View File
@@ -0,0 +1,72 @@
#!/bin/bash
set -u
export TYPE=FABRIC
FABRIC_INSTALLER=${FABRIC_INSTALLER:-}
FABRIC_INSTALLER_URL=${FABRIC_INSTALLER_URL:-}
FABRICVERSION=${FABRICVERSION:-LATEST}
if [[ -z $FABRIC_INSTALLER && -z $FABRIC_INSTALLER_URL ]]; then
echo "Checking Fabric version information."
case $FABRICVERSION in
LATEST)
curl -fsSL https://maven.fabricmc.net/net/fabricmc/fabric-installer/maven-metadata.xml | xq -c . > /tmp/fabric.json
FABRIC_VERSION=$(< /tmp/fabric.json jq -r ".metadata.versioning.release")
;;
*)
FABRIC_VERSION=$FABRICVERSION
;;
esac
FABRIC_INSTALLER="/tmp/fabric-installer-$FABRIC_VERSION.jar"
elif [[ -z $FABRIC_INSTALLER ]]; then
FABRIC_INSTALLER="/tmp/fabric-installer.jar"
elif [[ ! -e $FABRIC_INSTALLER ]]; then
echo "ERROR: the given Fabric installer doesn't exist : $FABRIC_INSTALLER"
exit 2
fi
installMarker=".fabric-installed-${FABRIC_VERSION:-manual}"
if [[ ! -e $installMarker ]]; then
if [[ ! -e $FABRIC_INSTALLER ]]; then
if [[ -z $FABRIC_INSTALLER_URL ]]; then
echo "Downloading $FABRIC_VERSION"
downloadUrl="https://maven.fabricmc.net/net/fabricmc/fabric-installer/$FABRIC_VERSION/fabric-installer-$FABRIC_VERSION.jar"
echo "...trying $downloadUrl"
curl -o $FABRIC_INSTALLER -fsSL $downloadUrl
else
echo "Downloading $FABRIC_INSTALLER_URL ..."
if ! curl -o $FABRIC_INSTALLER -fsSL $FABRIC_INSTALLER_URL; then
echo "Failed to download from given location $FABRIC_INSTALLER_URL"
exit 2
fi
fi
fi
echo "Installing Fabric $FABRIC_VERSION using $FABRIC_INSTALLER"
tries=3
set +e
while ((--tries >= 0)); do
java -jar $FABRIC_INSTALLER server -mcversion $VANILLA_VERSION -downloadMinecraft
if [[ $? == 0 ]]; then
break
fi
done
set -e
if (($tries < 0)); then
echo "Fabric failed to install after several tries." >&2
exit 10
fi
export SERVER=fabric-server-launch.jar
echo "Using server $SERVER"
echo $SERVER > $installMarker
else
export SERVER=$(< $installMarker)
fi
# Contineut to Final Setup
exec /start-finalSetup01World $@
+114
View File
@@ -0,0 +1,114 @@
#!/bin/bash
export TYPE=FORGE
if [[ -z $FORGE_INSTALLER && -z $FORGE_INSTALLER_URL ]]; then
norm=$VANILLA_VERSION
case $VANILLA_VERSION in
*.*.*)
norm=$VANILLA_VERSION ;;
*.*)
norm=${VANILLA_VERSION}.0 ;;
esac
#################################################################################
echo "Checking Forge version information."
case $FORGEVERSION in
RECOMMENDED)
curl -fsSL -o /tmp/forge.json http://files.minecraftforge.net/maven/net/minecraftforge/forge/promotions_slim.json
FORGE_VERSION=$(cat /tmp/forge.json | jq -r ".promos[\"$VANILLA_VERSION-recommended\"]")
if [ $FORGE_VERSION = null ]; then
FORGE_VERSION=$(cat /tmp/forge.json | jq -r ".promos[\"$VANILLA_VERSION-latest\"]")
if [ $FORGE_VERSION = null ]; then
echo "ERROR: Version $VANILLA_VERSION is not supported by Forge"
echo " Refer to http://files.minecraftforge.net/ for supported versions"
exit 2
fi
fi
;;
*)
FORGE_VERSION=$FORGEVERSION
;;
esac
normForgeVersion=$VANILLA_VERSION-$FORGE_VERSION-$norm
shortForgeVersion=$VANILLA_VERSION-$FORGE_VERSION
FORGE_INSTALLER="/tmp/forge-$shortForgeVersion-installer.jar"
elif [[ -z $FORGE_INSTALLER ]]; then
FORGE_INSTALLER="/tmp/forge-installer.jar"
elif [[ ! -e $FORGE_INSTALLER ]]; then
echo "ERROR: the given Forge installer doesn't exist : $FORGE_INSTALLER"
exit 2
fi
installMarker=".forge-installed-$shortForgeVersion"
if [ ! -e $installMarker ]; then
if [ ! -e $FORGE_INSTALLER ]; then
if [[ -z $FORGE_INSTALLER_URL ]]; then
echo "Downloading $normForgeVersion"
forgeFileNames="
$normForgeVersion/forge-$normForgeVersion-installer.jar
$shortForgeVersion/forge-$shortForgeVersion-installer.jar
END
"
for fn in $forgeFileNames; do
if [ $fn == END ]; then
echo "Unable to compute URL for $normForgeVersion"
exit 2
fi
downloadUrl=http://files.minecraftforge.net/maven/net/minecraftforge/forge/$fn
echo "...trying $downloadUrl"
if curl -o $FORGE_INSTALLER -fsSL $downloadUrl; then
break
fi
done
else
echo "Downloading $FORGE_INSTALLER_URL ..."
if ! curl -o $FORGE_INSTALLER -fsSL $FORGE_INSTALLER_URL; then
echo "Failed to download from given location $FORGE_INSTALLER_URL"
exit 2
fi
fi
fi
echo "Installing Forge $shortForgeVersion using $FORGE_INSTALLER"
mkdir -p mods
tries=3
while ((--tries >= 0)); do
java -jar $FORGE_INSTALLER --installServer
if [ $? == 0 ]; then
break
fi
done
if (($tries < 0)); then
echo "Forge failed to install after several tries." >&2
exit 10
fi
# NOTE $shortForgeVersion will be empty if installer location was given to us
echo "Finding installed server jar..."
unset -v latest
for file in *forge*.jar; do
[[ $file =~ installer ]] || [[ $file -nt $latest ]] && latest=$file
done
if [[ -z $latest ]]; then
echo "Unable to derive server jar for Forge"
exit 2
fi
export SERVER=$latest
echo "Using server $SERVER"
echo $SERVER > $installMarker
else
export SERVER=$(cat $installMarker)
fi
# Continue to Final Setup
exec /start-finalSetup01World $@
+18
View File
@@ -0,0 +1,18 @@
#!/bin/bash
export SERVER=paper_server.jar
if [ ! -f $SERVER ] || [ -n "$FORCE_REDOWNLOAD" ]; then
downloadUrl=${PAPER_DOWNLOAD_URL:-https://papermc.io/api/v1/paper/${VANILLA_VERSION}/latest/download}
echo "Downloading Paper $VANILLA_VERSION from $downloadUrl ..."
curl -fsSL -o $SERVER "$downloadUrl"
if [ ! -f $SERVER ]; then
echo "ERROR: failed to download from $downloadUrl (status=$?)"
exit 3
fi
fi
# Normalize on Spigot for operations below
export TYPE=SPIGOT
# Continue to Final Setup
exec /start-finalSetup01World $@
+37
View File
@@ -0,0 +1,37 @@
#!/bin/bash
export TYPE=spongevanilla
# Parse branch
echo "Choosing branch for Sponge"
case "$SPONGEBRANCH" in
EXPERIMENTAL|experimental|BLEEDING|bleeding)
SPONGEBRANCH=bleeding
;;
*)
SPONGEBRANCH=stable
;;
esac
# If not SPONGEVERSION selected, detect last version on selected branch
if [ -z $SPONGEVERSION ]; then
echo "Choosing Version for Sponge"
if [ "$SPONGEBRANCH" == "stable" ]; then
export SPONGEVERSION=`curl -fsSL https://dl-api.spongepowered.org/v1/org.spongepowered/$TYPE | jq -r '.buildTypes.stable.latest.version'`
else
export SPONGEVERSION=`curl -fsSL https://dl-api.spongepowered.org/v1/org.spongepowered/$TYPE | jq -r '.buildTypes.bleeding.latest.version'`
fi
fi
export SERVER="spongevanilla-$SPONGEVERSION.jar"
if [ ! -e $SERVER ] || [ -n "$FORCE_REDOWNLOAD" ]; then
echo "Downloading $SERVER ..."
curl -sSL -o $SERVER https://repo.spongepowered.org/maven/org/spongepowered/$TYPE/$SPONGEVERSION/$SERVER
fi
# Continue to Final Setup
exec /start-finalSetup01World $@
+43
View File
@@ -0,0 +1,43 @@
#!/bin/bash
. /start-utils
set -o pipefail
export SERVER="minecraft_server.${VANILLA_VERSION// /_}.jar"
if [ ! -e $SERVER ] || [ -n "$FORCE_REDOWNLOAD" ]; then
echo "Downloading $SERVER ..."
debug "Finding version manifest for $VANILLA_VERSION"
versionManifestUrl=$(curl -fsSL 'https://launchermeta.mojang.com/mc/game/version_manifest.json' | jq --arg VANILLA_VERSION "$VANILLA_VERSION" --raw-output '[.versions[]|select(.id == $VANILLA_VERSION)][0].url')
result=$?
if [ $result != 0 ]; then
echo "ERROR failed to obtain version manifest URL ($result)"
exit 1
fi
if [ $versionManifestUrl = "null" ]; then
echo "ERROR couldn't find a matching manifest entry for $VANILLA_VERSION"
exit 1
fi
debug "Found version manifest at $versionManifestUrl"
serverDownloadUrl=$(curl -fsSL ${versionManifestUrl} | jq --raw-output '.downloads.server.url')
result=$?
if [ $result != 0 ]; then
echo "ERROR failed to obtain version manifest from $versionManifestUrl ($result)"
exit 1
fi
debug "Downloading server from $serverDownloadUrl"
if isDebugging; then
verbose=-v
fi
curl $verbose -fsSL -o $SERVER $serverDownloadUrl
result=$?
if [ $result != 0 ]; then
echo "ERROR failed to download server from $serverDownloadUrl ($result)"
exit 1
fi
fi
# Continue to Final Setup
exec /start-finalSetup01World $@
+50
View File
@@ -0,0 +1,50 @@
#!/bin/bash
if [ $TYPE = "FEED-THE-BEAST" ]; then
worldDest=$FTB_BASE_DIR/$LEVEL
else
worldDest=/data/$LEVEL
fi
# If no world exists and a URL for a world is supplied, download it and unpack
if [[ "$WORLD" ]] && [ ! -d "$worldDest" ]; then
case "X$WORLD" in
X[Hh][Tt][Tt][Pp]*)
echo "Downloading world from $WORLD"
curl -sSL -o - "$WORLD" > /data/world.zip
echo "Unzipping world"
unzip -o -q /data/world.zip
rm -f /data/world.zip
if [ ! -d $worldDest ]; then
echo World directory not found
for i in /data/*/level.dat; do
if [ -f "$i" ]; then
d=`dirname "$i"`
echo Renaming world directory from $d
mv -f "$d" $worldDest
fi
done
fi
if [ "$TYPE" = "SPIGOT" ]; then
# Reorganise if a Spigot server
echo "Moving End and Nether maps to Spigot location"
[ -d "$worldDest/DIM1" ] && mv -f "$worldDest/DIM1" "/data/${LEVEL}_the_end"
[ -d "$worldDest/DIM-1" ] && mv -f "$worldDest/DIM-1" "/data/${LEVEL}_nether"
fi
;;
*)
if [[ -d $WORLD ]]; then
if [[ ! -d $worldDest ]]; then
echo "Cloning world directory from $WORLD ..."
cp -r $WORLD $worldDest
else
echo "Skipping clone from $WORLD since $worldDest exists"
fi
else
echo "Invalid URL given for world: Must be HTTP or HTTPS and a ZIP file"
fi
;;
esac
fi
exec /start-finalSetup02Modpack $@
+109
View File
@@ -0,0 +1,109 @@
#!/bin/bash
# CURSE_URL_BASE used in manifest downloads below
CURSE_URL_BASE=${CURSE_URL_BASE:-https://minecraft.curseforge.com/projects}
# Remove old mods/plugins
if [ "$REMOVE_OLD_MODS" = "TRUE" ]; then
if [ "$TYPE" = "SPIGOT" ]; then
rm -rf /data/plugins/*
else
rm -rf /data/mods/*
fi
fi
# If supplied with a URL for a modpack (simple zip of jars), download it and unpack
if [[ "$MODPACK" ]]; then
EFFECTIVE_MODPACK_URL=$(curl -Ls -o /dev/null -w %{url_effective} $MODPACK)
case "X$EFFECTIVE_MODPACK_URL" in
X[Hh][Tt][Tt][Pp]*.zip)
echo "Downloading mod/plugin pack via HTTP"
echo " from $EFFECTIVE_MODPACK_URL ..."
if ! curl -sSL -o /tmp/modpack.zip "$EFFECTIVE_MODPACK_URL"; then
echo "ERROR: failed to download from $EFFECTIVE_MODPACK_URL"
exit 2
fi
if [ "$TYPE" = "SPIGOT" ]; then
mkdir -p /data/plugins
if ! unzip -o -d /data/plugins /tmp/modpack.zip; then
echo "ERROR: failed to unzip the modpack from $EFFECTIVE_MODPACK_URL"
fi
else
mkdir -p /data/mods
if ! unzip -o -d /data/mods /tmp/modpack.zip; then
echo "ERROR: failed to unzip the modpack from $EFFECTIVE_MODPACK_URL"
fi
fi
rm -f /tmp/modpack.zip
;;
*)
echo "Invalid URL given for modpack: Must be HTTP or HTTPS and a ZIP file"
;;
esac
fi
# If supplied with a URL for a plugin download it.
if [[ "$MODS" ]]; then
for i in ${MODS//,/ }
do
EFFECTIVE_MOD_URL=$(curl -Ls -o /dev/null -w %{url_effective} $i)
case "X$EFFECTIVE_MOD_URL" in
X[Hh][Tt][Tt][Pp]*.jar)
echo "Downloading mod/plugin via HTTP"
echo " from $EFFECTIVE_MOD_URL ..."
if ! curl -sSL -o /tmp/${EFFECTIVE_MOD_URL##*/} $EFFECTIVE_MOD_URL; then
echo "ERROR: failed to download from $EFFECTIVE_MOD_URL to /tmp/${EFFECTIVE_MOD_URL##*/}"
exit 2
fi
if [ "$TYPE" = "SPIGOT" ]; then
mkdir -p /data/plugins
mv /tmp/${EFFECTIVE_MOD_URL##*/} /data/plugins/${EFFECTIVE_MOD_URL##*/}
else
mkdir -p /data/mods
mv /tmp/${EFFECTIVE_MOD_URL##*/} /data/mods/${EFFECTIVE_MOD_URL##*/}
fi
rm -f /tmp/${EFFECTIVE_MOD_URL##*/}
;;
*)
echo "Invalid URL given for modpack: Must be HTTP or HTTPS and a JAR file"
;;
esac
done
fi
if [[ "$MANIFEST" ]]; then
EFFECTIVE_MANIFEST_URL=$(curl -Ls -o /dev/null -w %{url_effective} $MANIFEST)
case "X$EFFECTIVE_MANIFEST_URL" in
X*.json)
if [ -f "${EFFECTIVE_MANIFEST_URL}" ]; then
MOD_DIR=${FTB_BASE_DIR:-/data}/mods
if [ ! -d "$MOD_DIR" ]
then
echo "Creating mods dir $MOD_DIR"
mkdir -p "$MOD_DIR"
fi
echo "Starting manifest download..."
cat "${EFFECTIVE_MANIFEST_URL}" | jq -r '.files[] | (.projectID|tostring) + " " + (.fileID|tostring)'| while read -r p f
do
if [ ! -f $MOD_DIR/${p}_${f}.jar ]
then
redirect_url="$(curl -Ls -o /dev/null -w %{url_effective} ${CURSE_URL_BASE}/${p})"
url="$redirect_url/download/${f}/file"
echo Downloading curseforge mod $url
# Manifest usually doesn't have mod names. Using id should be fine, tho
curl -sSL "${url}" -o $MOD_DIR/${p}_${f}.jar
fi
done
else
echo "Could not find manifest file, unsufficient privs, or malformed path."
fi
;;
*)
echo "Invalid manifest file for modpack. Please make sure it is a .json file."
;;
esac
fi
exec /start-finalSetup03Modconfig $@
+25
View File
@@ -0,0 +1,25 @@
#!/bin/bash
# If supplied with a URL for a config (simple zip of configurations), download it and unpack
if [[ "$MODCONFIG" ]]; then
case "X$MODCONFIG" in
X[Hh][Tt][Tt][Pp]*[Zz][iI][pP])
echo "Downloading mod/plugin configs via HTTP"
echo " from $MODCONFIG ..."
curl -sSL -o /tmp/modconfig.zip "$MODCONFIG"
if [ "$TYPE" = "SPIGOT" ]; then
mkdir -p /data/plugins
unzip -o -d /data/plugins /tmp/modconfig.zip
else
mkdir -p /data/config
unzip -o -d /data/config /tmp/modconfig.zip
fi
rm -f /tmp/modconfig.zip
;;
*)
echo "Invalid URL given for modconfig: Must be HTTP or HTTPS and a ZIP file"
;;
esac
fi
exec /start-finalSetup04ServerProperties $@
+146
View File
@@ -0,0 +1,146 @@
#!/bin/bash
# FUNCTIONS
function setServerProp {
local prop=$1
local var=$2
if [ -n "$var" ]; then
# normalize booleans
case ${var^^} in
TRUE|FALSE)
var=${var,,} ;;
esac
echo "Setting ${prop} to '${var}' in ${SERVER_PROPERTIES}"
sed -i "/^${prop}\s*=/ c ${prop}=${var}" "$SERVER_PROPERTIES"
else
echo "Skip setting ${prop}"
fi
}
function customizeServerProps {
if [ -n "$WHITELIST" ]; then
echo "Creating whitelist"
setServerProp "whitelist" "true"
setServerProp "white-list" "true"
fi
# If not provided, generate a reasonable default message-of-the-day,
# which shows up in the server listing in the client
if [ -z "$MOTD" ]; then
# snapshot is the odd case where we have to look at version to identify that label
if [[ ${ORIGINAL_TYPE} == "VANILLA" && ${VERSION} == "SNAPSHOT" ]]; then
label=SNAPSHOT
else
label=${ORIGINAL_TYPE}
fi
# Convert label to title-case
label=${label,,}
label=${label^}
MOTD="A ${label} Minecraft Server powered by Docker"
fi
setServerProp "server-name" "$SERVER_NAME"
setServerProp "server-port" "$SERVER_PORT"
setServerProp "motd" "$MOTD"
setServerProp "allow-nether" "$ALLOW_NETHER"
setServerProp "announce-player-achievements" "$ANNOUNCE_PLAYER_ACHIEVEMENTS"
setServerProp "enable-command-block" "$ENABLE_COMMAND_BLOCK"
setServerProp "spawn-animals" "$SPAWN_ANIMALS"
setServerProp "spawn-monsters" "$SPAWN_MONSTERS"
setServerProp "spawn-npcs" "$SPAWN_NPCS"
setServerProp "generate-structures" "$GENERATE_STRUCTURES"
setServerProp "view-distance" "$VIEW_DISTANCE"
setServerProp "hardcore" "$HARDCORE"
setServerProp "snooper-enabled" "$SNOOPER_ENABLED"
setServerProp "max-build-height" "$MAX_BUILD_HEIGHT"
setServerProp "force-gamemode" "$FORCE_GAMEMODE"
setServerProp "max-tick-time" "$MAX_TICK_TIME"
setServerProp "enable-query" "$ENABLE_QUERY"
setServerProp "query.port" "$QUERY_PORT"
setServerProp "enable-rcon" "$ENABLE_RCON"
setServerProp "rcon.password" "$RCON_PASSWORD"
setServerProp "rcon.port" "$RCON_PORT"
setServerProp "max-players" "$MAX_PLAYERS"
setServerProp "max-world-size" "$MAX_WORLD_SIZE"
setServerProp "level-name" "$LEVEL"
setServerProp "level-seed" "$SEED"
setServerProp "pvp" "$PVP"
setServerProp "generator-settings" "$GENERATOR_SETTINGS"
setServerProp "online-mode" "$ONLINE_MODE"
setServerProp "allow-flight" "$ALLOW_FLIGHT"
setServerProp "level-type" "${LEVEL_TYPE^^}"
if [ -n "$DIFFICULTY" ]; then
case $DIFFICULTY in
peaceful|0)
DIFFICULTY=0
;;
easy|1)
DIFFICULTY=1
;;
normal|2)
DIFFICULTY=2
;;
hard|3)
DIFFICULTY=3
;;
*)
echo "DIFFICULTY must be peaceful, easy, normal, or hard."
exit 1
;;
esac
setServerProp "difficulty" "$DIFFICULTY"
fi
if [ -n "$MODE" ]; then
echo "Setting mode"
MODE_LC=$( echo $MODE | tr '[:upper:]' '[:lower:]' )
case $MODE_LC in
0|1|2|3)
;;
su*)
MODE=0
;;
c*)
MODE=1
;;
a*)
MODE=2
;;
sp*)
MODE=3
;;
*)
echo "ERROR: Invalid game mode: $MODE"
exit 1
;;
esac
setServerProp "gamemode" "$MODE"
fi
}
# Deploy server.properties file
if [[ ${TYPE} == "FEED-THE-BEAST" ]]; then
export SERVER_PROPERTIES=${FTB_DIR}/server.properties
echo "detected FTB, changing properties path to ${SERVER_PROPERTIES}"
fi
if [ ! -e "$SERVER_PROPERTIES" ]; then
echo "Creating server.properties in ${SERVER_PROPERTIES}"
cp /tmp/server.properties "$SERVER_PROPERTIES"
customizeServerProps
elif [ -n "${OVERRIDE_SERVER_PROPERTIES}" ]; then
case ${OVERRIDE_SERVER_PROPERTIES^^} in
TRUE|1)
customizeServerProps
;;
*)
echo "server.properties already created, skipping"
;;
esac
else
echo "server.properties already created, skipping"
fi
exec /start-finalSetup05EnvVariables $@
+15
View File
@@ -0,0 +1,15 @@
#!/bin/bash
if [ "$REPLACE_ENV_VARIABLES" = "TRUE" ]; then
echo "Replacing env variables in configs that match the prefix $ENV_VARIABLE_PREFIX..."
while IFS='=' read -r name value ; do
# check if name of env variable matches the prefix
# sanity check environment variables to avoid code injections
if [[ "$name" = $ENV_VARIABLE_PREFIX* ]] && [[ $value =~ ^[0-9a-zA-Z_:/=?.+\-]*$ ]] && [[ $name =~ ^[0-9a-zA-Z_\-]*$ ]]; then
echo "Replacing $name with $value ..."
find /data/ -type f \( -name "*.yml" -or -name "*.yaml" -or -name "*.txt" -or -name "*.cfg" -or -name "*.properties" \) -exec sed -i 's#${'"$name"'}#'"$value"'#g' {} \;
fi
done < <(env)
fi
exec /start-minecraftFinalSetup $@
+129
View File
@@ -0,0 +1,129 @@
#!/bin/bash
. /start-utils
if [ -n "$OPS" -a ! -e ops.txt.converted ]; then
echo "Setting ops"
echo $OPS | awk -v RS=, '{print}' >> ops.txt
fi
if [ -n "$WHITELIST" -a ! -e white-list.txt.converted ]; then
echo "Setting whitelist"
echo $WHITELIST | awk -v RS=, '{print}' >> white-list.txt
fi
if [ -n "$ICON" -a ! -e server-icon.png ]; then
echo "Using server icon from $ICON..."
# Not sure what it is yet...call it "img"
curl -sSL -o /tmp/icon.img $ICON
specs=$(identify /tmp/icon.img | awk '{print $2,$3}')
if [ "$specs" = "PNG 64x64" ]; then
mv /tmp/icon.img /data/server-icon.png
else
echo "Converting image to 64x64 PNG..."
convert /tmp/icon.img -resize 64x64! /data/server-icon.png
fi
fi
# Make sure files exist and are valid JSON (for pre-1.12 to 1.12 upgrades)
echo "Checking for JSON files."
JSON_FILES=$(find . -maxdepth 1 -name '*.json')
for j in $JSON_FILES; do
if [[ $(python -c "print open('$j').read().strip()==''") = True ]]; then
echo "Fixing JSON $j"
echo '[]' > $j
fi
done
# If any modules have been provided, copy them over
mkdir -p /data/mods
if [ -d /mods ]; then
echo "Copying any mods over..."
rsync -a --out-format="update:%f:Last Modified %M" --prune-empty-dirs --update /mods /data
fi
[ -d /data/config ] || mkdir /data/config
for c in /config/*
do
if [ -f "$c" ]; then
echo Copying configuration `basename "$c"`
cp -rf "$c" /data/config
fi
done
mkdir -p /data/plugins
if [ "$TYPE" = "SPIGOT" ]; then
if [ -d /plugins ]; then
echo "Copying any Bukkit plugins over..."
# Copy plugins over using rsync to allow deeply nested updates of plugins
# only updates files if the source file is newer and print updated files
rsync -a --out-format="update:%f:Last Modified %M" --prune-empty-dirs --update /plugins /data
fi
fi
EXTRA_ARGS=""
# Optional disable console
if [[ ${CONSOLE} = false || ${CONSOLE} = FALSE ]]; then
EXTRA_ARGS+="--noconsole"
fi
# Optional disable GUI for headless servers
if [[ ${GUI} = false || ${GUI} = FALSE ]]; then
EXTRA_ARGS="${EXTRA_ARGS} nogui"
fi
# put these prior JVM_OPTS at the end to give any memory settings there higher precedence
echo "Setting initial memory to ${INIT_MEMORY:=${MEMORY}} and max to ${MAX_MEMORY:=${MEMORY}}"
expandedDOpts=
if [ -n "$JVM_DD_OPTS" ]; then
for dopt in $JVM_DD_OPTS
do
expandedDOpts="${expandedDOpts} -D${dopt/:/=}"
done
fi
mcServerRunnerArgs="--stop-duration 60s"
if [[ ${TYPE} == "FEED-THE-BEAST" ]]; then
if [ ! -e "${FTB_DIR}/ops.json" -a -e /data/ops.txt ]; then
cp -f /data/ops.txt ${FTB_DIR}/
fi
if [ ! -e "${FTB_DIR}/whitelist.json" -a -e /data/white-list.txt ]; then
cp -f /data/white-list.txt ${FTB_DIR}/
fi
cp -f /data/eula.txt "${FTB_DIR}/"
cat > "${FTB_DIR}/settings-local.sh" <<EOF
export MIN_RAM="${INIT_MEMORY}"
export MAX_RAM="${MAX_MEMORY}"
export JAVA_PARAMETERS="-Xms${INIT_MEMORY} $expandedDOpts"
EOF
# patch CurseForge cfg file, if present
if [ -f "${FTB_DIR}/settings.cfg" ]; then
sed -i "s/MAX_RAM=[^;]*/MAX_RAM=${MAX_MEMORY}/" "${FTB_DIR}/settings.cfg"
fi
cd "${FTB_DIR}"
echo "Running FTB ${FTB_SERVER_START} in ${FTB_DIR} ..."
if isTrue ${DEBUG_EXEC}; then
set -x
fi
exec mc-server-runner ${mcServerRunnerArgs} "${FTB_SERVER_START}"
else
# If we have a bootstrap.txt file... feed that in to the server stdin
if [ -f /data/bootstrap.txt ]; then
bootstrapArgs="--bootstrap /data/bootstrap.txt"
fi
echo "Starting the Minecraft server..."
JVM_OPTS="-Xms${INIT_MEMORY} -Xmx${MAX_MEMORY} ${JVM_OPTS}"
if isTrue ${DEBUG_EXEC}; then
set -x
fi
exec mc-server-runner ${bootstrapArgs} ${mcServerRunnerArgs} java $JVM_XX_OPTS $JVM_OPTS $expandedDOpts -jar $SERVER "$@" $EXTRA_ARGS
fi
+42
View File
@@ -0,0 +1,42 @@
#!/bin/bash
function isURL {
local value=$1
if [[ ${value:0:8} == "https://" || ${value:0:7} = "http://" ]]; then
return 0
else
return 1
fi
}
function isTrue {
local value=${1,,}
result=
case ${value} in
true|on)
result=0
;;
*)
result=1
;;
esac
return ${result}
}
function isDebugging {
if [[ ${DEBUG^^} = TRUE ]]; then
return 0
else
return 1
fi
}
function debug {
if isDebugging; then
echo "DEBUG: $*"
fi
}
-17
View File
@@ -1,17 +0,0 @@
FROM itzg/ubuntu-openjdk-7
MAINTAINER itzg
RUN apt-get install -y wget unzip
RUN wget -q -O /tmp/titan.zip http://s3.thinkaurelius.com/downloads/titan/titan-0.5.0-hadoop2.zip
RUN unzip /tmp/titan.zip -d /opt && rm /tmp/titan.zip
ENV TITAN_HOME /opt/titan-0.5.0-hadoop2
WORKDIR $TITAN_HOME
VOLUME ["/conf","/data"]
ADD start-gremlin.sh /opt/start-gremlin.sh
CMD ["/bin/bash", "-e", "/opt/start-gremlin.sh"]
-14
View File
@@ -1,14 +0,0 @@
Runs the Gremlin console from the Titan Graph Database "all" distribution.
To start the Gremlin console with the default configuration files available:
docker run -it itzg/titan-gremlin
In order to adjust or further define property files to use within Gremlin,
attach a host directory to the container's `/conf` such as
docker run -it -v $(pwd)/conf:/conf itzg/titan-gremlin
After running once your host directory will be populated with the distribution-default
configuration files. Modify those or add to them and they will available during
the next use of gremlin.
-7
View File
@@ -1,7 +0,0 @@
#!/bin/bash
if [ $(ls /conf|wc -l) = 0 ]; then
cp -r $TITAN_HOME/conf/* /conf
fi
$TITAN_HOME/bin/gremlin.sh
-54
View File
@@ -1,54 +0,0 @@
FROM itzg/ubuntu-openjdk-7
MAINTAINER itzg
ENV APT_GET_UPDATE 2014-07-19
RUN apt-get update
RUN apt-get install -y wget unzip
ENV TITAN_VER 0.4.4
ENV TITAN_STORAGE all
ENV REXSTER_VER 2.4.0
RUN wget -O /tmp/titan.zip http://s3.thinkaurelius.com/downloads/titan/titan-$TITAN_STORAGE-$TITAN_VER.zip
RUN wget -O /tmp/rexster.zip http://tinkerpop.com/downloads/rexster/rexster-server-$REXSTER_VER.zip
WORKDIR /opt
RUN unzip /tmp/titan.zip
RUN rm /tmp/titan.zip
RUN unzip /tmp/rexster.zip
RUN rm /tmp/rexster.zip
RUN ln -s titan-$TITAN_STORAGE-$TITAN_VER titan
RUN ln -s rexster-server-$REXSTER_VER rexster-server
RUN mkdir /opt/rexster-server/ext/titan
RUN ln -s /opt/titan-$TITAN_STORAGE-$TITAN_VER/lib/* /opt/rexster-server/ext/titan
RUN wget -O /opt/rexster-server/ext/titan/titan-rexter-$TITAN_VER.jar \
http://central.maven.org/maven2/com/thinkaurelius/titan/titan-rexster/$TITAN_VER/titan-rexster-$TITAN_VER.jar
# Clean up distro area
RUN rm /opt/rexster-server/ext/titan/log4j* /opt/rexster-server/ext/titan/slf4j*
RUN rm /opt/rexster-server/lib/lucene-core*
ADD gremlin /usr/local/bin/gremlin
ADD rexster /usr/local/bin/rexster
WORKDIR titan
ADD titan.properties /opt/titan/conf/titan.properties
ADD init-graph-storage.groovy /tmp/init-graph-storage.groovy
VOLUME ["/data", "/config", "/scripts"]
RUN ln -s /data /opt/titan/db
RUN gremlin -e /tmp/init-graph-storage.groovy && rm /tmp/init-graph-storage.groovy
EXPOSE 8182 8184
ADD rexster.xml /config/rexster.xml
CMD ["/usr/local/bin/rexster", "-s", "-c", "/config/rexster.xml"]
-3
View File
@@ -1,3 +0,0 @@
#!/bin/sh
/opt/titan/bin/gremlin.sh $*
-12
View File
@@ -1,12 +0,0 @@
import com.thinkaurelius.titan.core.TitanFactory
import com.thinkaurelius.titan.core.TitanGraph
import com.thinkaurelius.titan.graphdb.configuration.GraphDatabaseConfiguration
import org.apache.commons.configuration.BaseConfiguration
import org.apache.commons.configuration.Configuration
// Setup a blank one
TitanGraph g = TitanFactory.open('conf/titan.properties')
g.shutdown()
-14
View File
@@ -1,14 +0,0 @@
#!/bin/sh
if [ -n "$PUBLISH_ADDR" ]; then
echo "Enabling Doghouse access at http://$PUBLISH_ADDR:8182/doghouse"
sed -i "s#<base-uri>.*</base-uri>#<base-uri>http://$PUBLISH_ADDR</base-uri>#" /config/rexster.xml
fi
if [ -n "$SCRIPT" ]; then
echo "Running Gremlin script $SCRIPT from /scripts..."
gremlin -e /scripts/$SCRIPT
fi
echo "Starting Rexster..."
/opt/rexster-server/bin/rexster.sh $*
-28
View File
@@ -1,28 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<rexster>
<http>
<base-uri>http://localhost</base-uri>
</http>
<graphs>
<graph>
<graph-name>titan</graph-name>
<graph-type>com.thinkaurelius.titan.tinkerpop.rexster.TitanGraphConfiguration</graph-type>
<graph-location>/data/persistit</graph-location>
<graph-read-only>false</graph-read-only>
<properties>
<storage.backend>persistit</storage.backend>
<storage.directory>/data/persistit</storage.directory>
<storage.buffercount>5000</storage.buffercount>
<storage.index.search.backend>elasticsearch</storage.index.search.backend>
<storage.index.search.local-mode>true</storage.index.search.local-mode>
<storage.index.search.client-only>false</storage.index.search.client-only>
<storage.index.search.directory>/data/es</storage.index.search.directory>
</properties>
<extensions>
<allows>
<allow>tp:gremlin</allow>
</allows>
</extensions>
</graph>
</graphs>
</rexster>
-7
View File
@@ -1,7 +0,0 @@
import com.thinkaurelius.titan.core.TitanFactory
import com.thinkaurelius.titan.example.GraphOfTheGodsFactory
def g = TitanFactory.open('conf/titan.properties')
GraphOfTheGodsFactory.load(g)
g.shutdown()
-8
View File
@@ -1,8 +0,0 @@
storage.backend=persistit
storage.directory=/data/persistit
storage.buffercount=5000
storage.index.search.backend=elasticsearch
storage.index.search.local-mode=true
storage.index.search.client-only=false
storage.index.search.directory=/data/es
-9
View File
@@ -1,9 +0,0 @@
FROM ubuntu:trusty
MAINTAINER itzg
ENV APT_GET_UPDATE 2014-10-14
RUN apt-get update
RUN apt-get install -y openjdk-7-jre-headless
ENV JAVA_HOME /usr/lib/jvm/java-7-openjdk-amd64
-1
View File
@@ -1 +0,0 @@
Provides the latest OpenJDK JRE on top of Ubuntu Trusty (14.04).