fix(service): update appwrite to 2.5.0 and route api and realtime to port 80

The template port 3003 sent API and realtime traffic to a port that the
containers do not listen on (502). Use port 80 as upstream does, update
images and env to the official 2.5.0 compose, drop the removed assistant
service, and default _APP_OPTIONS_FORCE_HTTPS to disabled (upstream
default) so installs on http domains reach the API.
This commit is contained in:
Andras Bacsai
2026-10-16 23:05:10 +02:00
parent 699cd361b4
commit 38e191dca6
4 changed files with 157 additions and 44 deletions
@@ -0,0 +1,36 @@
<?php
use App\Models\Environment;
use App\Models\InstanceSettings;
use App\Models\Project;
use App\Models\Server;
use App\Models\Service;
use App\Models\ServiceApplication;
use App\Models\StandaloneDocker;
use App\Models\Team;
use Illuminate\Foundation\Testing\RefreshDatabase;
uses(RefreshDatabase::class);
it('routes the appwrite api and realtime to port 80 and the console to port 3000', function () {
InstanceSettings::forceCreate(['id' => 0]);
$team = Team::factory()->create();
$server = Server::factory()->create(['team_id' => $team->id]);
$destination = StandaloneDocker::where('server_id', $server->id)->first()
?? StandaloneDocker::factory()->create(['server_id' => $server->id]);
$environment = Environment::factory()->create(['project_id' => Project::factory()->create(['team_id' => $team->id])->id]);
$service = Service::factory()->create([
'service_type' => 'appwrite',
'environment_id' => $environment->id,
'server_id' => $server->id,
'destination_id' => $destination->id,
'destination_type' => $destination->getMorphClass(),
'docker_compose_raw' => file_get_contents(base_path('templates/compose/appwrite.yaml')),
]);
$requiredPort = fn (string $name) => ServiceApplication::create(['name' => $name, 'service_id' => $service->id])->getRequiredPort();
expect($requiredPort('appwrite'))->toBe(80)
->and($requiredPort('appwrite-realtime'))->toBe(80)
->and($requiredPort('appwrite-console'))->toBe(3000);
});