one-click-apps/public/v4/apps/forge_minecraft.yml

109 lines
4.7 KiB
YAML

captainVersion: 4
services:
$$cap_appname:
image: itzg/minecraft-server:$$java_version
environment:
EULA: 'true'
TYPE: '$$server_type'
VERSION: '$$cap_minecraft_version'
FORGE_VERSION: '$$cap_forge_version'
MAX_PLAYERS: '$$cap_max_players'
MODE: '$$cap_game_mode'
MAX_MEMORY: '$$cap_max_ramG'
SERVER_NAME: '$$cap_display_name'
MOTD: '$$cap_display_description'
ONLINE_MODE: '$$cap_online_mode'
RCON_PASSWORD: '$$cap_rcon_password'
CF_API_KEY: '$$cap_cf_api_key'
CF_PAGE_URL: '$$cap_cf_page_url'
ports:
- '$$cap_mc_port:25565'
volumes:
- $$cap_appname-data:/data
stdin_open: true
tty: true
restart: unless-stopped
caproverExtra:
notExposeAsWebApp: 'true'
$$cap_appname-web:
image: itzg/rcon:multiarch
environment:
RWA_USERNAME: $$cap_web_username
RWA_PASSWORD: $$cap_web_password
RWA_ADMIN: 'TRUE'
RWA_RCON_HOST: srv-captain--$$cap_appname
RWA_RCON_PASSWORD: $$cap_rcon_password
ports:
- 4327:4327
caproverExtra:
containerHttpPort: '4326'
caproverOneClickApp:
variables:
- id: $$cap_appname
label: service name
defaultValue: minecraft
- id: $$java_version
label: Java version
description: 'Chose the Java version to run the server with. Look in the documentation for different versions: https://github.com/itzg/docker-minecraft-server#running-minecraft-server-on-different-java-version'
validRegex: /^(latest|java8|java8-jdk|java8-multiarch|java8-openj9|java8-graalvm-ce|java11|java11-jdk|java11-openj9|java17|java17-jdk|java17-openj9|java17-graalvm-ce|java17-alpine|java20)$/
defaultValue: java20
- id: $$cap_minecraft_version
label: Minecraft version
defaultValue: 1.20.1
- id: $$cap_forge_version
label: forge server version
description: 'Choose the version that works with your mc version , see: https://files.minecraftforge.net/'
defaultValue: 47.0.46
- id: $$server_type
label: Server type
description: 'Chose one of the server types from supported ones: https://github.com/itzg/docker-minecraft-server#server-types'
validRegex: /^(MAGMA|FORGE|FABRIC|QUILT|BUKKIT|SPIGOT|PAPER|FOLIA|PUFFERFISH|PURPUR|MOHIST|CATSERVER|CANYON|SPONGEVANILLA|LIMBO|CRUCIBLE|MODRINTH|FTBA|AUTO_CURSEFORGE|CURSEFORGE)$/
defaultValue: 'FORGE'
- id: $$cap_cf_api_key
label: CurseForge API Key. Necessary only when you use AUTO_CURSEFORGE server type.
- id: $$cap_cf_page_url
label: CurseForge page url. Necessary only when you use AUTO_CURSEFORGE server type.
- id: $$cap_mc_port
label: Service port
description: 'Choose "25565" if you want to connect directly to the servers domain without any port specification.'
defaultValue: 25565
validRegex: /.{1,}/
- id: $$cap_web_username
label: admin portal username
defaultValue: 'admin'
- id: $$cap_web_password
label: admin portal password.
defaultValue: $$cap_gen_random_hex(8)
- id: $$cap_rcon_password
label: Rcon cli password
defaultValue: $$cap_gen_random_hex(8)
- id: $$cap_max_ram
label: Max RAM (GB)
defaultValue: 8
validRegex: /.{1,}/
- id: $$cap_display_name
label: server displayed name
defaultValue: Minecraft server
- id: $$cap_display_description
label: server displayed description
defaultValue: Minecraft server powered by docker
- id: $$cap_online_mode
label: online mode
defaultValue: 'FALSE'
validRegex: /^(TRUE|FALSE)$/
- id: $$cap_game_mode
label: game mode
defaultValue: survival
validRegex: /^(creative|survival|adventure|spectator)$/
- id: $$cap_max_players
label: Max no of players
defaultValue: 20
validRegex: /.{1,}/
instructions:
start: Minecraft server with dynamic server types and modpack support. This is oneclickapp in the any of itzg's Minecraft server version.
end: Minecraft is deployed and available as srv-captain--$$cap_appname. Note that the application may take up to ten minutes to become available.
displayName: Dynamic Minecraft itzg server
isOfficial: false
description: Minecraft server with dynamic versions and types.
documentation: https://github.com/itzg/docker-minecraft-server