2026-08-03 21:11:54 +00:00
< div class = " application-settings-form " >
< form wire : submit = " submit " class = " flex flex-col gap-6 " >
< x - unsaved - bar action = " submit " />
< x - application . settings - section title = " Database details "
description = " Manage the identity and container image for this MongoDB database. " >
< x - slot : actions >
< x - modal - input title = " Resource details " buttonTitle = " Details " >
< livewire : project . shared . resource - details : resource = " $database " />
</ x - modal - input >
</ x - slot : actions >
< div class = " grid gap-4 lg:grid-cols-2 " >
< x - forms . input label = " Name " id = " name " canGate = " update " : canResource = " $database " />
< x - forms . input label = " Description " id = " description " canGate = " update " : canResource = " $database " />
< div class = " lg:col-span-2 " >
< x - forms . input label = " Image " id = " image " required canGate = " update " : canResource = " $database "
helper = " Use a published MongoDB image from Docker Hub. " />
</ div >
2023-10-19 11:32:03 +00:00
</ div >
2026-08-03 21:11:54 +00:00
</ x - application . settings - section >
< x - application . settings - section title = " Credentials "
description = " Keep these values aligned with the credentials configured inside MongoDB. " >
@ if ( $database -> started_at )
< x - callout type = " warning " title = " Keep credentials synchronized " >
Changing values here does not update MongoDB . Update MongoDB first , then synchronize the values here
so backups and other automations continue working .
</ x - callout >
@ endif
< div class = " { { $database->started_at ? 'mt-4 ' : '' }}grid gap-4 lg:grid-cols-2 " >
< x - forms . input label = " { { $database->started_at ? 'Initial username' : 'Username' }} "
id = " mongoInitdbRootUsername " placeholder = " If empty: root "
: required = " ! $database->started_at " canGate = " update " : canResource = " $database " />
2026-02-27 21:42:48 +00:00
@ if ( $isPasswordHiddenForMember )
< x - forms . input label = " Password " disabled value = " Hidden (only admins can view) " />
@ else
2026-08-03 21:11:54 +00:00
< x - forms . input label = " { { $database->started_at ? 'Initial password' : 'Password' }} "
id = " mongoInitdbRootPassword " type = " password " required canGate = " update "
: canResource = " $database " />
2026-02-27 21:42:48 +00:00
@ endif
2026-08-03 21:11:54 +00:00
< x - forms . input label = " { { $database->started_at ? 'Initial database' : 'Database' }} "
id = " mongoInitdbDatabase " placeholder = " If empty, it will match the username. "
: readonly = " (bool) $database->started_at " : required = " ! $database->started_at "
canGate = " update " : canResource = " $database "
helper = " { { $database->started_at ? 'You can only change this in the database.' : null }} " />
2023-10-19 11:32:03 +00:00
</ div >
2026-08-03 21:11:54 +00:00
</ x - application . settings - section >
< x - application . settings - section title = " Runtime and network "
description = " Configure Docker runtime options and host port mappings. " >
< div class = " grid gap-4 lg:grid-cols-2 " >
< div class = " lg:col-span-2 " >
< x - forms . input
helper = " Add supported docker run options used when the container starts. Unsupported options can interfere with Coolify automation. "
placeholder = " --cap-add SYS_ADMIN --device=/dev/fuse "
id = " customDockerRunOptions " label = " Custom Docker options " canGate = " update "
: canResource = " $database " />
</ div >
< x - forms . input placeholder = " 3000:27017 " id = " portsMappings " label = " Port mappings "
helper = " Comma-separated host-to-container mappings, for example 3000:27017. "
2025-08-26 08:27:31 +00:00
canGate = " update " : canResource = " $database " />
2023-10-19 11:32:03 +00:00
</ div >
2026-08-03 21:11:54 +00:00
< div class = " mt-4 " >
< livewire : project . database . mongodb . status - info : database = " $database " />
</ div >
</ x - application . settings - section >
2025-02-05 21:56:29 +00:00
2026-08-07 15:14:43 +00:00
< x - application . settings - section title = " Public access " class = " relative "
2026-08-03 21:11:54 +00:00
description = " Expose this database through the managed TCP proxy. " >
< x - slot : actions >
@ if ( $isPublic )
2026-08-07 15:14:43 +00:00
< x - process - dialog closeWithX size = " xl " >
2026-08-03 21:11:54 +00:00
< x - slot : title > Proxy logs </ x - slot : title >
< x - slot : content >
< livewire : project . shared . get - logs : server = " $server " : resource = " $database "
container = " { { data_get( $database , 'uuid') }}-proxy " : collapsible = " false " lazy />
</ x - slot : content >
2026-08-07 15:14:43 +00:00
< x - forms . button @ click = " processDialogOpen = true " > View logs </ x - forms . button >
</ x - process - dialog >
2026-08-03 21:11:54 +00:00
@ endif
</ x - slot : actions >
2026-08-07 15:14:43 +00:00
< x - table . loading target = " instantSave " text = " Updating public access... " />
2026-08-03 21:11:54 +00:00
< div class = " grid gap-4 lg:grid-cols-2 " >
2026-08-07 15:14:43 +00:00
< div wire : key = " public-access- { { $publicPort ?: 'unset' }} " >
< x - forms . listbox id = " isPublic " label = " Access " live onChange = " instantSave "
: disabled = " ! auth()->user()->can('update', $database ) " : options = " [
[ 'value' => false , 'label' => 'Private' ],
[ 'value' => true , 'label' => blank ( $publicPort ) ? 'Public through TCP proxy (set public port first)' : 'Public through TCP proxy' , 'disabled' => blank ( $publicPort )],
] " />
</ div >
2026-08-03 21:11:54 +00:00
< x - forms . input type = " number " placeholder = " 27017 " disabled = " { { $isPublic }} " id = " publicPort "
label = " Public port " canGate = " update " : canResource = " $database " />
2026-03-29 13:41:28 +00:00
< x - forms . input type = " number " placeholder = " 3600 " disabled = " { { $isPublic }} " id = " publicPortTimeout "
2026-08-03 21:11:54 +00:00
label = " Proxy timeout " helper = " Timeout in seconds. The default is 3600. "
2025-08-26 08:27:31 +00:00
canGate = " update " : canResource = " $database " />
2024-06-09 19:33:17 +00:00
</ div >
2026-08-03 21:11:54 +00:00
</ x - application . settings - section >
< x - application . settings - section title = " Configuration "
description = " Override the MongoDB configuration used by this container. " >
< x - forms . textarea label = " Custom MongoDB configuration " rows = " 10 " id = " mongoConf "
canGate = " update " : canResource = " $database " />
</ x - application . settings - section >
< x - application . settings - section title = " Log delivery "
description = " Forward container logs to the drain configured on the server. " >
< x - forms . listbox id = " isLogDrainEnabled " label = " Log drain " live onChange = " instantSaveAdvanced "
: disabled = " ! auth()->user()->can('update', $database ) " : options = " [
[ 'value' => false , 'label' => 'Do not forward logs' ],
[ 'value' => true , 'label' => 'Forward logs to the server drain' ],
] " />
</ x - application . settings - section >
2023-10-19 11:32:03 +00:00
</ form >
</ div >