Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -430,7 +430,7 @@ You can build spigot from source by adding `-e BUILD_FROM_SOURCE=true`

Plugins can either be managed within the `plugins` subdirectory of the [data directory](#data-directory) or you can also [attach a `/plugins` volume](#optional-plugins-mods-and-config-attach-points). If you add plugins while the container is running, you'll need to restart it to pick those up.

[You can also auto-download plugins using `SPIGET_RESOURCES`.](#auto-downloading-spigotmcbukkitpapermc-plugins)
[You can also auto-download plugins using `SPIGET_RESOURCES`.](#auto-downloading-spigotmcbukkitpapermc-plugins-with-spiget)

> NOTE some of the `VERSION` values are not as intuitive as you would think, so make sure to click into the version entry to find the **exact** version needed for the download. For example, "1.8" is not sufficient since their download naming expects `1.8-R0.1-SNAPSHOT-latest` exactly.

Expand All @@ -448,7 +448,7 @@ If you are hosting your own copy of Paper you can override the download URL with

If you have attached a host directory to the `/data` volume, then you can install plugins via the `plugins` subdirectory. You can also [attach a `/plugins` volume](#optional-plugins-mods-and-config-attach-points). If you add plugins while the container is running, you'll need to restart it to pick those up.

[You can also auto-download plugins using `SPIGET_RESOURCES`.](#auto-downloading-spigotmcbukkitpapermc-plugins)
[You can also auto-download plugins using `SPIGET_RESOURCES`.](#auto-downloading-spigotmcbukkitpapermc-plugins-with-spiget)

### Running a Pufferfish server

Expand Down Expand Up @@ -691,7 +691,7 @@ These paths work well if you want to have a common set of modules in a separate

> For more flexibility with mods/plugins preparation, you can declare directories to use in [the `MODS` variable](#downloadable-modplugin-pack-for-forge-fabric-and-bukkit-like-servers)

### Auto-downloading SpigotMC/Bukkit/PaperMC plugins
### Auto-downloading SpigotMC/Bukkit/PaperMC plugins with Spiget

The `SPIGET_RESOURCES` variable can be set with a comma-separated list of SpigotMC resource IDs to automatically download [SpigotMC resources/plugins](https://www.spigotmc.org/resources/) using [the spiget API](https://spiget.org/). Resources that are zip files will be expanded into the plugins directory and resources that are simply jar files will be moved there.

Expand Down
10 changes: 10 additions & 0 deletions examples/multi-project/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
This project demonstrates the use of two compose projects, `dbs` and `servers`, where the following capabilities are demonstrated:

- Managing databases, such as MariaDB, in its own compose project: `dbs`
- Using an `.env` file to avoid including user details within the compose file
- Accessing the database from a separate project, `servers`, via an external network declaration
- LuckPerms is configured to access the MariaDB instance
- Isolating the Minecraft server container by purposely **not** declaring port mappings
- Running Waterfall as a proxy
- Using configuration mount points to pre-configure Waterfall and the Minecraft server
- Using Spiget to download plugins, in this case LuckPerms
2 changes: 2 additions & 0 deletions examples/multi-project/dbs/.env
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
LUCKPERMS_USER=luckperms
LUCKPERMS_PASSWORD=luckpermspw
21 changes: 21 additions & 0 deletions examples/multi-project/dbs/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
version: "3.8"

services:
mariadb:
image: mariadb:10
environment:
MARIADB_RANDOM_ROOT_PASSWORD: yes
MARIADB_DATABASE: luckperms
# These are loaded by compose from .env
MARIADB_USER: ${LUCKPERMS_USER}
MARIADB_PASSWORD: ${LUCKPERMS_PASSWORD}
volumes:
- mariadb:/var/lib/mysql

adminer:
image: adminer
ports:
- "8806:8080"

volumes:
mariadb: {}
41 changes: 41 additions & 0 deletions examples/multi-project/servers/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
version: "3.8"

services:
proxy:
image: itzg/bungeecord
environment:
TYPE: WATERFALL
ports:
- "25565:25577"
volumes:
- waterfall:/server
- ./waterfall-config:/config

mc:
image: itzg/minecraft-server
environment:
EULA: "true"
TYPE: PAPER
# 28140: luckperms
SPIGET_RESOURCES: "28140"
# since we're behind a proxy
ONLINE_MODE: "false"
volumes:
- mc:/data
# mainly to drop in config files specific to plugins
- ./mc-plugins:/plugins
networks:
# so proxy can reach us
- default
# so we can use databases project
- dbs

volumes:
mc: {}
waterfall: {}

networks:
dbs:
# declared in ../dbs
external: true
name: dbs_default
Loading