Skip to content

Commit 9ae716e

Browse files
committed
show container ID for server in panel
Also shows the UID of the user to ease permissions setting closes pterodactyl#160
1 parent 2ac734d commit 9ae716e

File tree

2 files changed

+37
-5
lines changed

2 files changed

+37
-5
lines changed

app/Http/Controllers/Admin/ServersController.php

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -123,9 +123,7 @@ public function getView(Request $request, $id)
123123
{
124124
$server = Models\Server::withTrashed()->select(
125125
'servers.*',
126-
'nodes.name as a_nodeName',
127126
'users.email as a_ownerEmail',
128-
'locations.long as a_locationName',
129127
'services.name as a_serviceName',
130128
DB::raw('IFNULL(service_options.executable, services.executable) as a_serviceExecutable'),
131129
'service_options.docker_image',
@@ -135,7 +133,6 @@ public function getView(Request $request, $id)
135133
'allocations.ip_alias'
136134
)->join('nodes', 'servers.node', '=', 'nodes.id')
137135
->join('users', 'servers.owner', '=', 'users.id')
138-
->join('locations', 'nodes.location', '=', 'locations.id')
139136
->join('services', 'servers.service', '=', 'services.id')
140137
->join('service_options', 'servers.option', '=', 'service_options.id')
141138
->join('allocations', 'servers.allocation', '=', 'allocations.id')
@@ -148,6 +145,12 @@ public function getView(Request $request, $id)
148145

149146
return view('admin.servers.view', [
150147
'server' => $server,
148+
'node' => Models\Node::select(
149+
'nodes.*',
150+
'locations.long as a_locationName'
151+
)->join('locations', 'nodes.location', '=', 'locations.id')
152+
->where('nodes.id', $server->node)
153+
->first(),
151154
'assigned' => Models\Allocation::where('assigned_to', $id)->orderBy('ip', 'asc')->orderBy('port', 'asc')->get(),
152155
'unassigned' => Models\Allocation::where('node', $server->node)->whereNull('assigned_to')->orderBy('ip', 'asc')->orderBy('port', 'asc')->get(),
153156
'startup' => Models\ServiceVariables::select('service_variables.*', 'server_variables.variable_value as a_serverValue')

resources/views/admin/servers/view.blade.php

Lines changed: 31 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,17 +79,25 @@
7979
<td>UUID</td>
8080
<td>{{ $server->uuid }}</td>
8181
</tr>
82+
<tr>
83+
<td>Docker Container ID</td>
84+
<td data-attr="container-id"><i class="fa fa-fw fa-refresh fa-spin"></i></td>
85+
</tr>
86+
<tr>
87+
<td>Docker User ID</td>
88+
<td data-attr="container-user"><i class="fa fa-fw fa-refresh fa-spin"></i></td>
89+
</tr>
8290
<tr>
8391
<td>Owner</td>
8492
<td><a href="{{ route('admin.users.view', $server->owner) }}">{{ $server->a_ownerEmail }}</a></td>
8593
</tr>
8694
<tr>
8795
<td>Location</td>
88-
<td><a href="{{ route('admin.locations') }}">{{ $server->a_locationName }}</a></td>
96+
<td><a href="{{ route('admin.locations') }}">{{ $node->a_locationName }}</a></td>
8997
</tr>
9098
<tr>
9199
<td>Node</td>
92-
<td><a href="{{ route('admin.nodes.view', $server->node) }}">{{ $server->a_nodeName }}</a></td>
100+
<td><a href="{{ route('admin.nodes.view', $server->node) }}">{{ $node->name }}</a></td>
93101
</tr>
94102
<tr>
95103
<td>Service</td>
@@ -553,6 +561,27 @@
553561
$(document).ready(function () {
554562
$('[data-toggle="tooltip"]').tooltip();
555563
$('#sidebar_links').find("a[href='/admin/servers']").addClass('active');
564+
(function checkServerInfo() {
565+
$.ajax({
566+
type: 'GET',
567+
headers: {
568+
'X-Access-Token': '{{ $server->daemonSecret }}',
569+
'X-Access-Server': '{{ $server->uuid }}'
570+
},
571+
url: '{{ $node->scheme }}://{{ $node->fqdn }}:{{ $node->daemonListen }}/server',
572+
dataType: 'json',
573+
timeout: 5000,
574+
}).done(function (data) {
575+
$('td[data-attr="container-id"]').html('<code>' + data.container.id + '</code>');
576+
$('td[data-attr="container-user"]').html('<code>' + data.user + '</code>');
577+
}).fail(function (jqXHR) {
578+
$('td[data-attr="container-id"]').html('<code>error</code>');
579+
$('td[data-attr="container-user"]').html('<code>error</code>');
580+
console.error(jqXHR);
581+
}).always(function () {
582+
setTimeout(checkServerInfo, 60000);
583+
})
584+
})();
556585
$('input[name="default"]').on('change', function (event) {
557586
$('select[name="remove_additional[]"]').find('option:disabled').prop('disabled', false);
558587
$('select[name="remove_additional[]"]').find('option[value="' + $(this).val() + '"]').prop('disabled', true).prop('selected', false);

0 commit comments

Comments
 (0)