What are Mounts?
Mounts allow you to share directories from the host system (or Wings node) with game server containers. This enables:- Shared resources: Maps, plugins, or mods used across multiple servers
- Configuration templates: Pre-configured files for new servers
- Read-only data: Game assets, documentation, or libraries
- Central storage: Logs, backups, or shared databases
How Mounts Work
Creating a Mount
Create mount
Click Create Mount and configure:Name (required)
- Friendly identifier
- Example: “Shared Maps”, “Plugin Library”, “Game Assets”
- What the mount contains and its purpose
- Example: “Community-built maps for Minecraft servers”
- Path on the host system (Wings node)
- Must be an absolute path
- Example:
/mnt/shared/maps,/opt/game-assets
- Path inside the container
- Must be an absolute path
- Example:
/mnt/maps,/home/container/shared
- Enable to prevent servers from modifying files
- Recommended for templates and assets
- Allow server owners to enable/disable this mount
- Otherwise, only admins can assign mounts
Assign to eggs and nodes
Eggs: Which server types can use this mount
Nodes: Which nodes have access to the source directoryExample:
Nodes: Which nodes have access to the source directoryExample:
- Mount “Minecraft Maps” → Assign to Vanilla, Paper, Forge eggs
- Only assign to nodes with
/mnt/shared/mapsavailable
Mount Configuration
Source Path (Host)
The directory on the Wings node:- Must exist on all assigned nodes
- Permissions must allow container access (UID 1000 typically)
- Should be persistent storage (not tmpfs)
Target Path (Container)
Where files appear inside the server:- Use
/mnt/prefix to distinguish mounts from server files - Avoid overwriting critical paths (
/home/container/,/tmp/) - Document the target path for server owners
Read-Only Mounts
Enable Read-Only to:- Protect shared assets from modification
- Prevent accidental deletion
- Enforce consistency across servers
User Mountable
When enabled, server owners can:- See available mounts in server settings
- Enable/disable mounts for their server
- Control which shared resources they use
- Only admins can assign mounts
- Users don’t see mount options
- Useful for mandatory mounts (e.g., licensing files)
Assigning Mounts
Assign to Eggs
Mounts are available to specific server types:- Different games have different mount needs
- Prevents incompatible mounts (Java plugins in Source engine servers)
- Controls which server types access shared resources
Assign to Nodes
Mounts are only available on nodes that have the source directory:- Mounts only work where files exist
- Avoids errors from missing directories
- Supports node-specific storage configurations
Use Cases
Shared Plugin Library
Scenario: Provide common Minecraft plugins to all servers./mnt/plugins/ to their own /home/container/plugins/ directory.
Map Repository
Scenario: Share pre-built maps across servers./mnt/maps/ to their world folder.
Configuration Templates
Scenario: Provide starter configuration files.Centralized Logging
Scenario: Collect logs from all servers./mnt/logs/${SERVER_ID}/ for centralized analysis.
License Files
Scenario: Provide read-only license/key files.Managing Mounts
Viewing Mounts
The mount list displays:- Name and description
- Source → Target paths
- Read-Only and User Mountable badges
- Egg count, Node count, Server count
Editing Mounts
You can modify:- Name and description
- Source and target paths (use caution)
- Read-only flag
- User mountable flag
- Egg and node assignments
Deleting Mounts
Remove from servers
If servers are using the mount:
- Notify server owners
- Unassign mount from eggs
- Wait for servers to be rebuilt or restarted
Server Usage
Enabling Mounts (User Mountable)
If User Mountable is enabled:- Server owner goes to Server Settings > Mounts
- Sees available mounts for their egg
- Toggles mounts on/off
- Rebuilds server container to apply changes
Accessing Mount Contents
Inside the server container:Security Considerations
Read-Only by Default
✅ Use read-only for:- Shared assets (maps, plugins, mods)
- Configuration templates
- License files
- Documentation
- Log collection (needs write access)
- Shared databases (requires modifications)
- Collaborative file editing
Path Traversal
✅ Safe paths:Container Escape
❌ Never mount:Permissions
Ensure container user (UID 1000) has appropriate access:Troubleshooting
Mount not available in server
Check:- Mount is assigned to server’s egg
- Mount is assigned to server’s node
- Server has been rebuilt after mount assignment
- Source directory exists on the node
Permission denied when accessing mount
Verify:Files not appearing in container
Restart server: Changes to mounts require container rebuild:- Stop server
- Start server (triggers rebuild)
- Mounts are applied
Cannot write to mount
Check if read-only:- Edit mount in panel
- Disable Read-Only
- Rebuild server
Best Practices
Organization
✅ Structured paths:Documentation
Document mounts for users:Maintenance
Related Resources
Nodes
Configure node storage for mount sources
Eggs and Nests
Assign mounts to specific server types