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