fix: appwrite template + parser
This commit is contained in:
@@ -1016,10 +1016,20 @@ class Service extends BaseModel
|
|||||||
$commands[] = 'rm -f .env || true';
|
$commands[] = 'rm -f .env || true';
|
||||||
|
|
||||||
$envs_from_coolify = $this->environment_variables()->get();
|
$envs_from_coolify = $this->environment_variables()->get();
|
||||||
foreach ($envs_from_coolify as $env) {
|
$sorted = $envs_from_coolify->sortBy(function ($env) {
|
||||||
|
if (str($env->key)->startsWith('SERVICE_')) {
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if (str($env->value)->startsWith('$SERVICE_') || str($env->value)->startsWith('${SERVICE_')) {
|
||||||
|
return 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
return 3;
|
||||||
|
});
|
||||||
|
foreach ($sorted as $env) {
|
||||||
$commands[] = "echo '{$env->key}={$env->real_value}' >> .env";
|
$commands[] = "echo '{$env->key}={$env->real_value}' >> .env";
|
||||||
}
|
}
|
||||||
if ($envs_from_coolify->count() === 0) {
|
if ($sorted->count() === 0) {
|
||||||
$commands[] = 'touch .env';
|
$commands[] = 'touch .env';
|
||||||
}
|
}
|
||||||
instant_remote_process($commands, $this->server);
|
instant_remote_process($commands, $this->server);
|
||||||
|
@@ -147,16 +147,16 @@ function generateSshCommand(Server $server, string $command)
|
|||||||
|
|
||||||
// Check if multiplexing is enabled
|
// Check if multiplexing is enabled
|
||||||
$muxEnabled = config('constants.ssh.mux_enabled', true);
|
$muxEnabled = config('constants.ssh.mux_enabled', true);
|
||||||
ray('SSH Multiplexing Enabled:', $muxEnabled)->blue();
|
// ray('SSH Multiplexing Enabled:', $muxEnabled)->blue();
|
||||||
|
|
||||||
if ($muxEnabled) {
|
if ($muxEnabled) {
|
||||||
// Always use multiplexing when enabled
|
// Always use multiplexing when enabled
|
||||||
$muxSocket = "/var/www/html/storage/app/ssh/mux/{$server->muxFilename()}";
|
$muxSocket = "/var/www/html/storage/app/ssh/mux/{$server->muxFilename()}";
|
||||||
$ssh_command .= "-o ControlMaster=auto -o ControlPath=$muxSocket -o ControlPersist={$muxPersistTime} ";
|
$ssh_command .= "-o ControlMaster=auto -o ControlPath=$muxSocket -o ControlPersist={$muxPersistTime} ";
|
||||||
ensureMultiplexedConnection($server);
|
ensureMultiplexedConnection($server);
|
||||||
ray('Using SSH Multiplexing')->green();
|
// ray('Using SSH Multiplexing')->green();
|
||||||
} else {
|
} else {
|
||||||
ray('Not using SSH Multiplexing')->red();
|
// ray('Not using SSH Multiplexing')->red();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (data_get($server, 'settings.is_cloudflare_tunnel')) {
|
if (data_get($server, 'settings.is_cloudflare_tunnel')) {
|
||||||
@@ -184,50 +184,52 @@ function generateSshCommand(Server $server, string $command)
|
|||||||
function ensureMultiplexedConnection(Server $server)
|
function ensureMultiplexedConnection(Server $server)
|
||||||
{
|
{
|
||||||
static $ensuredConnections = [];
|
static $ensuredConnections = [];
|
||||||
|
|
||||||
if (isset($ensuredConnections[$server->id])) {
|
if (isset($ensuredConnections[$server->id])) {
|
||||||
if (!shouldResetMultiplexedConnection($server)) {
|
if (! shouldResetMultiplexedConnection($server)) {
|
||||||
ray('Using Existing Multiplexed Connection')->green();
|
// ray('Using Existing Multiplexed Connection')->green();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$muxSocket = "/var/www/html/storage/app/ssh/mux/{$server->muxFilename()}";
|
$muxSocket = "/var/www/html/storage/app/ssh/mux/{$server->muxFilename()}";
|
||||||
$checkCommand = "ssh -O check -o ControlPath=$muxSocket {$server->user}@{$server->ip} 2>/dev/null";
|
$checkCommand = "ssh -O check -o ControlPath=$muxSocket {$server->user}@{$server->ip} 2>/dev/null";
|
||||||
|
|
||||||
$process = Process::run($checkCommand);
|
$process = Process::run($checkCommand);
|
||||||
|
|
||||||
if ($process->exitCode() === 0) {
|
if ($process->exitCode() === 0) {
|
||||||
ray('Existing Multiplexed Connection is Valid')->green();
|
// ray('Existing Multiplexed Connection is Valid')->green();
|
||||||
$ensuredConnections[$server->id] = [
|
$ensuredConnections[$server->id] = [
|
||||||
'timestamp' => now(),
|
'timestamp' => now(),
|
||||||
'muxSocket' => $muxSocket,
|
'muxSocket' => $muxSocket,
|
||||||
];
|
];
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ray('Establishing New Multiplexed Connection')->orange();
|
// ray('Establishing New Multiplexed Connection')->orange();
|
||||||
|
|
||||||
$privateKeyLocation = savePrivateKeyToFs($server);
|
$privateKeyLocation = savePrivateKeyToFs($server);
|
||||||
$connectionTimeout = config('constants.ssh.connection_timeout');
|
$connectionTimeout = config('constants.ssh.connection_timeout');
|
||||||
$serverInterval = config('constants.ssh.server_interval');
|
$serverInterval = config('constants.ssh.server_interval');
|
||||||
$muxPersistTime = config('constants.ssh.mux_persist_time');
|
$muxPersistTime = config('constants.ssh.mux_persist_time');
|
||||||
|
|
||||||
$establishCommand = "ssh -fNM -o ControlMaster=auto -o ControlPath=$muxSocket -o ControlPersist={$muxPersistTime} "
|
$establishCommand = "ssh -fNM -o ControlMaster=auto -o ControlPath=$muxSocket -o ControlPersist={$muxPersistTime} "
|
||||||
. "-i {$privateKeyLocation} "
|
."-i {$privateKeyLocation} "
|
||||||
. "-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null "
|
.'-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null '
|
||||||
. "-o PasswordAuthentication=no "
|
.'-o PasswordAuthentication=no '
|
||||||
. "-o ConnectTimeout=$connectionTimeout "
|
."-o ConnectTimeout=$connectionTimeout "
|
||||||
. "-o ServerAliveInterval=$serverInterval "
|
."-o ServerAliveInterval=$serverInterval "
|
||||||
. "-o RequestTTY=no "
|
.'-o RequestTTY=no '
|
||||||
. "-o LogLevel=ERROR "
|
.'-o LogLevel=ERROR '
|
||||||
. "-p {$server->port} "
|
."-p {$server->port} "
|
||||||
. "{$server->user}@{$server->ip}";
|
."{$server->user}@{$server->ip}";
|
||||||
|
|
||||||
$establishProcess = Process::run($establishCommand);
|
$establishProcess = Process::run($establishCommand);
|
||||||
|
|
||||||
if ($establishProcess->exitCode() !== 0) {
|
if ($establishProcess->exitCode() !== 0) {
|
||||||
throw new \RuntimeException("Failed to establish multiplexed connection: " . $establishProcess->errorOutput());
|
throw new \RuntimeException('Failed to establish multiplexed connection: '.$establishProcess->errorOutput());
|
||||||
}
|
}
|
||||||
|
|
||||||
$ensuredConnections[$server->id] = [
|
$ensuredConnections[$server->id] = [
|
||||||
@@ -235,14 +237,14 @@ function ensureMultiplexedConnection(Server $server)
|
|||||||
'muxSocket' => $muxSocket,
|
'muxSocket' => $muxSocket,
|
||||||
];
|
];
|
||||||
|
|
||||||
ray('Established New Multiplexed Connection')->green();
|
// ray('Established New Multiplexed Connection')->green();
|
||||||
}
|
}
|
||||||
|
|
||||||
function shouldResetMultiplexedConnection(Server $server)
|
function shouldResetMultiplexedConnection(Server $server)
|
||||||
{
|
{
|
||||||
static $ensuredConnections = [];
|
static $ensuredConnections = [];
|
||||||
|
|
||||||
if (!isset($ensuredConnections[$server->id])) {
|
if (! isset($ensuredConnections[$server->id])) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -278,18 +280,18 @@ function instant_remote_process(Collection|array $command, Server $server, bool
|
|||||||
$command = parseCommandsByLineForSudo(collect($command), $server);
|
$command = parseCommandsByLineForSudo(collect($command), $server);
|
||||||
}
|
}
|
||||||
$command_string = implode("\n", $command);
|
$command_string = implode("\n", $command);
|
||||||
|
|
||||||
$start_time = microtime(true);
|
$start_time = microtime(true);
|
||||||
$sshCommand = generateSshCommand($server, $command_string);
|
$sshCommand = generateSshCommand($server, $command_string);
|
||||||
$process = Process::timeout($timeout)->run($sshCommand);
|
$process = Process::timeout($timeout)->run($sshCommand);
|
||||||
$end_time = microtime(true);
|
$end_time = microtime(true);
|
||||||
|
|
||||||
$execution_time = ($end_time - $start_time) * 1000; // Convert to milliseconds
|
$execution_time = ($end_time - $start_time) * 1000; // Convert to milliseconds
|
||||||
ray('SSH command execution time:', $execution_time . ' ms')->orange();
|
// ray('SSH command execution time:', $execution_time.' ms')->orange();
|
||||||
|
|
||||||
$output = trim($process->output());
|
$output = trim($process->output());
|
||||||
$exitCode = $process->exitCode();
|
$exitCode = $process->exitCode();
|
||||||
|
|
||||||
if ($exitCode !== 0) {
|
if ($exitCode !== 0) {
|
||||||
if (! $throwError) {
|
if (! $throwError) {
|
||||||
return null;
|
return null;
|
||||||
@@ -398,10 +400,10 @@ function remove_mux_and_private_key(Server $server)
|
|||||||
{
|
{
|
||||||
$muxFilename = $server->muxFilename();
|
$muxFilename = $server->muxFilename();
|
||||||
$privateKeyLocation = savePrivateKeyToFs($server);
|
$privateKeyLocation = savePrivateKeyToFs($server);
|
||||||
|
|
||||||
$closeCommand = "ssh -O exit -o ControlPath=/var/www/html/storage/app/ssh/mux/{$muxFilename} {$server->user}@{$server->ip}";
|
$closeCommand = "ssh -O exit -o ControlPath=/var/www/html/storage/app/ssh/mux/{$muxFilename} {$server->user}@{$server->ip}";
|
||||||
Process::run($closeCommand);
|
Process::run($closeCommand);
|
||||||
|
|
||||||
Storage::disk('ssh-mux')->delete($muxFilename);
|
Storage::disk('ssh-mux')->delete($muxFilename);
|
||||||
Storage::disk('ssh-keys')->delete($privateKeyLocation);
|
Storage::disk('ssh-keys')->delete($privateKeyLocation);
|
||||||
}
|
}
|
||||||
|
@@ -4,6 +4,7 @@ use App\Models\Application;
|
|||||||
use App\Models\EnvironmentVariable;
|
use App\Models\EnvironmentVariable;
|
||||||
use App\Models\ServiceApplication;
|
use App\Models\ServiceApplication;
|
||||||
use App\Models\ServiceDatabase;
|
use App\Models\ServiceDatabase;
|
||||||
|
use Illuminate\Support\Stringable;
|
||||||
use Spatie\Url\Url;
|
use Spatie\Url\Url;
|
||||||
use Symfony\Component\Yaml\Yaml;
|
use Symfony\Component\Yaml\Yaml;
|
||||||
|
|
||||||
@@ -15,9 +16,9 @@ function collectRegex(string $name)
|
|||||||
{
|
{
|
||||||
return "/{$name}\w+/";
|
return "/{$name}\w+/";
|
||||||
}
|
}
|
||||||
function replaceVariables($variable)
|
function replaceVariables(string $variable): Stringable
|
||||||
{
|
{
|
||||||
return $variable->before('}')->replaceFirst('$', '')->replaceFirst('{', '');
|
return str($variable)->before('}')->replaceFirst('$', '')->replaceFirst('{', '');
|
||||||
}
|
}
|
||||||
|
|
||||||
function getFilesystemVolumesFromServer(ServiceApplication|ServiceDatabase|Application $oneService, bool $isInit = false)
|
function getFilesystemVolumesFromServer(ServiceApplication|ServiceDatabase|Application $oneService, bool $isInit = false)
|
||||||
|
@@ -1866,7 +1866,7 @@ function parseDockerComposeFile(Service|Application $resource, bool $isNew = fal
|
|||||||
'key' => $key,
|
'key' => $key,
|
||||||
'service_id' => $resource->id,
|
'service_id' => $resource->id,
|
||||||
])->first();
|
])->first();
|
||||||
$value = str(replaceVariables($value));
|
$value = replaceVariables($value);
|
||||||
$key = $value;
|
$key = $value;
|
||||||
if ($value->startsWith('SERVICE_')) {
|
if ($value->startsWith('SERVICE_')) {
|
||||||
$foundEnv = EnvironmentVariable::where([
|
$foundEnv = EnvironmentVariable::where([
|
||||||
@@ -2627,7 +2627,7 @@ function parseDockerComposeFile(Service|Application $resource, bool $isNew = fal
|
|||||||
'application_id' => $resource->id,
|
'application_id' => $resource->id,
|
||||||
'is_preview' => false,
|
'is_preview' => false,
|
||||||
])->first();
|
])->first();
|
||||||
$value = str(replaceVariables($value));
|
$value = replaceVariables($value);
|
||||||
$key = $value;
|
$key = $value;
|
||||||
if ($value->startsWith('SERVICE_')) {
|
if ($value->startsWith('SERVICE_')) {
|
||||||
$foundEnv = EnvironmentVariable::where([
|
$foundEnv = EnvironmentVariable::where([
|
||||||
@@ -2921,8 +2921,8 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
}
|
}
|
||||||
|
|
||||||
$parsedServices = collect([]);
|
$parsedServices = collect([]);
|
||||||
|
ray()->clearAll();
|
||||||
|
|
||||||
// parse environments first
|
|
||||||
$allMagicEnvironments = collect([]);
|
$allMagicEnvironments = collect([]);
|
||||||
foreach ($services as $serviceName => $service) {
|
foreach ($services as $serviceName => $service) {
|
||||||
$magicEnvironments = collect([]);
|
$magicEnvironments = collect([]);
|
||||||
@@ -2959,132 +2959,138 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
$allEnvironments = $allEnvironments->mapWithKeys(function ($item) {
|
$allEnvironments = $allEnvironments->mapWithKeys(function ($item) {
|
||||||
return [$item['key'] => $item['value']];
|
return [$item['key'] => $item['value']];
|
||||||
});
|
});
|
||||||
// filter magic environments
|
// filter and add magic environments
|
||||||
foreach ($environment as $key => $value) {
|
foreach ($environment as $key => $value) {
|
||||||
|
// Get all SERVICE_ variables from keys and values
|
||||||
|
$key = str($key);
|
||||||
|
$value = str($value);
|
||||||
|
|
||||||
$regex = '/\$(\{?([a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)\}?)/';
|
$regex = '/\$(\{?([a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)\}?)/';
|
||||||
preg_match_all($regex, $value, $valueMatches);
|
preg_match_all($regex, $value, $valueMatches);
|
||||||
preg_match_all($regex, $key, $keyMatches);
|
|
||||||
if (count($valueMatches[1]) > 0) {
|
if (count($valueMatches[1]) > 0) {
|
||||||
foreach ($valueMatches[1] as $match) {
|
foreach ($valueMatches[1] as $match) {
|
||||||
if (str($match)->startsWith('SERVICE_')) {
|
$match = replaceVariables($match);
|
||||||
if ($magicEnvironments->has($match)) {
|
if ($match->startsWith('SERVICE_')) {
|
||||||
|
if ($magicEnvironments->has($match->value())) {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
$magicEnvironments->put($match, '');
|
$magicEnvironments->put($match->value(), '');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (count($keyMatches[1]) > 0) {
|
|
||||||
foreach ($keyMatches[1] as $match) {
|
// Get magic environments where we need to preset the FQDN
|
||||||
if (str($match)->startsWith('SERVICE_')) {
|
if ($key->startsWith('SERVICE_FQDN_')) {
|
||||||
if ($magicEnvironments->has($match)) {
|
// SERVICE_FQDN_APP or SERVICE_FQDN_APP_3000
|
||||||
continue;
|
$fqdnFor = $key->after('SERVICE_FQDN_')->lower()->value();
|
||||||
}
|
if ($isApplication) {
|
||||||
$magicEnvironments->put($match, '');
|
$fqdn = generateFqdn($server, "{$resource->name}-$uuid");
|
||||||
|
} elseif ($isService) {
|
||||||
|
if ($fqdnFor) {
|
||||||
|
$fqdn = generateFqdn($server, "$fqdnFor-$uuid");
|
||||||
|
} else {
|
||||||
|
$fqdn = generateFqdn($server, "{$savedService->name}-$uuid");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
if ($value && get_class($value) === 'Illuminate\Support\Stringable' && $value->startsWith('/')) {
|
||||||
if (str($key)->startsWith('SERVICE_')) {
|
$path = $value->value();
|
||||||
$magicEnvironments->put($key, $value);
|
if ($path !== '/') {
|
||||||
|
$fqdn = "$fqdn$path";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ($isApplication && is_null($resource->fqdn)) {
|
||||||
|
data_forget($resource, 'environment_variables');
|
||||||
|
data_forget($resource, 'environment_variables_preview');
|
||||||
|
$resource->fqdn = $fqdn;
|
||||||
|
$resource->save();
|
||||||
|
} elseif ($isService && is_null($savedService->fqdn)) {
|
||||||
|
$savedService->fqdn = $fqdn;
|
||||||
|
$savedService->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (substr_count(str($key)->value(), '_') === 2) {
|
||||||
|
$resource->environment_variables()->where('key', $key->value())->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
|
'key' => $key->value(),
|
||||||
|
$nameOfId => $resource->id,
|
||||||
|
], [
|
||||||
|
'value' => $fqdn,
|
||||||
|
'is_build_time' => false,
|
||||||
|
'is_preview' => false,
|
||||||
|
]);
|
||||||
|
}
|
||||||
if (substr_count(str($key)->value(), '_') === 3) {
|
if (substr_count(str($key)->value(), '_') === 3) {
|
||||||
$newKey = str($key)->beforeLast('_')->value();
|
$newKey = str($key)->beforeLast('_');
|
||||||
if ($newKey) {
|
$resource->environment_variables()->where('key', $newKey->value())->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
$magicEnvironments->put($newKey, $value);
|
'key' => $newKey->value(),
|
||||||
}
|
$nameOfId => $resource->id,
|
||||||
|
], [
|
||||||
|
'value' => $fqdn,
|
||||||
|
'is_build_time' => false,
|
||||||
|
'is_preview' => false,
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$allMagicEnvironments = $allMagicEnvironments->merge($magicEnvironments);
|
$allMagicEnvironments = $allMagicEnvironments->merge($magicEnvironments);
|
||||||
|
|
||||||
if ($magicEnvironments->count() > 0) {
|
if ($magicEnvironments->count() > 0) {
|
||||||
foreach ($magicEnvironments as $key => $value) {
|
foreach ($magicEnvironments as $key => $value) {
|
||||||
$key = str($key);
|
$key = str($key);
|
||||||
$value = str(replaceVariables(str($value)));
|
$value = replaceVariables($value);
|
||||||
$originalValue = $value;
|
$command = $key->after('SERVICE_')->before('_');
|
||||||
$keyCommand = $key->after('SERVICE_')->before('_');
|
$found = $resource->environment_variables()->where('key', $key->value())->where($nameOfId, $resource->id)->first();
|
||||||
$valueCommand = $value->after('SERVICE_')->before('_');
|
if ($found) {
|
||||||
if ($key->startsWith('SERVICE_FQDN_')) {
|
continue;
|
||||||
|
}
|
||||||
|
if ($command->value() === 'FQDN') {
|
||||||
$fqdnFor = $key->after('SERVICE_FQDN_')->lower()->value();
|
$fqdnFor = $key->after('SERVICE_FQDN_')->lower()->value();
|
||||||
if (str($fqdnFor)->contains('_')) {
|
if (str($fqdnFor)->contains('_')) {
|
||||||
$fqdnFor = str($fqdnFor)->before('_');
|
$fqdnFor = str($fqdnFor)->before('_');
|
||||||
}
|
}
|
||||||
} elseif ($value->startsWith('SERVICE_FQDN_')) {
|
|
||||||
$fqdnFor = $value->after('SERVICE_FQDN_')->lower()->value();
|
|
||||||
if (str($fqdnFor)->contains('_')) {
|
|
||||||
$fqdnFor = str($fqdnFor)->before('_');
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
$fqdnFor = null;
|
|
||||||
}
|
|
||||||
if ($keyCommand->value() === 'FQDN' || $valueCommand->value() === 'FQDN') {
|
|
||||||
if ($isApplication) {
|
if ($isApplication) {
|
||||||
$fqdn = generateFqdn($server, "{$resource->name}-$uuid");
|
$fqdn = generateFqdn($server, "{$resource->name}-$uuid");
|
||||||
} elseif ($isService) {
|
} elseif ($isService) {
|
||||||
if ($fqdnFor) {
|
$fqdn = generateFqdn($server, "$fqdnFor-$uuid");
|
||||||
$fqdn = generateFqdn($server, "$fqdnFor-$uuid");
|
|
||||||
} else {
|
|
||||||
$fqdn = generateFqdn($server, "{$savedService->name}-$uuid");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if ($value && get_class($value) === 'Illuminate\Support\Stringable' && $value->startsWith('/')) {
|
$resource->environment_variables()->where('key', $key->value())->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
$path = $value->value();
|
'key' => $key->value(),
|
||||||
if ($value === '/') {
|
$nameOfId => $resource->id,
|
||||||
$value = "$fqdn";
|
], [
|
||||||
} else {
|
'value' => $fqdn,
|
||||||
$value = "$fqdn$path";
|
'is_build_time' => false,
|
||||||
}
|
'is_preview' => false,
|
||||||
} else {
|
]);
|
||||||
$value = $fqdn;
|
} elseif ($command->value() === 'URL') {
|
||||||
|
$fqdnFor = $key->after('SERVICE_URL_')->lower()->value();
|
||||||
|
if (str($fqdnFor)->contains('_')) {
|
||||||
|
$fqdnFor = str($fqdnFor)->before('_');
|
||||||
}
|
}
|
||||||
if (! $isDatabase) {
|
|
||||||
if ($key->startsWith('SERVICE_FQDN_') && ($originalValue->value() === '' || $originalValue->startsWith('/'))) {
|
|
||||||
if ($isApplication && is_null($resource->fqdn)) {
|
|
||||||
data_forget($resource, 'environment_variables');
|
|
||||||
data_forget($resource, 'environment_variables_preview');
|
|
||||||
$resource->fqdn = $value;
|
|
||||||
$resource->save();
|
|
||||||
} elseif ($isService && is_null($savedService->fqdn)) {
|
|
||||||
if ($key->startsWith('SERVICE_FQDN_')) {
|
|
||||||
$savedService->fqdn = $value;
|
|
||||||
$savedService->save();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
} elseif ($keyCommand->value() === 'URL' || $valueCommand->value() === 'URL') {
|
|
||||||
if ($isApplication) {
|
if ($isApplication) {
|
||||||
$fqdn = generateFqdn($server, "{$resource->name}-{$uuid}");
|
$fqdn = generateFqdn($server, "{$resource->name}-$uuid");
|
||||||
} elseif ($isService) {
|
} elseif ($isService) {
|
||||||
$fqdn = generateFqdn($server, "{$savedService->name}-{$uuid}");
|
$fqdn = generateFqdn($server, "$fqdnFor-$uuid");
|
||||||
}
|
}
|
||||||
if ($value && get_class($value) === 'Illuminate\Support\Stringable' && $value->startsWith('/')) {
|
$resource->environment_variables()->where('key', $key->value())->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
$path = $value->value();
|
'key' => $key->value(),
|
||||||
$value = "$fqdn$path";
|
$nameOfId => $resource->id,
|
||||||
} else {
|
], [
|
||||||
$value = $fqdn;
|
'value' => $fqdn,
|
||||||
}
|
'is_build_time' => false,
|
||||||
$value = str($fqdn)->replace('http://', '')->replace('https://', '');
|
'is_preview' => false,
|
||||||
|
]);
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
$generatedValue = generateEnvValue($keyCommand, $resource);
|
$value = generateEnvValue($command, $resource);
|
||||||
if ($generatedValue) {
|
$resource->environment_variables()->where('key', $key->value())->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
$value = $generatedValue;
|
'key' => $key->value(),
|
||||||
}
|
$nameOfId => $resource->id,
|
||||||
|
], [
|
||||||
|
'value' => $value,
|
||||||
|
'is_build_time' => false,
|
||||||
|
'is_preview' => false,
|
||||||
|
]);
|
||||||
}
|
}
|
||||||
if (str($fqdnFor)->startsWith('/')) {
|
|
||||||
$fqdnFor = null;
|
|
||||||
}
|
|
||||||
// Lets save the magic value to the environment variables
|
|
||||||
if ($key->startsWith('SERVICE_')) {
|
|
||||||
$originalValue = $key;
|
|
||||||
}
|
|
||||||
$resource->environment_variables()->where('key', $originalValue->value())->where($nameOfId, $resource->id)->firstOrCreate([
|
|
||||||
'key' => $originalValue->value(),
|
|
||||||
$nameOfId => $resource->id,
|
|
||||||
], [
|
|
||||||
'value' => $value,
|
|
||||||
'is_build_time' => false,
|
|
||||||
'is_preview' => false,
|
|
||||||
]);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -3388,8 +3394,23 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
foreach ($normalEnvironments as $key => $value) {
|
foreach ($normalEnvironments as $key => $value) {
|
||||||
$key = str($key);
|
$key = str($key);
|
||||||
$value = str($value);
|
$value = str($value);
|
||||||
$parsedValue = str(replaceVariables(str($value)));
|
$originalValue = $value;
|
||||||
|
$parsedValue = replaceVariables($value);
|
||||||
|
if ($value->startsWith('$SERVICE_')) {
|
||||||
|
$resource->environment_variables()->where('key', $key)->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
|
'key' => $key,
|
||||||
|
$nameOfId => $resource->id,
|
||||||
|
], [
|
||||||
|
'value' => $value,
|
||||||
|
'is_build_time' => false,
|
||||||
|
'is_preview' => false,
|
||||||
|
]);
|
||||||
|
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (! $value->startsWith('$')) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
if ($key->value() === $parsedValue->value()) {
|
if ($key->value() === $parsedValue->value()) {
|
||||||
$value = null;
|
$value = null;
|
||||||
$resource->environment_variables()->where('key', $key)->where($nameOfId, $resource->id)->firstOrCreate([
|
$resource->environment_variables()->where('key', $key)->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
@@ -3403,25 +3424,28 @@ function newParser(Application|Service $resource, int $pull_request_id = 0, ?int
|
|||||||
} else {
|
} else {
|
||||||
if ($value->startsWith('$')) {
|
if ($value->startsWith('$')) {
|
||||||
if ($value->contains(':-')) {
|
if ($value->contains(':-')) {
|
||||||
$value = str(replaceVariables(str($value)));
|
$value = replaceVariables($value);
|
||||||
$key = $value->before(':');
|
$key = $value->before(':');
|
||||||
$value = $value->after(':-');
|
$value = $value->after(':-');
|
||||||
} elseif ($value->contains('-')) {
|
} elseif ($value->contains('-')) {
|
||||||
$value = str(replaceVariables(str($value)));
|
$value = replaceVariables($value);
|
||||||
|
|
||||||
$key = $value->before('-');
|
$key = $value->before('-');
|
||||||
$value = $value->after('-');
|
$value = $value->after('-');
|
||||||
} elseif ($value->contains(':?')) {
|
} elseif ($value->contains(':?')) {
|
||||||
$value = str(replaceVariables(str($value)));
|
$value = replaceVariables($value);
|
||||||
|
|
||||||
$key = $value->before(':');
|
$key = $value->before(':');
|
||||||
$value = $value->after(':?');
|
$value = $value->after(':?');
|
||||||
} elseif ($value->contains('?')) {
|
} elseif ($value->contains('?')) {
|
||||||
$value = str(replaceVariables(str($value)));
|
$value = replaceVariables($value);
|
||||||
|
|
||||||
$key = $value->before('?');
|
$key = $value->before('?');
|
||||||
$value = $value->after('?');
|
$value = $value->after('?');
|
||||||
}
|
}
|
||||||
|
if ($originalValue->value() === $value->value()) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
$resource->environment_variables()->where('key', $key)->where($nameOfId, $resource->id)->firstOrCreate([
|
$resource->environment_variables()->where('key', $key)->where($nameOfId, $resource->id)->firstOrCreate([
|
||||||
'key' => $key,
|
'key' => $key,
|
||||||
$nameOfId => $resource->id,
|
$nameOfId => $resource->id,
|
||||||
|
@@ -11,23 +11,23 @@ services:
|
|||||||
- SERVICE_FQDN_ACTIVEPIECES
|
- SERVICE_FQDN_ACTIVEPIECES
|
||||||
- AP_API_KEY=$SERVICE_PASSWORD_64_APIKEY
|
- AP_API_KEY=$SERVICE_PASSWORD_64_APIKEY
|
||||||
- AP_ENCRYPTION_KEY=$SERVICE_PASSWORD_ENCRYPTIONKEY
|
- AP_ENCRYPTION_KEY=$SERVICE_PASSWORD_ENCRYPTIONKEY
|
||||||
- AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js
|
- AP_ENGINE_EXECUTABLE_PATH=${AP_ENGINE_EXECUTABLE_PATH:-dist/packages/engine/main.js}
|
||||||
- AP_ENVIRONMENT=prod
|
- AP_ENVIRONMENT=${AP_ENVIRONMENT:-prod}
|
||||||
- AP_EXECUTION_MODE=UNSANDBOXED
|
- AP_EXECUTION_MODE=${AP_EXECUTION_MODE:-UNSANDBOXED}
|
||||||
- AP_FRONTEND_URL=$SERVICE_FQDN_ACTIVEPIECES
|
- AP_FRONTEND_URL=${SERVICE_FQDN_ACTIVEPIECES}
|
||||||
- AP_JWT_SECRET=$SERVICE_PASSWORD_64_JWT
|
- AP_JWT_SECRET=$SERVICE_PASSWORD_64_JWT
|
||||||
- AP_POSTGRES_DATABASE=activepieces
|
- AP_POSTGRES_DATABASE=${POSTGRES_DB:-activepieces}
|
||||||
- AP_POSTGRES_HOST=postgres
|
- AP_POSTGRES_HOST=${POSTGRES_HOST:-postgres}
|
||||||
- AP_POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
- AP_POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||||
- AP_POSTGRES_PORT=5432
|
- AP_POSTGRES_PORT=${POSTGRES_PORT:-5432}
|
||||||
- AP_POSTGRES_USERNAME=$SERVICE_USER_POSTGRES
|
- AP_POSTGRES_USERNAME=$SERVICE_USER_POSTGRES
|
||||||
- AP_REDIS_HOST=redis
|
- AP_REDIS_HOST=${REDIS_HOST:-redis}
|
||||||
- AP_REDIS_PORT=6379
|
- AP_REDIS_PORT=${REDIS_PORT:-6379}
|
||||||
- AP_SANDBOX_RUN_TIME_SECONDS=600
|
- AP_SANDBOX_RUN_TIME_SECONDS=${AP_SANDBOX_RUN_TIME_SECONDS:-600}
|
||||||
- AP_TELEMETRY_ENABLED=true
|
- AP_TELEMETRY_ENABLED=${AP_TELEMETRY_ENABLED:-false}
|
||||||
- "AP_TEMPLATES_SOURCE_URL=https://cloud.activepieces.com/api/v1/flow-templates"
|
- AP_TEMPLATES_SOURCE_URL=${AP_TEMPLATES_SOURCE_URL:-https://cloud.activepieces.com/api/v1/flow-templates}
|
||||||
- AP_TRIGGER_DEFAULT_POLL_INTERVAL=5
|
- AP_TRIGGER_DEFAULT_POLL_INTERVAL=${AP_TRIGGER_DEFAULT_POLL_INTERVAL:-5}
|
||||||
- AP_WEBHOOK_TIMEOUT_SECONDS=30
|
- AP_WEBHOOK_TIMEOUT_SECONDS=${AP_WEBHOOK_TIMEOUT_SECONDS:-30}
|
||||||
depends_on:
|
depends_on:
|
||||||
postgres:
|
postgres:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
@@ -41,9 +41,10 @@ services:
|
|||||||
postgres:
|
postgres:
|
||||||
image: "postgres:latest"
|
image: "postgres:latest"
|
||||||
environment:
|
environment:
|
||||||
- POSTGRES_DB=activepieces
|
- POSTGRES_DB=${POSTGRES_DB:-activepieces}
|
||||||
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
|
||||||
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
- POSTGRES_USER=${SERVICE_USER_POSTGRES}
|
||||||
|
- POSTGRES_PORT=${POSTGRES_PORT:-5432}
|
||||||
volumes:
|
volumes:
|
||||||
- "pg-data:/var/lib/postgresql/data"
|
- "pg-data:/var/lib/postgresql/data"
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
@@ -8,11 +8,11 @@ services:
|
|||||||
image: index.docker.io/appsmith/appsmith-ce:latest
|
image: index.docker.io/appsmith/appsmith-ce:latest
|
||||||
environment:
|
environment:
|
||||||
- SERVICE_FQDN_APPSMITH
|
- SERVICE_FQDN_APPSMITH
|
||||||
- APPSMITH_MAIL_ENABLED=false
|
- APPSMITH_MAIL_ENABLED=${APPSMITH_MAIL_ENABLED:-false}
|
||||||
- APPSMITH_DISABLE_TELEMETRY=true
|
- APPSMITH_DISABLE_TELEMETRY=${APPSMITH_DISABLE_TELEMETRY:-false}
|
||||||
- APPSMITH_DISABLE_INTERCOM=true
|
- APPSMITH_DISABLE_INTERCOM=${APPSMITH_DISABLE_INTERCOM:-true}
|
||||||
- APPSMITH_SENTRY_DSN=
|
- APPSMITH_SENTRY_DSN=${APPSMITH_SENTRY_DSN}
|
||||||
- APPSMITH_SMART_LOOK_ID=
|
- APPSMITH_SMART_LOOK_ID=${APPSMITH_SMART_LOOK_ID}
|
||||||
volumes:
|
volumes:
|
||||||
- stacks-data:/appsmith-stacks
|
- stacks-data:/appsmith-stacks
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
@@ -1,99 +0,0 @@
|
|||||||
_APP_ENV=production
|
|
||||||
_APP_LOCALE=en
|
|
||||||
_APP_OPTIONS_ABUSE=enabled
|
|
||||||
_APP_OPTIONS_FORCE_HTTPS=disabled
|
|
||||||
_APP_OPENSSL_KEY_V1=
|
|
||||||
_APP_CONSOLE_WHITELIST_ROOT=enabled
|
|
||||||
_APP_CONSOLE_WHITELIST_EMAILS=
|
|
||||||
_APP_CONSOLE_WHITELIST_IPS=
|
|
||||||
_APP_CONSOLE_HOSTNAMES=localhost,appwrite.io,*.appwrite.io
|
|
||||||
_APP_SYSTEM_EMAIL_NAME=Appwrite
|
|
||||||
_APP_SYSTEM_EMAIL_ADDRESS=team@appwrite.io
|
|
||||||
_APP_SYSTEM_RESPONSE_FORMAT=
|
|
||||||
_APP_SYSTEM_SECURITY_EMAIL_ADDRESS=certs@appwrite.io
|
|
||||||
_APP_USAGE_STATS=enabled
|
|
||||||
_APP_LOGGING_PROVIDER=
|
|
||||||
_APP_LOGGING_CONFIG=
|
|
||||||
_APP_USAGE_AGGREGATION_INTERVAL=30
|
|
||||||
_APP_USAGE_TIMESERIES_INTERVAL=30
|
|
||||||
_APP_USAGE_DATABASE_INTERVAL=900
|
|
||||||
_APP_WORKER_PER_CORE=6
|
|
||||||
_APP_REDIS_HOST=appwrite-redis
|
|
||||||
_APP_REDIS_PORT=6379
|
|
||||||
_APP_REDIS_USER=
|
|
||||||
_APP_REDIS_PASS=
|
|
||||||
_APP_DB_HOST=appwrite-mariadb
|
|
||||||
_APP_DB_PORT=3306
|
|
||||||
_APP_DB_SCHEMA=appwrite
|
|
||||||
_APP_SMTP_HOST=
|
|
||||||
_APP_SMTP_PORT=
|
|
||||||
_APP_SMTP_SECURE=
|
|
||||||
_APP_SMTP_USERNAME=
|
|
||||||
_APP_SMTP_PASSWORD=
|
|
||||||
_APP_SMS_PROVIDER=
|
|
||||||
_APP_SMS_FROM=
|
|
||||||
_APP_STORAGE_LIMIT=30000000
|
|
||||||
_APP_STORAGE_PREVIEW_LIMIT=20000000
|
|
||||||
_APP_STORAGE_ANTIVIRUS=disabled
|
|
||||||
_APP_STORAGE_ANTIVIRUS_HOST=appwrite-clamav
|
|
||||||
_APP_STORAGE_ANTIVIRUS_PORT=3310
|
|
||||||
_APP_STORAGE_DEVICE=local
|
|
||||||
_APP_STORAGE_S3_ACCESS_KEY=
|
|
||||||
_APP_STORAGE_S3_SECRET=
|
|
||||||
_APP_STORAGE_S3_REGION=us-east-1
|
|
||||||
_APP_STORAGE_S3_BUCKET=
|
|
||||||
_APP_STORAGE_DO_SPACES_ACCESS_KEY=
|
|
||||||
_APP_STORAGE_DO_SPACES_SECRET=
|
|
||||||
_APP_STORAGE_DO_SPACES_REGION=us-east-1
|
|
||||||
_APP_STORAGE_DO_SPACES_BUCKET=
|
|
||||||
_APP_STORAGE_BACKBLAZE_ACCESS_KEY=
|
|
||||||
_APP_STORAGE_BACKBLAZE_SECRET=
|
|
||||||
_APP_STORAGE_BACKBLAZE_REGION=us-west-004
|
|
||||||
_APP_STORAGE_BACKBLAZE_BUCKET=
|
|
||||||
_APP_STORAGE_LINODE_ACCESS_KEY=
|
|
||||||
_APP_STORAGE_LINODE_SECRET=
|
|
||||||
_APP_STORAGE_LINODE_REGION=eu-central-1
|
|
||||||
_APP_STORAGE_LINODE_BUCKET=
|
|
||||||
_APP_STORAGE_WASABI_ACCESS_KEY=
|
|
||||||
_APP_STORAGE_WASABI_SECRET=
|
|
||||||
_APP_STORAGE_WASABI_REGION=eu-central-1
|
|
||||||
_APP_STORAGE_WASABI_BUCKET=
|
|
||||||
_APP_FUNCTIONS_SIZE_LIMIT=30000000
|
|
||||||
_APP_FUNCTIONS_TIMEOUT=900
|
|
||||||
_APP_FUNCTIONS_BUILD_TIMEOUT=900
|
|
||||||
_APP_FUNCTIONS_CONTAINERS=10
|
|
||||||
_APP_FUNCTIONS_CPUS=0
|
|
||||||
_APP_FUNCTIONS_MEMORY=0
|
|
||||||
_APP_FUNCTIONS_MEMORY_SWAP=0
|
|
||||||
_APP_FUNCTIONS_RUNTIMES=node-20.0,php-8.2,python-3.11,ruby-3.2
|
|
||||||
_APP_EXECUTOR_HOST=http://appwrite-executor/v1
|
|
||||||
_APP_EXECUTOR_RUNTIME_NETWORK=appwrite_runtimes
|
|
||||||
_APP_FUNCTIONS_INACTIVE_THRESHOLD=60
|
|
||||||
DOCKERHUB_PULL_USERNAME=
|
|
||||||
DOCKERHUB_PULL_PASSWORD=
|
|
||||||
DOCKERHUB_PULL_EMAIL=
|
|
||||||
OPEN_RUNTIMES_NETWORK=appwrite_runtimes
|
|
||||||
_APP_FUNCTIONS_RUNTIMES_NETWORK=runtimes
|
|
||||||
_APP_DOCKER_HUB_USERNAME=
|
|
||||||
_APP_DOCKER_HUB_PASSWORD=
|
|
||||||
_APP_FUNCTIONS_MAINTENANCE_INTERVAL=3600
|
|
||||||
_APP_VCS_GITHUB_APP_NAME=
|
|
||||||
_APP_VCS_GITHUB_PRIVATE_KEY=
|
|
||||||
_APP_VCS_GITHUB_APP_ID=
|
|
||||||
_APP_VCS_GITHUB_CLIENT_ID=
|
|
||||||
_APP_VCS_GITHUB_CLIENT_SECRET=
|
|
||||||
_APP_VCS_GITHUB_WEBHOOK_SECRET=
|
|
||||||
_APP_MAINTENANCE_DELAY=
|
|
||||||
_APP_MAINTENANCE_INTERVAL=86400
|
|
||||||
_APP_MAINTENANCE_RETENTION_CACHE=2592000
|
|
||||||
_APP_MAINTENANCE_RETENTION_EXECUTION=1209600
|
|
||||||
_APP_MAINTENANCE_RETENTION_AUDIT=1209600
|
|
||||||
_APP_MAINTENANCE_RETENTION_ABUSE=86400
|
|
||||||
_APP_MAINTENANCE_RETENTION_USAGE_HOURLY=8640000
|
|
||||||
_APP_MAINTENANCE_RETENTION_SCHEDULES=86400
|
|
||||||
_APP_GRAPHQL_MAX_BATCH_SIZE=10
|
|
||||||
_APP_GRAPHQL_MAX_COMPLEXITY=250
|
|
||||||
_APP_GRAPHQL_MAX_DEPTH=3
|
|
||||||
_APP_MIGRATIONS_FIREBASE_CLIENT_ID=
|
|
||||||
_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=
|
|
||||||
_APP_ASSISTANT_OPENAI_API_KEY=
|
|
@@ -1,6 +1,5 @@
|
|||||||
# documentation: https://appwrite.io
|
# documentation: https://appwrite.io
|
||||||
# slogan: A backend-as-a-service platform that simplifies the web & mobile app development.
|
# slogan: A backend-as-a-service platform that simplifies the web & mobile app development.
|
||||||
# env_file: appwrite.env
|
|
||||||
# tags: backend-as-a-service, platform
|
# tags: backend-as-a-service, platform
|
||||||
# logo: svgs/appwrite.svg
|
# logo: svgs/appwrite.svg
|
||||||
|
|
||||||
@@ -28,97 +27,97 @@ services:
|
|||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
environment:
|
environment:
|
||||||
- SERVICE_FQDN_APPWRITE=/
|
- SERVICE_FQDN_APPWRITE=/
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_LOCALE
|
- _APP_LOCALE=${_APP_LOCALE:-en}
|
||||||
- _APP_CONSOLE_WHITELIST_ROOT
|
- _APP_CONSOLE_WHITELIST_ROOT=${_APP_CONSOLE_WHITELIST_ROOT:-enabled}
|
||||||
- _APP_CONSOLE_WHITELIST_EMAILS
|
- _APP_CONSOLE_WHITELIST_EMAILS=${_APP_CONSOLE_WHITELIST_EMAILS}
|
||||||
- _APP_CONSOLE_WHITELIST_IPS
|
- _APP_CONSOLE_WHITELIST_IPS=${_APP_CONSOLE_WHITELIST_IPS}
|
||||||
- _APP_CONSOLE_HOSTNAMES
|
- _APP_CONSOLE_HOSTNAMES=${_APP_CONSOLE_HOSTNAMES:-localhost,appwrite.io,*.appwrite.io}
|
||||||
- _APP_SYSTEM_EMAIL_NAME
|
- _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite}
|
||||||
- _APP_SYSTEM_EMAIL_ADDRESS
|
- _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io}
|
||||||
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io}
|
||||||
- _APP_SYSTEM_RESPONSE_FORMAT
|
- _APP_SYSTEM_RESPONSE_FORMAT=${_APP_SYSTEM_RESPONSE_FORMAT}
|
||||||
- _APP_OPTIONS_ABUSE
|
- _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled}
|
||||||
- _APP_OPTIONS_FORCE_HTTPS
|
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1
|
||||||
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
|
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
|
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_DOMAIN_FUNCTIONS=$SERVICE_FQDN_APPWRITE
|
- _APP_DOMAIN_FUNCTIONS=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_DB_ROOT_PASS=$SERVICE_PASSWORD_MARIADBROOT
|
- _APP_DB_ROOT_PASS=$SERVICE_PASSWORD_MARIADBROOT
|
||||||
- _APP_SMTP_HOST
|
- _APP_SMTP_HOST=${_APP_SMTP_HOST}
|
||||||
- _APP_SMTP_PORT
|
- _APP_SMTP_PORT=${_APP_SMTP_PORT}
|
||||||
- _APP_SMTP_SECURE
|
- _APP_SMTP_SECURE=${_APP_SMTP_SECURE}
|
||||||
- _APP_SMTP_USERNAME
|
- _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME}
|
||||||
- _APP_SMTP_PASSWORD
|
- _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD}
|
||||||
- _APP_USAGE_STATS
|
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
|
||||||
- _APP_STORAGE_LIMIT
|
- _APP_STORAGE_LIMIT=${_APP_STORAGE_LIMIT:-30000000}
|
||||||
- _APP_STORAGE_PREVIEW_LIMIT
|
- _APP_STORAGE_PREVIEW_LIMIT=${_APP_STORAGE_PREVIEW_LIMIT:-20000000}
|
||||||
- _APP_STORAGE_ANTIVIRUS
|
- _APP_STORAGE_ANTIVIRUS=${_APP_STORAGE_ANTIVIRUS:-disabled}
|
||||||
- _APP_STORAGE_ANTIVIRUS_HOST
|
- _APP_STORAGE_ANTIVIRUS_HOST=${_APP_STORAGE_ANTIVIRUS_HOST:-appwrite-clamav}
|
||||||
- _APP_STORAGE_ANTIVIRUS_PORT
|
- _APP_STORAGE_ANTIVIRUS_PORT=${_APP_STORAGE_ANTIVIRUS_PORT:-3310}
|
||||||
- _APP_STORAGE_DEVICE
|
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
|
||||||
- _APP_STORAGE_S3_ACCESS_KEY
|
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY}
|
||||||
- _APP_STORAGE_S3_SECRET
|
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
|
||||||
- _APP_STORAGE_S3_REGION
|
- _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1}
|
||||||
- _APP_STORAGE_S3_BUCKET
|
- _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
|
||||||
- _APP_STORAGE_DO_SPACES_ACCESS_KEY
|
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
|
||||||
- _APP_STORAGE_DO_SPACES_SECRET
|
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
|
||||||
- _APP_STORAGE_DO_SPACES_REGION
|
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1}
|
||||||
- _APP_STORAGE_DO_SPACES_BUCKET
|
- _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET}
|
||||||
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY
|
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY}
|
||||||
- _APP_STORAGE_BACKBLAZE_SECRET
|
- _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET}
|
||||||
- _APP_STORAGE_BACKBLAZE_REGION
|
- _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004}
|
||||||
- _APP_STORAGE_BACKBLAZE_BUCKET
|
- _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET}
|
||||||
- _APP_STORAGE_LINODE_ACCESS_KEY
|
- _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY}
|
||||||
- _APP_STORAGE_LINODE_SECRET
|
- _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET}
|
||||||
- _APP_STORAGE_LINODE_REGION
|
- _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1}
|
||||||
- _APP_STORAGE_LINODE_BUCKET
|
- _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET}
|
||||||
- _APP_STORAGE_WASABI_ACCESS_KEY
|
- _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY}
|
||||||
- _APP_STORAGE_WASABI_SECRET
|
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
|
||||||
- _APP_STORAGE_WASABI_REGION
|
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1}
|
||||||
- _APP_STORAGE_WASABI_BUCKET
|
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
|
||||||
- _APP_FUNCTIONS_SIZE_LIMIT
|
- _APP_FUNCTIONS_SIZE_LIMIT=${_APP_FUNCTIONS_SIZE_LIMIT:-30000000}
|
||||||
- _APP_FUNCTIONS_TIMEOUT
|
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900}
|
||||||
- _APP_FUNCTIONS_BUILD_TIMEOUT
|
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT:-900}
|
||||||
- _APP_FUNCTIONS_CPUS
|
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS:-0}
|
||||||
- _APP_FUNCTIONS_MEMORY
|
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY:-0}
|
||||||
- _APP_FUNCTIONS_RUNTIMES
|
- _APP_FUNCTIONS_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES:-node-20.0,php-8.2,python-3.11,ruby-3.2}
|
||||||
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
|
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
|
||||||
- _APP_EXECUTOR_HOST
|
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
- _APP_MAINTENANCE_INTERVAL
|
- _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL:-86400}
|
||||||
- _APP_MAINTENANCE_DELAY
|
- _APP_MAINTENANCE_DELAY=${_APP_MAINTENANCE_DELAY}
|
||||||
- _APP_MAINTENANCE_RETENTION_EXECUTION
|
- _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION:-1209600}
|
||||||
- _APP_MAINTENANCE_RETENTION_CACHE
|
- _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE:-2592000}
|
||||||
- _APP_MAINTENANCE_RETENTION_ABUSE
|
- _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400}
|
||||||
- _APP_MAINTENANCE_RETENTION_AUDIT
|
- _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600}
|
||||||
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY
|
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000}
|
||||||
- _APP_MAINTENANCE_RETENTION_SCHEDULES
|
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400}
|
||||||
- _APP_SMS_PROVIDER
|
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER}
|
||||||
- _APP_SMS_FROM
|
- _APP_SMS_FROM=${_APP_SMS_FROM}
|
||||||
- _APP_GRAPHQL_MAX_BATCH_SIZE
|
- _APP_GRAPHQL_MAX_BATCH_SIZE=${_APP_GRAPHQL_MAX_BATCH_SIZE:-10}
|
||||||
- _APP_GRAPHQL_MAX_COMPLEXITY
|
- _APP_GRAPHQL_MAX_COMPLEXITY=${_APP_GRAPHQL_MAX_COMPLEXITY:-250}
|
||||||
- _APP_GRAPHQL_MAX_DEPTH
|
- _APP_GRAPHQL_MAX_DEPTH=${_APP_GRAPHQL_MAX_DEPTH:-3}
|
||||||
- _APP_VCS_GITHUB_APP_NAME
|
- _APP_VCS_GITHUB_APP_NAME=${_APP_VCS_GITHUB_APP_NAME}
|
||||||
- _APP_VCS_GITHUB_PRIVATE_KEY
|
- _APP_VCS_GITHUB_PRIVATE_KEY=${_APP_VCS_GITHUB_PRIVATE_KEY}
|
||||||
- _APP_VCS_GITHUB_APP_ID
|
- _APP_VCS_GITHUB_APP_ID=${_APP_VCS_GITHUB_APP_ID}
|
||||||
- _APP_VCS_GITHUB_WEBHOOK_SECRET
|
- _APP_VCS_GITHUB_WEBHOOK_SECRET=${_APP_VCS_GITHUB_WEBHOOK_SECRET}
|
||||||
- _APP_VCS_GITHUB_CLIENT_SECRET
|
- _APP_VCS_GITHUB_CLIENT_SECRET=${_APP_VCS_GITHUB_CLIENT_SECRET}
|
||||||
- _APP_VCS_GITHUB_CLIENT_ID
|
- _APP_VCS_GITHUB_CLIENT_ID=${_APP_VCS_GITHUB_CLIENT_ID}
|
||||||
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID}
|
||||||
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET}
|
||||||
- _APP_ASSISTANT_OPENAI_API_KEY
|
- _APP_ASSISTANT_OPENAI_API_KEY=${_APP_ASSISTANT_OPENAI_API_KEY}
|
||||||
|
|
||||||
appwrite-realtime:
|
appwrite-realtime:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -129,22 +128,22 @@ services:
|
|||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
environment:
|
environment:
|
||||||
- SERVICE_FQDN_APPWRITE=/v1/realtime
|
- SERVICE_FQDN_APPWRITE=/v1/realtime
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPTIONS_ABUSE
|
- _APP_OPTIONS_ABUSE=${_APP_OPTIONS_ABUSE:-enabled}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_USAGE_STATS
|
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-audits:
|
appwrite-worker-audits:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -155,20 +154,20 @@ services:
|
|||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-webhooks:
|
appwrite-worker-webhooks:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -179,16 +178,16 @@ services:
|
|||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-deletes:
|
appwrite-worker-deletes:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -205,43 +204,43 @@ services:
|
|||||||
- appwrite-builds:/storage/builds:rw
|
- appwrite-builds:/storage/builds:rw
|
||||||
- appwrite-certificates:/storage/certificates:rw
|
- appwrite-certificates:/storage/certificates:rw
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_STORAGE_DEVICE
|
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
|
||||||
- _APP_STORAGE_S3_ACCESS_KEY
|
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY:-local}
|
||||||
- _APP_STORAGE_S3_SECRET
|
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
|
||||||
- _APP_STORAGE_S3_REGION
|
- _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1}
|
||||||
- _APP_STORAGE_S3_BUCKET
|
- _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
|
||||||
- _APP_STORAGE_DO_SPACES_ACCESS_KEY
|
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
|
||||||
- _APP_STORAGE_DO_SPACES_SECRET
|
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
|
||||||
- _APP_STORAGE_DO_SPACES_REGION
|
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1}
|
||||||
- _APP_STORAGE_DO_SPACES_BUCKET
|
- _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET}
|
||||||
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY
|
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY}
|
||||||
- _APP_STORAGE_BACKBLAZE_SECRET
|
- _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET}
|
||||||
- _APP_STORAGE_BACKBLAZE_REGION
|
- _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004}
|
||||||
- _APP_STORAGE_BACKBLAZE_BUCKET
|
- _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET}
|
||||||
- _APP_STORAGE_LINODE_ACCESS_KEY
|
- _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY}
|
||||||
- _APP_STORAGE_LINODE_SECRET
|
- _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET}
|
||||||
- _APP_STORAGE_LINODE_REGION
|
- _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1}
|
||||||
- _APP_STORAGE_LINODE_BUCKET
|
- _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET}
|
||||||
- _APP_STORAGE_WASABI_ACCESS_KEY
|
- _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY}
|
||||||
- _APP_STORAGE_WASABI_SECRET
|
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
|
||||||
- _APP_STORAGE_WASABI_REGION
|
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1}
|
||||||
- _APP_STORAGE_WASABI_BUCKET
|
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
- _APP_EXECUTOR_SECRET
|
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
|
||||||
- _APP_EXECUTOR_HOST
|
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
|
||||||
|
|
||||||
appwrite-worker-databases:
|
appwrite-worker-databases:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -252,20 +251,20 @@ services:
|
|||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-builds:
|
appwrite-worker-builds:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -279,52 +278,52 @@ services:
|
|||||||
- appwrite-functions:/storage/functions:rw
|
- appwrite-functions:/storage/functions:rw
|
||||||
- appwrite-builds:/storage/builds:rw
|
- appwrite-builds:/storage/builds:rw
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_EXECUTOR_SECRET
|
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
|
||||||
- _APP_EXECUTOR_HOST
|
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
- _APP_VCS_GITHUB_APP_NAME
|
- _APP_VCS_GITHUB_APP_NAME=${_APP_VCS_GITHUB_APP_NAME}
|
||||||
- _APP_VCS_GITHUB_PRIVATE_KEY
|
- _APP_VCS_GITHUB_PRIVATE_KEY=${_APP_VCS_GITHUB_PRIVATE_KEY}
|
||||||
- _APP_VCS_GITHUB_APP_ID
|
- _APP_VCS_GITHUB_APP_ID=${_APP_VCS_GITHUB_APP_ID}
|
||||||
- _APP_FUNCTIONS_TIMEOUT
|
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900}
|
||||||
- _APP_FUNCTIONS_BUILD_TIMEOUT
|
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT:-900}
|
||||||
- _APP_FUNCTIONS_CPUS
|
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS:-0}
|
||||||
- _APP_FUNCTIONS_MEMORY
|
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY:-0}
|
||||||
- _APP_OPTIONS_FORCE_HTTPS
|
- _APP_OPTIONS_FORCE_HTTPS=${_APP_OPTIONS_FORCE_HTTPS:-disabled}
|
||||||
- _APP_DOMAIN
|
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_STORAGE_DEVICE
|
- _APP_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
|
||||||
- _APP_STORAGE_S3_ACCESS_KEY
|
- _APP_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY:-local}
|
||||||
- _APP_STORAGE_S3_SECRET
|
- _APP_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
|
||||||
- _APP_STORAGE_S3_REGION
|
- _APP_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION:-us-east-1}
|
||||||
- _APP_STORAGE_S3_BUCKET
|
- _APP_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
|
||||||
- _APP_STORAGE_DO_SPACES_ACCESS_KEY
|
- _APP_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
|
||||||
- _APP_STORAGE_DO_SPACES_SECRET
|
- _APP_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
|
||||||
- _APP_STORAGE_DO_SPACES_REGION
|
- _APP_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION:-us-east-1}
|
||||||
- _APP_STORAGE_DO_SPACES_BUCKET
|
- _APP_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET}
|
||||||
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY
|
- _APP_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY}
|
||||||
- _APP_STORAGE_BACKBLAZE_SECRET
|
- _APP_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET}
|
||||||
- _APP_STORAGE_BACKBLAZE_REGION
|
- _APP_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION:-us-west-004}
|
||||||
- _APP_STORAGE_BACKBLAZE_BUCKET
|
- _APP_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET}
|
||||||
- _APP_STORAGE_LINODE_ACCESS_KEY
|
- _APP_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY}
|
||||||
- _APP_STORAGE_LINODE_SECRET
|
- _APP_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET}
|
||||||
- _APP_STORAGE_LINODE_REGION
|
- _APP_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION:-eu-central-1}
|
||||||
- _APP_STORAGE_LINODE_BUCKET
|
- _APP_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET}
|
||||||
- _APP_STORAGE_WASABI_ACCESS_KEY
|
- _APP_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY}
|
||||||
- _APP_STORAGE_WASABI_SECRET
|
- _APP_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
|
||||||
- _APP_STORAGE_WASABI_REGION
|
- _APP_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION:-eu-central-1}
|
||||||
- _APP_STORAGE_WASABI_BUCKET
|
- _APP_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
|
||||||
|
|
||||||
appwrite-worker-certificates:
|
appwrite-worker-certificates:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -338,24 +337,24 @@ services:
|
|||||||
- appwrite-config:/storage/config:rw
|
- appwrite-config:/storage/config:rw
|
||||||
- appwrite-certificates:/storage/certificates:rw
|
- appwrite-certificates:/storage/certificates:rw
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_DOMAIN
|
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_DOMAIN_TARGET
|
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_DOMAIN_FUNCTIONS
|
- _APP_DOMAIN_FUNCTIONS=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-functions:
|
appwrite-worker-functions:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -367,29 +366,30 @@ services:
|
|||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
- openruntimes-executor
|
- openruntimes-executor
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_FUNCTIONS_TIMEOUT
|
- _APP_FUNCTIONS_TIMEOUT=${_APP_FUNCTIONS_TIMEOUT:-900}
|
||||||
- _APP_FUNCTIONS_BUILD_TIMEOUT
|
- _APP_FUNCTIONS_BUILD_TIMEOUT=${_APP_FUNCTIONS_BUILD_TIMEOUT:-900}
|
||||||
- _APP_FUNCTIONS_CPUS
|
- _APP_FUNCTIONS_CPUS=${_APP_FUNCTIONS_CPUS:-0}
|
||||||
- _APP_FUNCTIONS_MEMORY
|
- _APP_FUNCTIONS_MEMORY=${_APP_FUNCTIONS_MEMORY:-0}
|
||||||
- _APP_EXECUTOR_SECRET
|
- _APP_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
|
||||||
- _APP_EXECUTOR_HOST
|
- _APP_EXECUTOR_HOST=${_APP_EXECUTOR_HOST:-http://appwrite-executor/v1}
|
||||||
- _APP_USAGE_STATS
|
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
|
||||||
- _APP_DOCKER_HUB_USERNAME
|
- _APP_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME}
|
||||||
- _APP_DOCKER_HUB_PASSWORD
|
- _APP_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_DOCKER_HUB_EMAIL=${_APP_DOCKER_HUB_EMAIL}
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
|
|
||||||
appwrite-worker-mails:
|
appwrite-worker-mails:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -399,22 +399,22 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_SYSTEM_EMAIL_NAME
|
- _APP_SYSTEM_EMAIL_NAME=${_APP_SYSTEM_EMAIL_NAME:-Appwrite}
|
||||||
- _APP_SYSTEM_EMAIL_ADDRESS
|
- _APP_SYSTEM_EMAIL_ADDRESS=${_APP_SYSTEM_EMAIL_ADDRESS:-team@appwrite.io}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_SMTP_HOST
|
- _APP_SMTP_HOST=${_APP_SMTP_HOST}
|
||||||
- _APP_SMTP_PORT
|
- _APP_SMTP_PORT=${_APP_SMTP_PORT}
|
||||||
- _APP_SMTP_SECURE
|
- _APP_SMTP_SECURE=${_APP_SMTP_SECURE}
|
||||||
- _APP_SMTP_USERNAME
|
- _APP_SMTP_USERNAME=${_APP_SMTP_USERNAME}
|
||||||
- _APP_SMTP_PASSWORD
|
- _APP_SMTP_PASSWORD=${_APP_SMTP_PASSWORD}
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
|
|
||||||
appwrite-worker-messaging:
|
appwrite-worker-messaging:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -424,22 +424,22 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
- _APP_SMS_FROM
|
- _APP_SMS_FROM=${_APP_SMS_FROM}
|
||||||
- _APP_SMS_PROVIDER
|
- _APP_SMS_PROVIDER=${_APP_SMS_PROVIDER}
|
||||||
|
|
||||||
appwrite-worker-migrations:
|
appwrite-worker-migrations:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -449,25 +449,25 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_DOMAIN
|
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_DOMAIN_TARGET
|
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS
|
- _APP_SYSTEM_SECURITY_EMAIL_ADDRESS=${_APP_SYSTEM_SECURITY_EMAIL_ADDRESS:-certs@appwrite.io}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_ID=${_APP_MIGRATIONS_FIREBASE_CLIENT_ID}
|
||||||
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET
|
- _APP_MIGRATIONS_FIREBASE_CLIENT_SECRET=${_APP_MIGRATIONS_FIREBASE_CLIENT_SECRET}
|
||||||
|
|
||||||
appwrite-maintenance:
|
appwrite-maintenance:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -477,28 +477,28 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_DOMAIN
|
- _APP_DOMAIN=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_DOMAIN_TARGET
|
- _APP_DOMAIN_TARGET=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_DOMAIN_FUNCTIONS
|
- _APP_DOMAIN_FUNCTIONS=$SERVICE_FQDN_APPWRITE
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_MAINTENANCE_INTERVAL
|
- _APP_MAINTENANCE_INTERVAL=${_APP_MAINTENANCE_INTERVAL}
|
||||||
- _APP_MAINTENANCE_RETENTION_EXECUTION
|
- _APP_MAINTENANCE_RETENTION_EXECUTION=${_APP_MAINTENANCE_RETENTION_EXECUTION}
|
||||||
- _APP_MAINTENANCE_RETENTION_CACHE
|
- _APP_MAINTENANCE_RETENTION_CACHE=${_APP_MAINTENANCE_RETENTION_CACHE:-2592000}
|
||||||
- _APP_MAINTENANCE_RETENTION_ABUSE
|
- _APP_MAINTENANCE_RETENTION_ABUSE=${_APP_MAINTENANCE_RETENTION_ABUSE:-86400}
|
||||||
- _APP_MAINTENANCE_RETENTION_AUDIT
|
- _APP_MAINTENANCE_RETENTION_AUDIT=${_APP_MAINTENANCE_RETENTION_AUDIT:-1209600}
|
||||||
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY
|
- _APP_MAINTENANCE_RETENTION_USAGE_HOURLY=${_APP_MAINTENANCE_RETENTION_USAGE_HOURLY:-8640000}
|
||||||
- _APP_MAINTENANCE_RETENTION_SCHEDULES
|
- _APP_MAINTENANCE_RETENTION_SCHEDULES=${_APP_MAINTENANCE_RETENTION_SCHEDULES:-86400}
|
||||||
|
|
||||||
appwrite-worker-usage:
|
appwrite-worker-usage:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -510,22 +510,22 @@ services:
|
|||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_USAGE_STATS
|
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
- _APP_USAGE_AGGREGATION_INTERVAL
|
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
|
||||||
|
|
||||||
appwrite-worker-usage-dump:
|
appwrite-worker-usage-dump:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -536,22 +536,22 @@ services:
|
|||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_USAGE_STATS
|
- _APP_USAGE_STATS=${_APP_USAGE_STATS:-enabled}
|
||||||
- _APP_LOGGING_PROVIDER
|
- _APP_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- _APP_LOGGING_CONFIG
|
- _APP_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
- _APP_USAGE_AGGREGATION_INTERVAL
|
- _APP_USAGE_AGGREGATION_INTERVAL=${_APP_USAGE_AGGREGATION_INTERVAL:-30}
|
||||||
|
|
||||||
appwrite-scheduler-functions:
|
appwrite-scheduler-functions:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -563,18 +563,18 @@ services:
|
|||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
|
|
||||||
appwrite-scheduler-messages:
|
appwrite-scheduler-messages:
|
||||||
image: appwrite/appwrite:1.5
|
image: appwrite/appwrite:1.5
|
||||||
@@ -586,18 +586,18 @@ services:
|
|||||||
- appwrite-mariadb
|
- appwrite-mariadb
|
||||||
- appwrite-redis
|
- appwrite-redis
|
||||||
environment:
|
environment:
|
||||||
- _APP_ENV
|
- _APP_ENV=${_APP_ENV:-production}
|
||||||
- _APP_WORKER_PER_CORE
|
- _APP_WORKER_PER_CORE=${_APP_WORKER_PER_CORE:-6}
|
||||||
- _APP_OPENSSL_KEY_V1
|
- _APP_OPENSSL_KEY_V1=${_APP_OPENSSL_KEY_V1}
|
||||||
- _APP_REDIS_HOST
|
- _APP_REDIS_HOST=${_APP_REDIS_HOST:-appwrite-redis}
|
||||||
- _APP_REDIS_PORT
|
- _APP_REDIS_PORT=${_APP_REDIS_PORT:-6379}
|
||||||
- _APP_REDIS_USER
|
- _APP_REDIS_USER=${_APP_REDIS_USER}
|
||||||
- _APP_REDIS_PASS
|
- _APP_REDIS_PASS=${_APP_REDIS_PASS}
|
||||||
- _APP_DB_HOST
|
- _APP_DB_HOST=${_APP_DB_HOST:-appwrite-mariadb}
|
||||||
- _APP_DB_PORT
|
- _APP_DB_PORT=${_APP_DB_PORT:-3306}
|
||||||
- _APP_DB_SCHEMA
|
- _APP_DB_SCHEMA=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- _APP_DB_USER
|
- _APP_DB_USER=$SERVICE_USER_MARIADB
|
||||||
- _APP_DB_PASS
|
- _APP_DB_PASS=$SERVICE_PASSWORD_MARIADB
|
||||||
|
|
||||||
appwrite-assistant:
|
appwrite-assistant:
|
||||||
image: appwrite/assistant:0.4.0
|
image: appwrite/assistant:0.4.0
|
||||||
@@ -616,37 +616,37 @@ services:
|
|||||||
- appwrite-functions:/storage/functions:rw
|
- appwrite-functions:/storage/functions:rw
|
||||||
- /tmp:/tmp:rw
|
- /tmp:/tmp:rw
|
||||||
environment:
|
environment:
|
||||||
- OPR_EXECUTOR_INACTIVE_TRESHOLD=$_APP_FUNCTIONS_INACTIVE_THRESHOLD
|
- OPR_EXECUTOR_INACTIVE_TRESHOLD=${_APP_FUNCTIONS_INACTIVE_THRESHOLD}
|
||||||
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=$_APP_FUNCTIONS_MAINTENANCE_INTERVAL
|
- OPR_EXECUTOR_MAINTENANCE_INTERVAL=${_APP_FUNCTIONS_MAINTENANCE_INTERVAL}
|
||||||
- OPR_EXECUTOR_NETWORK=$_APP_FUNCTIONS_RUNTIMES_NETWORK
|
- OPR_EXECUTOR_NETWORK=${_APP_FUNCTIONS_RUNTIMES_NETWORK}
|
||||||
- OPR_EXECUTOR_DOCKER_HUB_USERNAME=$_APP_DOCKER_HUB_USERNAME
|
- OPR_EXECUTOR_DOCKER_HUB_USERNAME=${_APP_DOCKER_HUB_USERNAME}
|
||||||
- OPR_EXECUTOR_DOCKER_HUB_PASSWORD=$_APP_DOCKER_HUB_PASSWORD
|
- OPR_EXECUTOR_DOCKER_HUB_PASSWORD=${_APP_DOCKER_HUB_PASSWORD}
|
||||||
- OPR_EXECUTOR_ENV=$_APP_ENV
|
- OPR_EXECUTOR_ENV=${_APP_ENV:-production}
|
||||||
- OPR_EXECUTOR_RUNTIMES=$_APP_FUNCTIONS_RUNTIMES
|
- OPR_EXECUTOR_RUNTIMES=${_APP_FUNCTIONS_RUNTIMES}
|
||||||
- OPR_EXECUTOR_SECRET=$_APP_EXECUTOR_SECRET
|
- OPR_EXECUTOR_SECRET=$SERVICE_PASSWORD_64_APPWRITE
|
||||||
- OPR_EXECUTOR_LOGGING_PROVIDER=$_APP_LOGGING_PROVIDER
|
- OPR_EXECUTOR_LOGGING_PROVIDER=${_APP_LOGGING_PROVIDER}
|
||||||
- OPR_EXECUTOR_LOGGING_CONFIG=$_APP_LOGGING_CONFIG
|
- OPR_EXECUTOR_LOGGING_CONFIG=${_APP_LOGGING_CONFIG}
|
||||||
- OPR_EXECUTOR_STORAGE_DEVICE=$_APP_STORAGE_DEVICE
|
- OPR_EXECUTOR_STORAGE_DEVICE=${_APP_STORAGE_DEVICE:-local}
|
||||||
- OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=$_APP_STORAGE_S3_ACCESS_KEY
|
- OPR_EXECUTOR_STORAGE_S3_ACCESS_KEY=${_APP_STORAGE_S3_ACCESS_KEY:-local}
|
||||||
- OPR_EXECUTOR_STORAGE_S3_SECRET=$_APP_STORAGE_S3_SECRET
|
- OPR_EXECUTOR_STORAGE_S3_SECRET=${_APP_STORAGE_S3_SECRET}
|
||||||
- OPR_EXECUTOR_STORAGE_S3_REGION=$_APP_STORAGE_S3_REGION
|
- OPR_EXECUTOR_STORAGE_S3_REGION=${_APP_STORAGE_S3_REGION}
|
||||||
- OPR_EXECUTOR_STORAGE_S3_BUCKET=$_APP_STORAGE_S3_BUCKET
|
- OPR_EXECUTOR_STORAGE_S3_BUCKET=${_APP_STORAGE_S3_BUCKET}
|
||||||
- OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY=$_APP_STORAGE_DO_SPACES_ACCESS_KEY
|
- OPR_EXECUTOR_STORAGE_DO_SPACES_ACCESS_KEY=${_APP_STORAGE_DO_SPACES_ACCESS_KEY}
|
||||||
- OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET=$_APP_STORAGE_DO_SPACES_SECRET
|
- OPR_EXECUTOR_STORAGE_DO_SPACES_SECRET=${_APP_STORAGE_DO_SPACES_SECRET}
|
||||||
- OPR_EXECUTOR_STORAGE_DO_SPACES_REGION=$_APP_STORAGE_DO_SPACES_REGION
|
- OPR_EXECUTOR_STORAGE_DO_SPACES_REGION=${_APP_STORAGE_DO_SPACES_REGION}
|
||||||
- OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET=$_APP_STORAGE_DO_SPACES_BUCKET
|
- OPR_EXECUTOR_STORAGE_DO_SPACES_BUCKET=${_APP_STORAGE_DO_SPACES_BUCKET}
|
||||||
- OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY=$_APP_STORAGE_BACKBLAZE_ACCESS_KEY
|
- OPR_EXECUTOR_STORAGE_BACKBLAZE_ACCESS_KEY=${_APP_STORAGE_BACKBLAZE_ACCESS_KEY}
|
||||||
- OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET=$_APP_STORAGE_BACKBLAZE_SECRET
|
- OPR_EXECUTOR_STORAGE_BACKBLAZE_SECRET=${_APP_STORAGE_BACKBLAZE_SECRET}
|
||||||
- OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION=$_APP_STORAGE_BACKBLAZE_REGION
|
- OPR_EXECUTOR_STORAGE_BACKBLAZE_REGION=${_APP_STORAGE_BACKBLAZE_REGION}
|
||||||
- OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET=$_APP_STORAGE_BACKBLAZE_BUCKET
|
- OPR_EXECUTOR_STORAGE_BACKBLAZE_BUCKET=${_APP_STORAGE_BACKBLAZE_BUCKET}
|
||||||
- OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY=$_APP_STORAGE_LINODE_ACCESS_KEY
|
- OPR_EXECUTOR_STORAGE_LINODE_ACCESS_KEY=${_APP_STORAGE_LINODE_ACCESS_KEY}
|
||||||
- OPR_EXECUTOR_STORAGE_LINODE_SECRET=$_APP_STORAGE_LINODE_SECRET
|
- OPR_EXECUTOR_STORAGE_LINODE_SECRET=${_APP_STORAGE_LINODE_SECRET}
|
||||||
- OPR_EXECUTOR_STORAGE_LINODE_REGION=$_APP_STORAGE_LINODE_REGION
|
- OPR_EXECUTOR_STORAGE_LINODE_REGION=${_APP_STORAGE_LINODE_REGION}
|
||||||
- OPR_EXECUTOR_STORAGE_LINODE_BUCKET=$_APP_STORAGE_LINODE_BUCKET
|
- OPR_EXECUTOR_STORAGE_LINODE_BUCKET=${_APP_STORAGE_LINODE_BUCKET}
|
||||||
- OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY=$_APP_STORAGE_WASABI_ACCESS_KEY
|
- OPR_EXECUTOR_STORAGE_WASABI_ACCESS_KEY=${_APP_STORAGE_WASABI_ACCESS_KEY}
|
||||||
- OPR_EXECUTOR_STORAGE_WASABI_SECRET=$_APP_STORAGE_WASABI_SECRET
|
- OPR_EXECUTOR_STORAGE_WASABI_SECRET=${_APP_STORAGE_WASABI_SECRET}
|
||||||
- OPR_EXECUTOR_STORAGE_WASABI_REGION=$_APP_STORAGE_WASABI_REGION
|
- OPR_EXECUTOR_STORAGE_WASABI_REGION=${_APP_STORAGE_WASABI_REGION}
|
||||||
- OPR_EXECUTOR_STORAGE_WASABI_BUCKET=$_APP_STORAGE_WASABI_BUCKET
|
- OPR_EXECUTOR_STORAGE_WASABI_BUCKET=${_APP_STORAGE_WASABI_BUCKET}
|
||||||
|
|
||||||
appwrite-mariadb:
|
appwrite-mariadb:
|
||||||
image: mariadb:10.11
|
image: mariadb:10.11
|
||||||
@@ -655,10 +655,10 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- appwrite-mariadb:/var/lib/mysql:rw
|
- appwrite-mariadb:/var/lib/mysql:rw
|
||||||
environment:
|
environment:
|
||||||
- MYSQL_ROOT_PASSWORD=${_APP_DB_ROOT_PASS}
|
- MYSQL_ROOT_PASSWORD=$SERVICE_PASSWORD_MARIADBROOT
|
||||||
- MYSQL_DATABASE=${_APP_DB_SCHEMA}
|
- MYSQL_DATABASE=${_APP_DB_SCHEMA:-appwrite}
|
||||||
- MYSQL_USER=${_APP_DB_USER}
|
- MYSQL_USER=$SERVICE_USER_MARIADB
|
||||||
- MYSQL_PASSWORD=${_APP_DB_PASS}
|
- MYSQL_PASSWORD=$SERVICE_PASSWORD_MARIADB
|
||||||
command: 'mysqld --innodb-flush-method=fsync'
|
command: 'mysqld --innodb-flush-method=fsync'
|
||||||
appwrite-redis:
|
appwrite-redis:
|
||||||
image: redis:7.2.4-alpine
|
image: redis:7.2.4-alpine
|
||||||
|
@@ -5,41 +5,17 @@
|
|||||||
# port: 9000
|
# port: 9000
|
||||||
|
|
||||||
services:
|
services:
|
||||||
postgresql:
|
|
||||||
image: docker.io/library/postgres:12-alpine
|
|
||||||
restart: unless-stopped
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
|
||||||
interval: 2s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 15
|
|
||||||
volumes:
|
|
||||||
- authentik-db:/var/lib/postgresql/data
|
|
||||||
environment:
|
|
||||||
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
|
||||||
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
|
|
||||||
- POSTGRES_DB=authentik
|
|
||||||
redis:
|
|
||||||
image: docker.io/library/redis:alpine
|
|
||||||
command: --save 60 1 --loglevel warning
|
|
||||||
restart: unless-stopped
|
|
||||||
healthcheck:
|
|
||||||
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
|
|
||||||
interval: 2s
|
|
||||||
timeout: 10s
|
|
||||||
retries: 15
|
|
||||||
volumes:
|
|
||||||
- redis:/data
|
|
||||||
authentik-server:
|
authentik-server:
|
||||||
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG:-2024.2.2}
|
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG:-2024.2.2}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: server
|
command: server
|
||||||
environment:
|
environment:
|
||||||
- SERVICE_FQDN_AUTHENTIKSERVER_9000
|
- SERVICE_FQDN_AUTHENTIKSERVER_9000
|
||||||
- AUTHENTIK_REDIS__HOST=redis
|
- AUTHENTIK_REDIS__HOST=${REDIS_HOST:-redis}
|
||||||
- AUTHENTIK_POSTGRESQL__HOST=postgresql
|
- AUTHENTIK_POSTGRESQL__HOST=${POSTGRES_HOST:-postgresql}
|
||||||
- AUTHENTIK_POSTGRESQL__USER=${SERVICE_USER_POSTGRESQL}
|
- AUTHENTIK_POSTGRESQL__USER=${SERVICE_USER_POSTGRESQL}
|
||||||
- AUTHENTIK_POSTGRESQL__NAME=authentik
|
- AUTHENTIK_POSTGRESQL__NAME=${POSTGRES_DB:-authentik}
|
||||||
- AUTHENTIK_POSTGRESQL__PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
- AUTHENTIK_POSTGRESQL__PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
||||||
- AUTHENTIK_SECRET_KEY=${SERVICE_PASSWORD_64_AUTHENTIKSERVER}
|
- AUTHENTIK_SECRET_KEY=${SERVICE_PASSWORD_64_AUTHENTIKSERVER}
|
||||||
- AUTHENTIK_ERROR_REPORTING__ENABLED=${AUTHENTIK_ERROR_REPORTING__ENABLED:-true}
|
- AUTHENTIK_ERROR_REPORTING__ENABLED=${AUTHENTIK_ERROR_REPORTING__ENABLED:-true}
|
||||||
@@ -64,10 +40,10 @@ services:
|
|||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
command: worker
|
command: worker
|
||||||
environment:
|
environment:
|
||||||
- AUTHENTIK_REDIS__HOST=redis
|
- AUTHENTIK_REDIS__HOST=${REDIS_HOST:-redis}
|
||||||
- AUTHENTIK_POSTGRESQL__HOST=postgresql
|
- AUTHENTIK_POSTGRESQL__HOST=${POSTGRES_HOST:-postgresql}
|
||||||
- AUTHENTIK_POSTGRESQL__USER=${SERVICE_USER_POSTGRESQL}
|
- AUTHENTIK_POSTGRESQL__USER=${SERVICE_USER_POSTGRESQL}
|
||||||
- AUTHENTIK_POSTGRESQL__NAME=authentik
|
- AUTHENTIK_POSTGRESQL__NAME=${POSTGRES_DB:-authentik}
|
||||||
- AUTHENTIK_POSTGRESQL__PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
- AUTHENTIK_POSTGRESQL__PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
||||||
- AUTHENTIK_SECRET_KEY=${SERVICE_PASSWORD_64_AUTHENTIKSERVER}
|
- AUTHENTIK_SECRET_KEY=${SERVICE_PASSWORD_64_AUTHENTIKSERVER}
|
||||||
- AUTHENTIK_ERROR_REPORTING__ENABLED=${AUTHENTIK_ERROR_REPORTING__ENABLED}
|
- AUTHENTIK_ERROR_REPORTING__ENABLED=${AUTHENTIK_ERROR_REPORTING__ENABLED}
|
||||||
@@ -96,3 +72,28 @@ services:
|
|||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
redis:
|
redis:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
|
postgresql:
|
||||||
|
image: docker.io/library/postgres:12-alpine
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 15
|
||||||
|
volumes:
|
||||||
|
- authentik-db:/var/lib/postgresql/data
|
||||||
|
environment:
|
||||||
|
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRESQL}
|
||||||
|
- POSTGRES_USER=${SERVICE_USER_POSTGRESQL}
|
||||||
|
- POSTGRES_DB=${POSTGRES_DB:-authentik}
|
||||||
|
redis:
|
||||||
|
image: docker.io/library/redis:alpine
|
||||||
|
command: --save 60 1 --loglevel warning
|
||||||
|
restart: unless-stopped
|
||||||
|
healthcheck:
|
||||||
|
test: ["CMD-SHELL", "redis-cli ping | grep PONG"]
|
||||||
|
interval: 2s
|
||||||
|
timeout: 10s
|
||||||
|
retries: 15
|
||||||
|
volumes:
|
||||||
|
- redis:/data
|
||||||
|
@@ -8,8 +8,8 @@ services:
|
|||||||
browserless:
|
browserless:
|
||||||
image: ghcr.io/browserless/chromium
|
image: ghcr.io/browserless/chromium
|
||||||
environment:
|
environment:
|
||||||
- TOKEN=$SERVICE_BASE64_BROWSERLESS_TOKEN
|
|
||||||
- SERVICE_FQDN_BROWSERLESS_3000
|
- SERVICE_FQDN_BROWSERLESS_3000
|
||||||
|
- TOKEN=$SERVICE_BASE64_BROWSERLESS_TOKEN
|
||||||
expose:
|
expose:
|
||||||
- 3000
|
- 3000
|
||||||
healthcheck:
|
healthcheck:
|
||||||
|
File diff suppressed because one or more lines are too long
@@ -96,7 +96,7 @@ services:
|
|||||||
- AP_ENCRYPTION_KEY=$SERVICE_PASSWORD_ENCRYPTIONKEY
|
- AP_ENCRYPTION_KEY=$SERVICE_PASSWORD_ENCRYPTIONKEY
|
||||||
- AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js
|
- AP_ENGINE_EXECUTABLE_PATH=dist/packages/engine/main.js
|
||||||
- AP_ENVIRONMENT=prod
|
- AP_ENVIRONMENT=prod
|
||||||
- AP_EXECUTION_MODE=UNSANDBOXED
|
- AP_EXECUTION_MODE=${AP_EXECUTION_MODE}
|
||||||
- AP_FRONTEND_URL=$SERVICE_FQDN_ACTIVEPIECES
|
- AP_FRONTEND_URL=$SERVICE_FQDN_ACTIVEPIECES
|
||||||
- AP_JWT_SECRET=$SERVICE_PASSWORD_64_JWT
|
- AP_JWT_SECRET=$SERVICE_PASSWORD_64_JWT
|
||||||
- AP_POSTGRES_DATABASE=activepieces
|
- AP_POSTGRES_DATABASE=activepieces
|
||||||
@@ -122,9 +122,12 @@ services:
|
|||||||
timeout: 20s
|
timeout: 20s
|
||||||
retries: 10
|
retries: 10
|
||||||
postgres:
|
postgres:
|
||||||
image: "postgres:latest"
|
image: "nginx"
|
||||||
environment:
|
environment:
|
||||||
|
- SERVICE_FQDN_ACTIVEPIECES=/api
|
||||||
- POSTGRES_DB=activepieces
|
- POSTGRES_DB=activepieces
|
||||||
|
- PASSW=$AP_POSTGRES_PASSWORD
|
||||||
|
- AP_FRONTEND_URL=$SERVICE_FQDN_ACTIVEPIECES
|
||||||
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
- POSTGRES_PASSWORD=$SERVICE_PASSWORD_POSTGRES
|
||||||
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
- POSTGRES_USER=$SERVICE_USER_POSTGRES
|
||||||
volumes:
|
volumes:
|
||||||
@@ -168,6 +171,7 @@ afterEach(function () {
|
|||||||
|
|
||||||
test('ServiceComposeParseNew', function () {
|
test('ServiceComposeParseNew', function () {
|
||||||
$output = newParser($this->service);
|
$output = newParser($this->service);
|
||||||
|
$this->service->saveComposeConfigs();
|
||||||
// ray('New parser');
|
// ray('New parser');
|
||||||
// ray($output->toArray());
|
// ray($output->toArray());
|
||||||
ray($this->service->environment_variables->pluck('value', 'key')->toArray());
|
ray($this->service->environment_variables->pluck('value', 'key')->toArray());
|
||||||
|
Reference in New Issue
Block a user