From ee2f3efcb36b336ea4393317b0bc6ac332c476b9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 5 Oct 2024 21:22:52 +0000 Subject: [PATCH] chore: update installation data --- scripts/self-hosted/db.sql | 37 ++++++++++++++++++---------------- scripts/self-hosted/tasks.json | 30 ++++++++++++++++++--------- 2 files changed, 40 insertions(+), 27 deletions(-) diff --git a/scripts/self-hosted/db.sql b/scripts/self-hosted/db.sql index 8f6a434..ef3c32f 100644 --- a/scripts/self-hosted/db.sql +++ b/scripts/self-hosted/db.sql @@ -3,12 +3,13 @@ BEGIN WORK ISOLATION LEVEL SERIALIZABLE; -- PostgreSQL database dump -- --- Dumped from database version 16.4 (Debian 16.4-1.pgdg120+1) --- Dumped by pg_dump version 16.4 (Debian 16.4-1.pgdg120+1) +-- Dumped from database version 17.0 (Debian 17.0-1.pgdg120+1) +-- Dumped by pg_dump version 17.0 (Debian 17.0-1.pgdg120+1) SET statement_timeout = 0; SET lock_timeout = 0; SET idle_in_transaction_session_timeout = 0; +SET transaction_timeout = 0; SET client_encoding = 'UTF8'; SET standard_conforming_strings = on; SELECT pg_catalog.set_config('search_path', '', false); @@ -1107,8 +1108,8 @@ COPY public.customers (id, billable_type, billable_id, paddle_id, name, email, t -- COPY public.deployments (id, team_id, service_id, data, created_at, updated_at) FROM stdin; -1 1 1 {"processes": [{"name": "svc", "caddy": [], "ports": [{"targetPort": 80, "publishedPort": 80}, {"targetPort": 443, "publishedPort": 443}, {"targetPort": 2019, "publishedPort": 2019}], "backups": [], "command": "sh /start.sh", "envVars": [{"name": "CADDY_ADMIN", "value": "0.0.0.0:2019"}], "fastCgi": null, "volumes": [{"id": "volume-a1b2c3d4e5f", "name": "data", "path": "/data", "dockerName": "svc_1_caddy_svc_data", "backupSchedule": null}, {"id": "volume-g6h7i8j9k1", "name": "config", "path": "/config", "dockerName": "svc_1_caddy_svc_config", "backupSchedule": null}], "workers": [], "replicas": 1, "dockerName": "svc_1_caddy_svc", "launchMode": "daemon", "secretVars": [], "configFiles": [{"path": "/ptah/caddy/tls/.keep", "content": "# Keep this file", "dockerName": "svc_1_caddy_svc_dpl_1_cfg_ptah_caddy_tls_keep"}, {"path": "/start.sh", "content": "# This is the entrypoint for Caddy.\\n# By default, it starts with a blank Caddyfile with a standard \\"Hello from Caddy\\" page.\\n\\nif [ -f \\"/config/caddy/autosave.json\\" ]; then\\n echo \\"Starting with autosave.json\\"\\n\\n caddy run --config \\"/config/caddy/autosave.json\\"\\nelse\\n echo \\"Starting with the default Caddyfile\\"\\n\\n caddy run --config \\"/etc/caddy/Caddyfile\\"\\nfi", "dockerName": "svc_1_caddy_svc_dpl_1_cfg_start_sh"}], "dockerImage": "caddy:2.8-alpine", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": {"id": "volume-l2m3n4o5p6", "name": "backups", "path": "/ptah/backups", "dockerName": "svc_1_caddy_svc_ptah_backups"}, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": null, "dockerName": null}, "placementNodeId": 1, "dockerRegistryId": null}], "networkName": "ptah_net", "internalDomain": "caddy.ptah.local"} 2024-09-01 00:00:00 2024-09-01 00:00:00 -2 1 2 {"processes": [{"name": "pg", "caddy": [], "ports": [], "backups": [], "command": null, "envVars": [{"name": "POSTGRESQL_USERNAME", "value": "ptah_sh"}, {"name": "POSTGRESQL_PASSWORD", "value": "ptah_sh"}, {"name": "POSTGRESQL_DATABASE", "value": "ptah_sh"}], "fastCgi": null, "volumes": [{"id": "volume-q7r8s9t0a1", "name": "data", "path": "/bitnami/postgresql", "dockerName": "svc_2_ptah_pg_data", "backupSchedule": null}], "workers": [], "replicas": 1, "dockerName": "svc_2_ptah_pg", "launchMode": "daemon", "secretVars": [], "configFiles": [], "dockerImage": "bitnami/postgresql:16", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": {"id": "volume-h7i8j9k0l1", "name": "backups", "path": "/ptah/backups", "dockerName": "svc_2_ptah_pg_ptah_backups"}, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": null, "dockerName": null}, "placementNodeId": 1, "dockerRegistryId": null}, {"name": "pool", "caddy": [], "ports": [], "backups": [], "command": null, "envVars": [{"name": "PGBOUNCER_POOL_MODE", "value": "session"}, {"name": "POSTGRESQL_USERNAME", "value": "ptah_sh"}, {"name": "POSTGRESQL_PASSWORD", "value": "ptah_sh"}, {"name": "POSTGRESQL_DATABASE", "value": "ptah_sh"}, {"name": "POSTGRESQL_HOST", "value": "pg.server.ptah.local"}, {"name": "PGBOUNCER_PORT", "value": "5432"}, {"name": "PGBOUNCER_DATABASE", "value": "ptah_sh"}], "fastCgi": null, "volumes": [], "workers": [], "replicas": 1, "dockerName": "svc_2_ptah_pool", "launchMode": "daemon", "secretVars": [], "configFiles": [], "dockerImage": "bitnami/pgbouncer", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": null, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": null, "dockerName": null}, "placementNodeId": null, "dockerRegistryId": null}, {"name": "app", "caddy": [{"id": "caddy-b2c3d4e5f6", "path": "/*", "domain": "ptah.localhost", "targetPort": 8080, "publishedPort": 80, "targetProtocol": "http"}], "ports": [], "backups": [], "command": null, "envVars": [{"name": "APP_ENV", "value": "production"}, {"name": "APP_KEY", "value": "base64:APP_KEY"}, {"name": "BCRYPT_ROUNDS", "value": "12"}, {"name": "DB_CONNECTION", "value": "pgsql"}, {"name": "DB_HOST", "value": "pool.server.ptah.local"}, {"name": "DB_DATABASE", "value": "ptah_sh"}, {"name": "DB_USERNAME", "value": "ptah_sh"}, {"name": "DB_PASSWORD", "value": "ptah_sh"}, {"name": "LOG_CHANNEL", "value": "errorlog"}, {"name": "APP_URL", "value": "localhost"}, {"name": "BILLING_ENABLED", "value": "false"}], "fastCgi": null, "volumes": [], "workers": [{"name": "schedule", "command": "php artisan config:cache && php artisan schedule:work", "replicas": 1, "dockerName": "svc_2_ptah_app_wkr_schedule"}, {"name": "queue", "command": "php artisan config:cache && php artisan queue:work", "replicas": 1, "dockerName": "svc_2_ptah_app_wkr_queue"}], "replicas": 2, "dockerName": "svc_2_ptah_app", "launchMode": "daemon", "secretVars": [], "configFiles": [], "dockerImage": "ghcr.io/ptah-sh/ptah-server:latest", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": null, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": "php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force", "dockerName": "svc_2_dpl_2_release_command"}, "placementNodeId": null, "dockerRegistryId": null}], "networkName": "ptah_net", "internalDomain": "server.ptah.local"} 2024-09-01 00:00:00 2024-09-01 00:00:00 +1 1 1 {"processes": [{"name": "svc", "caddy": [], "ports": [{"targetPort": 80, "publishedPort": 80}, {"targetPort": 443, "publishedPort": 443}, {"targetPort": 2019, "publishedPort": 2019}], "backups": [], "command": "sh /start.sh", "envVars": [{"name": "CADDY_ADMIN", "value": "0.0.0.0:2019"}], "fastCgi": null, "volumes": [{"id": "volume-a1b2c3d4e5f", "name": "data", "path": "/data", "dockerName": "svc_1_caddy_svc_data", "backupSchedule": null}, {"id": "volume-g6h7i8j9k1", "name": "config", "path": "/config", "dockerName": "svc_1_caddy_svc_config", "backupSchedule": null}], "workers": [], "replicas": 1, "dockerName": "svc_1_caddy_svc", "launchMode": "daemon", "secretVars": [], "configFiles": [{"path": "/ptah/caddy/tls/.keep", "content": "# Keep this file", "dockerName": "svc_1_caddy_svc_dpl_1_cfg_ptah_caddy_tls_keep"}, {"path": "/start.sh", "content": "# This is the entrypoint for Caddy.\\n# By default, it starts with a blank Caddyfile with a standard \\"Hello from Caddy\\" page.\\n\\nif [ -f \\"/config/caddy/autosave.json\\" ]; then\\n echo \\"Starting with autosave.json\\"\\n\\n caddy run --config \\"/config/caddy/autosave.json\\"\\nelse\\n echo \\"Starting with the default Caddyfile\\"\\n\\n caddy run --config \\"/etc/caddy/Caddyfile\\"\\nfi", "dockerName": "svc_1_caddy_svc_dpl_1_cfg_start_sh"}], "dockerImage": "ghcr.io/ptah-sh/ptah-caddy:latest", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": {"id": "volume-l2m3n4o5p6", "name": "backups", "path": "/ptah/backups", "dockerName": "svc_1_caddy_svc_ptah_backups"}, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": null, "dockerName": null}, "placementNodeId": 1, "dockerRegistryId": null}], "networkName": "ptah_net", "internalDomain": "caddy.ptah.local"} 2024-09-01 00:00:00 2024-09-01 00:00:00 +2 1 2 {"processes": [{"name": "pg", "caddy": [], "ports": [], "backups": [], "command": null, "envVars": [{"name": "POSTGRESQL_USERNAME", "value": "ptah_sh"}, {"name": "POSTGRESQL_PASSWORD", "value": "ptah_sh"}, {"name": "POSTGRESQL_DATABASE", "value": "ptah_sh"}], "fastCgi": null, "volumes": [{"id": "volume-q7r8s9t0a1", "name": "data", "path": "/bitnami/postgresql", "dockerName": "svc_2_ptah_pg_data", "backupSchedule": null}], "workers": [], "replicas": 1, "dockerName": "svc_2_ptah_pg", "launchMode": "daemon", "secretVars": [], "configFiles": [], "dockerImage": "bitnami/postgresql:16", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": {"id": "volume-m3n4o5p6q7", "name": "backups", "path": "/ptah/backups", "dockerName": "svc_2_ptah_pg_ptah_backups"}, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": null, "dockerName": null}, "placementNodeId": 1, "dockerRegistryId": null}, {"name": "pool", "caddy": [], "ports": [], "backups": [], "command": null, "envVars": [{"name": "PGBOUNCER_POOL_MODE", "value": "session"}, {"name": "POSTGRESQL_USERNAME", "value": "ptah_sh"}, {"name": "POSTGRESQL_PASSWORD", "value": "ptah_sh"}, {"name": "POSTGRESQL_DATABASE", "value": "ptah_sh"}, {"name": "POSTGRESQL_HOST", "value": "pg.server.ptah.local"}, {"name": "PGBOUNCER_PORT", "value": "5432"}, {"name": "PGBOUNCER_DATABASE", "value": "ptah_sh"}], "fastCgi": null, "volumes": [], "workers": [], "replicas": 1, "dockerName": "svc_2_ptah_pool", "launchMode": "daemon", "secretVars": [], "configFiles": [], "dockerImage": "bitnami/pgbouncer", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": null, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": null, "dockerName": null}, "placementNodeId": null, "dockerRegistryId": null}, {"name": "victoriametrics", "caddy": [], "ports": [], "backups": [], "command": null, "envVars": [], "fastCgi": null, "volumes": [{"id": "volume-b2c3d4e5f6", "name": "data", "path": "/victoria-metrics-data", "dockerName": "svc_2_ptah_victoriametrics_data", "backupSchedule": null}], "workers": [], "replicas": 1, "dockerName": "svc_2_ptah_victoriametrics", "launchMode": "daemon", "secretVars": [], "configFiles": [], "dockerImage": "victoriametrics/victoria-metrics", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": {"id": "volume-s9t0a1b2c3", "name": "backups", "path": "/ptah/backups", "dockerName": "svc_2_ptah_victoriametrics_ptah_backups"}, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": null, "dockerName": null}, "placementNodeId": 1, "dockerRegistryId": null}, {"name": "ptah-server", "caddy": [{"id": "caddy-h7i8j9k0l1", "path": "/*", "domain": "ptah.localhost", "targetPort": 8080, "publishedPort": 80, "targetProtocol": "http"}], "ports": [], "backups": [], "command": null, "envVars": [{"name": "APP_ENV", "value": "production"}, {"name": "APP_KEY", "value": "base64:APP_KEY"}, {"name": "BCRYPT_ROUNDS", "value": "12"}, {"name": "DB_CONNECTION", "value": "pgsql"}, {"name": "DB_HOST", "value": "pool.server.ptah.local"}, {"name": "DB_DATABASE", "value": "ptah_sh"}, {"name": "DB_USERNAME", "value": "ptah_sh"}, {"name": "DB_PASSWORD", "value": "ptah_sh"}, {"name": "LOG_CHANNEL", "value": "errorlog"}, {"name": "APP_URL", "value": "localhost"}, {"name": "BILLING_ENABLED", "value": "false"}, {"name": "VICTORIAMETRICS_URL", "value": "http://victoriametrics.server.ptah.local:8428"}], "fastCgi": null, "volumes": [], "workers": [{"name": "schedule", "command": "php artisan config:cache && php artisan schedule:work", "replicas": 1, "dockerName": "svc_2_ptah_ptah_server_wkr_schedule"}, {"name": "queue", "command": "php artisan config:cache && php artisan queue:work", "replicas": 1, "dockerName": "svc_2_ptah_ptah_server_wkr_queue"}], "replicas": 2, "dockerName": "svc_2_ptah_ptah_server", "launchMode": "daemon", "secretVars": [], "configFiles": [], "dockerImage": "ghcr.io/ptah-sh/ptah-server:latest", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "secretFiles": [], "backupVolume": null, "rewriteRules": [], "redirectRules": [], "releaseCommand": {"command": "php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force", "dockerName": "svc_2_dpl_2_release_command"}, "placementNodeId": null, "dockerRegistryId": null}], "networkName": "ptah_net", "internalDomain": "server.ptah.local"} 2024-09-01 00:00:00 2024-09-01 00:00:00 \. @@ -1223,23 +1224,25 @@ COPY public.node_task_groups (id, team_id, swarm_id, node_id, status, invoker_id -- COPY public.node_tasks (id, team_id, task_group_id, type, meta, payload, status, started_at, ended_at, result, created_at, updated_at) FROM stdin; -13 1 3 14 {"dockerImage": "ghcr.io/ptah-sh/ptah-server:latest"} {"Image": "ghcr.io/ptah-sh/ptah-server:latest", "PullOptions": {}, "AuthConfigName": ""} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 1 1 1 1 {"swarmId": 1, "forceNewCluster": false} {"SwarmInitRequest": {"Spec": {"Annotations": {"Name": "default", "Labels": {"sh.ptah.managed": "1", "sh.ptah.swarm.id": "1"}}}, "ListenAddr": "0.0.0.0:2377", "AdvertiseAddr": "192.168.1.1", "ForceNewCluster": false}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 2 1 1 7 [] {"NodeSpec": {"Name": "default", "Role": "manager", "Labels": {"sh.ptah.managed": "1", "sh.ptah.node.id": "1", "sh.ptah.node.name": "default"}, "Availability": "active"}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 3 1 1 0 {"name": "ptah_net", "networkId": 1} {"NetworkName": "ptah_net", "NetworkCreateOptions": {"Scope": "swarm", "Driver": "overlay", "Labels": {"sh.ptah.managed": "1", "sh.ptah.network.id": "1"}, "Attachable": true}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -6 1 2 14 {"dockerImage": "caddy:2.8-alpine"} {"Image": "caddy:2.8-alpine", "PullOptions": {}, "AuthConfigName": ""} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -8 1 2 5 {"deploymentId": 1} {"caddy": {"apps": {"http": {"servers": {}}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -11 1 3 14 {"dockerImage": "bitnami/pgbouncer"} {"Image": "bitnami/pgbouncer", "PullOptions": {}, "AuthConfigName": ""} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +13 1 3 14 {"dockerImage": "victoriametrics/victoria-metrics"} {"Image": "victoriametrics/victoria-metrics", "PullOptions": {}, "AuthConfigName": ""} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +15 1 3 14 {"dockerImage": "ghcr.io/ptah-sh/ptah-server:latest"} {"Image": "ghcr.io/ptah-sh/ptah-server:latest", "PullOptions": {}, "AuthConfigName": ""} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +5 1 2 2 {"path": "/start.sh", "processName": "svc_1_caddy_svc", "deploymentId": 1} {"SwarmConfigSpec": {"Data": "IyBUaGlzIGlzIHRoZSBlbnRyeXBvaW50IGZvciBDYWRkeS4KIyBCeSBkZWZhdWx0LCBpdCBzdGFydHMgd2l0aCBhIGJsYW5rIENhZGR5ZmlsZSB3aXRoIGEgc3RhbmRhcmQgIkhlbGxvIGZyb20gQ2FkZHkiIHBhZ2UuCgppZiBbIC1mICIvY29uZmlnL2NhZGR5L2F1dG9zYXZlLmpzb24iIF07IHRoZW4KICAgIGVjaG8gIlN0YXJ0aW5nIHdpdGggYXV0b3NhdmUuanNvbiIKCiAgICBjYWRkeSBydW4gLS1jb25maWcgIi9jb25maWcvY2FkZHkvYXV0b3NhdmUuanNvbiIKZWxzZQogICAgZWNobyAiU3RhcnRpbmcgd2l0aCB0aGUgZGVmYXVsdCBDYWRkeWZpbGUiCgogICAgY2FkZHkgcnVuIC0tY29uZmlnICIvZXRjL2NhZGR5L0NhZGR5ZmlsZSIKZmk=", "Name": "svc_1_caddy_svc_dpl_1_cfg_start_sh", "Labels": {"sh.ptah.kind": "config", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +7 1 2 21 {"serviceId": 1, "dockerName": "svc_1_caddy_svc", "serviceName": "caddy", "deploymentId": 1} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_caddy_svc", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "EndpointSpec": {"Ports": [{"Protocol": "tcp", "TargetPort": 80, "PublishMode": "ingress", "PublishedPort": 80}, {"Protocol": "tcp", "TargetPort": 443, "PublishMode": "ingress", "PublishedPort": 443}, {"Protocol": "tcp", "TargetPort": 2019, "PublishMode": "ingress", "PublishedPort": 2019}]}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["svc.caddy.ptah.local"]}], "ContainerSpec": {"Env": ["CADDY_ADMIN=0.0.0.0:2019", "PTAH_HOSTNAME=svc.caddy.ptah.local"], "Args": ["/start.sh"], "Hosts": ["svc.caddy.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-caddy:latest", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "Mounts": [{"Type": "volume", "Source": "svc_1_caddy_svc_data", "Target": "/data", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-a1b2c3d4e5f", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}, {"Type": "volume", "Source": "svc_1_caddy_svc_config", "Target": "/config", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-g6h7i8j9k1", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}, {"Type": "volume", "Source": "svc_1_caddy_svc_ptah_backups", "Target": "/ptah/backups", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-l2m3n4o5p6", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}], "Command": ["sh"], "Configs": [{"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/ptah/caddy/tls/.keep"}, "ConfigName": "svc_1_caddy_svc_dpl_1_cfg_ptah_caddy_tls_keep"}, {"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/start.sh"}, "ConfigName": "svc_1_caddy_svc_dpl_1_cfg_start_sh"}], "Secrets": [], "Hostname": "dpl-1.svc.caddy.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +4 1 2 2 {"path": "/ptah/caddy/tls/.keep", "processName": "svc_1_caddy_svc", "deploymentId": 1} {"SwarmConfigSpec": {"Data": "IyBLZWVwIHRoaXMgZmlsZQ==", "Name": "svc_1_caddy_svc_dpl_1_cfg_ptah_caddy_tls_keep", "Labels": {"sh.ptah.kind": "config", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +6 1 2 14 {"dockerImage": "ghcr.io/ptah-sh/ptah-caddy:latest"} {"Image": "ghcr.io/ptah-sh/ptah-caddy:latest", "PullOptions": {}, "AuthConfigName": ""} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 9 1 3 14 {"dockerImage": "bitnami/postgresql:16"} {"Image": "bitnami/postgresql:16", "PullOptions": {}, "AuthConfigName": ""} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +10 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_pg", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_pg", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["pg.server.ptah.local"]}], "ContainerSpec": {"Env": ["POSTGRESQL_USERNAME=ptah_sh", "POSTGRESQL_PASSWORD=ptah_sh", "POSTGRESQL_DATABASE=ptah_sh", "PTAH_HOSTNAME=pg.server.ptah.local"], "Args": null, "Hosts": ["pg.server.ptah.local"], "Image": "bitnami/postgresql:16", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [{"Type": "volume", "Source": "svc_2_ptah_pg_data", "Target": "/bitnami/postgresql", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-q7r8s9t0a1", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}}, {"Type": "volume", "Source": "svc_2_ptah_pg_ptah_backups", "Target": "/ptah/backups", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-m3n4o5p6q7", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}}], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.pg.server.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +11 1 3 14 {"dockerImage": "bitnami/pgbouncer"} {"Image": "bitnami/pgbouncer", "PullOptions": {}, "AuthConfigName": ""} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +8 1 2 5 {"deploymentId": 1} {"caddy": {"apps": {"http": {"servers": {"http": {"listen": ["0.0.0.0:80"], "routes": [{"match": [{"host": ["*"], "path": ["/*"]}], "handle": [{"handler": "ptah_observer", "rule_id": "ptah_404", "process_id": "ptah_404", "service_id": "ptah_404"}, {"body": "\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n", "handler": "static_response", "headers": {"Content-Type": ["text/html; charset=utf-8"], "X-Powered-By": ["https://ptah.sh"]}, "status_code": "404"}]}]}, "https": {"listen": ["0.0.0.0:443"], "routes": [{"match": [{"host": ["*"], "path": ["/*"]}], "handle": [{"handler": "ptah_observer", "rule_id": "ptah_404", "process_id": "ptah_404", "service_id": "ptah_404"}, {"body": "\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n", "handler": "static_response", "headers": {"Content-Type": ["text/html; charset=utf-8"], "X-Powered-By": ["https://ptah.sh"]}, "status_code": "404"}]}]}}}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +17 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_ptah_server_wkr_schedule", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_ptah_server_wkr_schedule", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["schedule.ptah-server.server.ptah.local"]}], "ContainerSpec": {"Env": ["APP_ENV=production", "APP_KEY=base64:APP_KEY", "BCRYPT_ROUNDS=12", "DB_CONNECTION=pgsql", "DB_HOST=pool.server.ptah.local", "DB_DATABASE=ptah_sh", "DB_USERNAME=ptah_sh", "DB_PASSWORD=ptah_sh", "LOG_CHANNEL=errorlog", "APP_URL=localhost", "BILLING_ENABLED=false", "VICTORIAMETRICS_URL=http://victoriametrics.server.ptah.local:8428"], "Args": ["php artisan config:cache && php artisan schedule:work"], "Hosts": ["schedule.ptah-server.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": ["sh", "-c"], "Configs": [], "Secrets": [], "Hostname": "dpl-2.schedule.ptah-server.server.ptah.local", "Placement": [], "HealthCheck": {"Test": ["NONE"]}}}, "UpdateConfig": {"Parallelism": 1}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +19 1 3 5 {"deploymentId": 2} {"caddy": {"apps": {"http": {"servers": {"http": {"listen": ["0.0.0.0:80"], "routes": [{"group": "svc_2_ptah_ptah_server", "match": [{"host": ["ptah.localhost"], "path": ["/*"]}], "handle": [{"handler": "ptah_observer", "rule_id": "caddy-h7i8j9k0l1", "process_id": "ptah-server", "service_id": "2"}, {"handler": "reverse_proxy", "headers": {"request": {"set": {"X-Forwarded-Host": ["ptah.localhost"], "X-Forwarded-Port": ["80"], "X-Forwarded-Proto": ["http"], "X-Forwarded-Schema": ["http"]}}, "response": {"set": {"X-Powered-By": ["https://ptah.sh"], "X-Ptah-Rule-Id": ["caddy-h7i8j9k0l1"]}}}, "transport": {"protocol": "http"}, "upstreams": [{"dial": "ptah-server.server.ptah.local:8080"}]}]}, {"match": [{"host": ["*"], "path": ["/*"]}], "handle": [{"handler": "ptah_observer", "rule_id": "ptah_404", "process_id": "ptah_404", "service_id": "ptah_404"}, {"body": "\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n", "handler": "static_response", "headers": {"Content-Type": ["text/html; charset=utf-8"], "X-Powered-By": ["https://ptah.sh"]}, "status_code": "404"}]}]}, "https": {"listen": ["0.0.0.0:443"], "routes": [{"match": [{"host": ["*"], "path": ["/*"]}], "handle": [{"handler": "ptah_observer", "rule_id": "ptah_404", "process_id": "ptah_404", "service_id": "ptah_404"}, {"body": "\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n", "handler": "static_response", "headers": {"Content-Type": ["text/html; charset=utf-8"], "X-Powered-By": ["https://ptah.sh"]}, "status_code": "404"}]}]}}}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 12 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_pool", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_pool", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["pool.server.ptah.local"]}], "ContainerSpec": {"Env": ["PGBOUNCER_POOL_MODE=session", "POSTGRESQL_USERNAME=ptah_sh", "POSTGRESQL_PASSWORD=ptah_sh", "POSTGRESQL_DATABASE=ptah_sh", "POSTGRESQL_HOST=pg.server.ptah.local", "PGBOUNCER_PORT=5432", "PGBOUNCER_DATABASE=ptah_sh", "PTAH_HOSTNAME=pool.server.ptah.local"], "Args": null, "Hosts": ["pool.server.ptah.local"], "Image": "bitnami/pgbouncer", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.pool.server.ptah.local", "Placement": [], "HealthCheck": null}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -4 1 2 2 {"path": "/ptah/caddy/tls/.keep", "processName": "svc_1_caddy_svc", "deploymentId": 1} {"SwarmConfigSpec": {"Data": "IyBLZWVwIHRoaXMgZmlsZQ==", "Name": "svc_1_caddy_svc_dpl_1_cfg_ptah_caddy_tls_keep", "Labels": {"sh.ptah.kind": "config", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -16 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_app_wkr_queue", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_app_wkr_queue", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["queue.app.server.ptah.local"]}], "ContainerSpec": {"Env": ["APP_ENV=production", "APP_KEY=base64:APP_KEY", "BCRYPT_ROUNDS=12", "DB_CONNECTION=pgsql", "DB_HOST=pool.server.ptah.local", "DB_DATABASE=ptah_sh", "DB_USERNAME=ptah_sh", "DB_PASSWORD=ptah_sh", "LOG_CHANNEL=errorlog", "APP_URL=localhost", "BILLING_ENABLED=false"], "Args": ["php artisan config:cache && php artisan queue:work"], "Hosts": ["queue.app.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": ["sh", "-c"], "Configs": [], "Secrets": [], "Hostname": "dpl-2.queue.app.server.ptah.local", "Placement": [], "HealthCheck": {"Test": ["NONE"]}}}, "UpdateConfig": {"Parallelism": 1}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -15 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_app_wkr_schedule", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_app_wkr_schedule", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["schedule.app.server.ptah.local"]}], "ContainerSpec": {"Env": ["APP_ENV=production", "APP_KEY=base64:APP_KEY", "BCRYPT_ROUNDS=12", "DB_CONNECTION=pgsql", "DB_HOST=pool.server.ptah.local", "DB_DATABASE=ptah_sh", "DB_USERNAME=ptah_sh", "DB_PASSWORD=ptah_sh", "LOG_CHANNEL=errorlog", "APP_URL=localhost", "BILLING_ENABLED=false"], "Args": ["php artisan config:cache && php artisan schedule:work"], "Hosts": ["schedule.app.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": ["sh", "-c"], "Configs": [], "Secrets": [], "Hostname": "dpl-2.schedule.app.server.ptah.local", "Placement": [], "HealthCheck": {"Test": ["NONE"]}}}, "UpdateConfig": {"Parallelism": 1}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -17 1 3 5 {"deploymentId": 2} {"caddy": {"apps": {"http": {"servers": {"listen_80": {"listen": ["0.0.0.0:80"], "routes": [{"match": [{"host": ["ptah.localhost"], "path": ["/*"]}], "handle": [{"handler": "reverse_proxy", "headers": {"request": {"set": {"X-Forwarded-Host": ["ptah.localhost"], "X-Forwarded-Port": ["80"], "X-Forwarded-Proto": ["http"], "X-Forwarded-Schema": ["http"]}}, "response": {"set": {"X-Powered-By": ["https://ptah.sh"], "X-Ptah-Rule-Id": ["caddy-b2c3d4e5f6"]}}}, "transport": {"protocol": "http"}, "upstreams": [{"dial": "app.server.ptah.local:8080"}]}]}, {"match": [{"host": ["*"], "path": ["/*"]}], "handle": [{"body": "\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n", "handler": "static_response", "headers": {"Content-Type": ["text/html; charset=utf-8"], "X-Powered-By": ["https://ptah.sh"]}, "status_code": "404"}]}]}}}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -5 1 2 2 {"path": "/start.sh", "processName": "svc_1_caddy_svc", "deploymentId": 1} {"SwarmConfigSpec": {"Data": "IyBUaGlzIGlzIHRoZSBlbnRyeXBvaW50IGZvciBDYWRkeS4KIyBCeSBkZWZhdWx0LCBpdCBzdGFydHMgd2l0aCBhIGJsYW5rIENhZGR5ZmlsZSB3aXRoIGEgc3RhbmRhcmQgIkhlbGxvIGZyb20gQ2FkZHkiIHBhZ2UuCgppZiBbIC1mICIvY29uZmlnL2NhZGR5L2F1dG9zYXZlLmpzb24iIF07IHRoZW4KICAgIGVjaG8gIlN0YXJ0aW5nIHdpdGggYXV0b3NhdmUuanNvbiIKCiAgICBjYWRkeSBydW4gLS1jb25maWcgIi9jb25maWcvY2FkZHkvYXV0b3NhdmUuanNvbiIKZWxzZQogICAgZWNobyAiU3RhcnRpbmcgd2l0aCB0aGUgZGVmYXVsdCBDYWRkeWZpbGUiCgogICAgY2FkZHkgcnVuIC0tY29uZmlnICIvZXRjL2NhZGR5L0NhZGR5ZmlsZSIKZmk=", "Name": "svc_1_caddy_svc_dpl_1_cfg_start_sh", "Labels": {"sh.ptah.kind": "config", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -7 1 2 21 {"serviceId": 1, "dockerName": "svc_1_caddy_svc", "serviceName": "caddy", "deploymentId": 1} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_caddy_svc", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "EndpointSpec": {"Ports": [{"Protocol": "tcp", "TargetPort": 80, "PublishMode": "ingress", "PublishedPort": 80}, {"Protocol": "tcp", "TargetPort": 443, "PublishMode": "ingress", "PublishedPort": 443}, {"Protocol": "tcp", "TargetPort": 2019, "PublishMode": "ingress", "PublishedPort": 2019}]}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["svc.caddy.ptah.local"]}], "ContainerSpec": {"Env": ["CADDY_ADMIN=0.0.0.0:2019", "PTAH_HOSTNAME=svc.caddy.ptah.local"], "Args": ["/start.sh"], "Hosts": ["svc.caddy.ptah.local"], "Image": "caddy:2.8-alpine", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "Mounts": [{"Type": "volume", "Source": "svc_1_caddy_svc_data", "Target": "/data", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-a1b2c3d4e5f", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}, {"Type": "volume", "Source": "svc_1_caddy_svc_config", "Target": "/config", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-g6h7i8j9k1", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}, {"Type": "volume", "Source": "svc_1_caddy_svc_ptah_backups", "Target": "/ptah/backups", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-l2m3n4o5p6", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "caddy_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}], "Command": ["sh"], "Configs": [{"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/ptah/caddy/tls/.keep"}, "ConfigName": "svc_1_caddy_svc_dpl_1_cfg_ptah_caddy_tls_keep"}, {"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/start.sh"}, "ConfigName": "svc_1_caddy_svc_dpl_1_cfg_start_sh"}], "Secrets": [], "Hostname": "dpl-1.svc.caddy.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -10 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_pg", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_pg", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["pg.server.ptah.local"]}], "ContainerSpec": {"Env": ["POSTGRESQL_USERNAME=ptah_sh", "POSTGRESQL_PASSWORD=ptah_sh", "POSTGRESQL_DATABASE=ptah_sh", "PTAH_HOSTNAME=pg.server.ptah.local"], "Args": null, "Hosts": ["pg.server.ptah.local"], "Image": "bitnami/postgresql:16", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [{"Type": "volume", "Source": "svc_2_ptah_pg_data", "Target": "/bitnami/postgresql", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-q7r8s9t0a1", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}}, {"Type": "volume", "Source": "svc_2_ptah_pg_ptah_backups", "Target": "/ptah/backups", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-h7i8j9k0l1", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}}], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.pg.server.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 -14 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_app", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {"Command": "php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force", "ConfigName": "svc_2_dpl_2_release_command", "ConfigLabels": {"sh.ptah.kind": "release-command", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 2}}, "Name": "svc_2_ptah_app", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["app.server.ptah.local"]}], "ContainerSpec": {"Env": ["APP_ENV=production", "APP_KEY=base64:APP_KEY", "BCRYPT_ROUNDS=12", "DB_CONNECTION=pgsql", "DB_HOST=pool.server.ptah.local", "DB_DATABASE=ptah_sh", "DB_USERNAME=ptah_sh", "DB_PASSWORD=ptah_sh", "LOG_CHANNEL=errorlog", "APP_URL=localhost", "BILLING_ENABLED=false", "PTAH_HOSTNAME=app.server.ptah.local"], "Args": null, "Hosts": ["app.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.app.server.ptah.local", "Placement": [], "HealthCheck": null}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +14 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_victoriametrics", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_victoriametrics", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["victoriametrics.server.ptah.local"]}], "ContainerSpec": {"Env": ["PTAH_HOSTNAME=victoriametrics.server.ptah.local"], "Args": null, "Hosts": ["victoriametrics.server.ptah.local"], "Image": "victoriametrics/victoria-metrics", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [{"Type": "volume", "Source": "svc_2_ptah_victoriametrics_data", "Target": "/victoria-metrics-data", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-b2c3d4e5f6", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}}, {"Type": "volume", "Source": "svc_2_ptah_victoriametrics_ptah_backups", "Target": "/ptah/backups", "VolumeOptions": {"Labels": {"sh.ptah.id": "volume-s9t0a1b2c3", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}}], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.victoriametrics.server.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +16 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_ptah_server", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {"Command": "php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force", "ConfigName": "svc_2_dpl_2_release_command", "ConfigLabels": {"sh.ptah.kind": "release-command", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 2}}, "Name": "svc_2_ptah_ptah_server", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["ptah-server.server.ptah.local"]}], "ContainerSpec": {"Env": ["APP_ENV=production", "APP_KEY=base64:APP_KEY", "BCRYPT_ROUNDS=12", "DB_CONNECTION=pgsql", "DB_HOST=pool.server.ptah.local", "DB_DATABASE=ptah_sh", "DB_USERNAME=ptah_sh", "DB_PASSWORD=ptah_sh", "LOG_CHANNEL=errorlog", "APP_URL=localhost", "BILLING_ENABLED=false", "VICTORIAMETRICS_URL=http://victoriametrics.server.ptah.local:8428", "PTAH_HOSTNAME=ptah-server.server.ptah.local"], "Args": null, "Hosts": ["ptah-server.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.ptah-server.server.ptah.local", "Placement": [], "HealthCheck": null}}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 +18 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_ptah_server_wkr_queue", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "AuthConfigName": "", "ReleaseCommand": {}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_ptah_server_wkr_queue", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["queue.ptah-server.server.ptah.local"]}], "ContainerSpec": {"Env": ["APP_ENV=production", "APP_KEY=base64:APP_KEY", "BCRYPT_ROUNDS=12", "DB_CONNECTION=pgsql", "DB_HOST=pool.server.ptah.local", "DB_DATABASE=ptah_sh", "DB_USERNAME=ptah_sh", "DB_PASSWORD=ptah_sh", "LOG_CHANNEL=errorlog", "APP_URL=localhost", "BILLING_ENABLED=false", "VICTORIAMETRICS_URL=http://victoriametrics.server.ptah.local:8428"], "Args": ["php artisan config:cache && php artisan queue:work"], "Hosts": ["queue.ptah-server.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": ["sh", "-c"], "Configs": [], "Secrets": [], "Hostname": "dpl-2.queue.ptah-server.server.ptah.local", "Placement": [], "HealthCheck": {"Test": ["NONE"]}}}, "UpdateConfig": {"Parallelism": 1}}} completed 2024-09-01 00:00:00 2024-09-01 00:00:00 [] 2024-09-01 00:00:00 2024-09-01 00:00:00 \. @@ -1413,7 +1416,7 @@ SELECT pg_catalog.setval('public.node_task_groups_id_seq', 3, true); -- Name: node_tasks_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - -- -SELECT pg_catalog.setval('public.node_tasks_id_seq', 17, true); +SELECT pg_catalog.setval('public.node_tasks_id_seq', 19, true); -- diff --git a/scripts/self-hosted/tasks.json b/scripts/self-hosted/tasks.json index 793a562..453dd48 100644 --- a/scripts/self-hosted/tasks.json +++ b/scripts/self-hosted/tasks.json @@ -27,17 +27,17 @@ { "id": 6, "type": 14, - "payload": "{\"Image\": \"caddy:2.8-alpine\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" + "payload": "{\"Image\": \"ghcr.io/ptah-sh/ptah-caddy:latest\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" }, { "id": 7, "type": 21, - "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_caddy_svc\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"EndpointSpec\": {\"Ports\": [{\"Protocol\": \"tcp\", \"TargetPort\": 80, \"PublishMode\": \"ingress\", \"PublishedPort\": 80}, {\"Protocol\": \"tcp\", \"TargetPort\": 443, \"PublishMode\": \"ingress\", \"PublishedPort\": 443}, {\"Protocol\": \"tcp\", \"TargetPort\": 2019, \"PublishMode\": \"ingress\", \"PublishedPort\": 2019}]}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"svc.caddy.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"CADDY_ADMIN=0.0.0.0:2019\", \"PTAH_HOSTNAME=svc.caddy.ptah.local\"], \"Args\": [\"/start.sh\"], \"Hosts\": [\"svc.caddy.ptah.local\"], \"Image\": \"caddy:2.8-alpine\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_1_caddy_svc_data\", \"Target\": \"/data\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-a1b2c3d4e5f\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}, {\"Type\": \"volume\", \"Source\": \"svc_1_caddy_svc_config\", \"Target\": \"/config\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-g6h7i8j9k1\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}, {\"Type\": \"volume\", \"Source\": \"svc_1_caddy_svc_ptah_backups\", \"Target\": \"/ptah/backups\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-l2m3n4o5p6\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}], \"Command\": [\"sh\"], \"Configs\": [{\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/ptah/caddy/tls/.keep\"}, \"ConfigName\": \"svc_1_caddy_svc_dpl_1_cfg_ptah_caddy_tls_keep\"}, {\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/start.sh\"}, \"ConfigName\": \"svc_1_caddy_svc_dpl_1_cfg_start_sh\"}], \"Secrets\": [], \"Hostname\": \"dpl-1.svc.caddy.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}}}}" + "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_caddy_svc\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"EndpointSpec\": {\"Ports\": [{\"Protocol\": \"tcp\", \"TargetPort\": 80, \"PublishMode\": \"ingress\", \"PublishedPort\": 80}, {\"Protocol\": \"tcp\", \"TargetPort\": 443, \"PublishMode\": \"ingress\", \"PublishedPort\": 443}, {\"Protocol\": \"tcp\", \"TargetPort\": 2019, \"PublishMode\": \"ingress\", \"PublishedPort\": 2019}]}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"svc.caddy.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"CADDY_ADMIN=0.0.0.0:2019\", \"PTAH_HOSTNAME=svc.caddy.ptah.local\"], \"Args\": [\"/start.sh\"], \"Hosts\": [\"svc.caddy.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-caddy:latest\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_1_caddy_svc_data\", \"Target\": \"/data\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-a1b2c3d4e5f\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}, {\"Type\": \"volume\", \"Source\": \"svc_1_caddy_svc_config\", \"Target\": \"/config\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-g6h7i8j9k1\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}, {\"Type\": \"volume\", \"Source\": \"svc_1_caddy_svc_ptah_backups\", \"Target\": \"/ptah/backups\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-l2m3n4o5p6\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"caddy_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}], \"Command\": [\"sh\"], \"Configs\": [{\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/ptah/caddy/tls/.keep\"}, \"ConfigName\": \"svc_1_caddy_svc_dpl_1_cfg_ptah_caddy_tls_keep\"}, {\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/start.sh\"}, \"ConfigName\": \"svc_1_caddy_svc_dpl_1_cfg_start_sh\"}], \"Secrets\": [], \"Hostname\": \"dpl-1.svc.caddy.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}}}}" }, { "id": 8, "type": 5, - "payload": "{\"caddy\": {\"apps\": {\"http\": {\"servers\": {}}}}}" + "payload": "{\"caddy\": {\"apps\": {\"http\": {\"servers\": {\"http\": {\"listen\": [\"0.0.0.0:80\"], \"routes\": [{\"match\": [{\"host\": [\"*\"], \"path\": [\"/*\"]}], \"handle\": [{\"handler\": \"ptah_observer\", \"rule_id\": \"ptah_404\", \"process_id\": \"ptah_404\", \"service_id\": \"ptah_404\"}, {\"body\": \"\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n\", \"handler\": \"static_response\", \"headers\": {\"Content-Type\": [\"text/html; charset=utf-8\"], \"X-Powered-By\": [\"https://ptah.sh\"]}, \"status_code\": \"404\"}]}]}, \"https\": {\"listen\": [\"0.0.0.0:443\"], \"routes\": [{\"match\": [{\"host\": [\"*\"], \"path\": [\"/*\"]}], \"handle\": [{\"handler\": \"ptah_observer\", \"rule_id\": \"ptah_404\", \"process_id\": \"ptah_404\", \"service_id\": \"ptah_404\"}, {\"body\": \"\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n\", \"handler\": \"static_response\", \"headers\": {\"Content-Type\": [\"text/html; charset=utf-8\"], \"X-Powered-By\": [\"https://ptah.sh\"]}, \"status_code\": \"404\"}]}]}}}}}}" }, { "id": 9, @@ -47,7 +47,7 @@ { "id": 10, "type": 21, - "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_pg\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"pg.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"POSTGRESQL_USERNAME=ptah_sh\", \"POSTGRESQL_PASSWORD=ptah_sh\", \"POSTGRESQL_DATABASE=ptah_sh\", \"PTAH_HOSTNAME=pg.server.ptah.local\"], \"Args\": null, \"Hosts\": [\"pg.server.ptah.local\"], \"Image\": \"bitnami/postgresql:16\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_2_ptah_pg_data\", \"Target\": \"/bitnami/postgresql\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-q7r8s9t0a1\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}}, {\"Type\": \"volume\", \"Source\": \"svc_2_ptah_pg_ptah_backups\", \"Target\": \"/ptah/backups\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-h7i8j9k0l1\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}}], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.pg.server.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}}}}" + "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_pg\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"pg.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"POSTGRESQL_USERNAME=ptah_sh\", \"POSTGRESQL_PASSWORD=ptah_sh\", \"POSTGRESQL_DATABASE=ptah_sh\", \"PTAH_HOSTNAME=pg.server.ptah.local\"], \"Args\": null, \"Hosts\": [\"pg.server.ptah.local\"], \"Image\": \"bitnami/postgresql:16\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_2_ptah_pg_data\", \"Target\": \"/bitnami/postgresql\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-q7r8s9t0a1\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}}, {\"Type\": \"volume\", \"Source\": \"svc_2_ptah_pg_ptah_backups\", \"Target\": \"/ptah/backups\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-m3n4o5p6q7\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}}], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.pg.server.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}}}}" }, { "id": 11, @@ -62,26 +62,36 @@ { "id": 13, "type": 14, - "payload": "{\"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" + "payload": "{\"Image\": \"victoriametrics/victoria-metrics\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" }, { "id": 14, "type": 21, - "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {\"Command\": \"php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force\", \"ConfigName\": \"svc_2_dpl_2_release_command\", \"ConfigLabels\": {\"sh.ptah.kind\": \"release-command\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 2}}, \"Name\": \"svc_2_ptah_app\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"app.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"APP_ENV=production\", \"APP_KEY=base64:APP_KEY\", \"BCRYPT_ROUNDS=12\", \"DB_CONNECTION=pgsql\", \"DB_HOST=pool.server.ptah.local\", \"DB_DATABASE=ptah_sh\", \"DB_USERNAME=ptah_sh\", \"DB_PASSWORD=ptah_sh\", \"LOG_CHANNEL=errorlog\", \"APP_URL=localhost\", \"BILLING_ENABLED=false\", \"PTAH_HOSTNAME=app.server.ptah.local\"], \"Args\": null, \"Hosts\": [\"app.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.app.server.ptah.local\", \"Placement\": [], \"HealthCheck\": null}}}}" + "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_victoriametrics\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"victoriametrics.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"PTAH_HOSTNAME=victoriametrics.server.ptah.local\"], \"Args\": null, \"Hosts\": [\"victoriametrics.server.ptah.local\"], \"Image\": \"victoriametrics/victoria-metrics\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_2_ptah_victoriametrics_data\", \"Target\": \"/victoria-metrics-data\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-b2c3d4e5f6\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}}, {\"Type\": \"volume\", \"Source\": \"svc_2_ptah_victoriametrics_ptah_backups\", \"Target\": \"/ptah/backups\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.id\": \"volume-s9t0a1b2c3\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}}], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.victoriametrics.server.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}}}}" }, { "id": 15, - "type": 21, - "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_app_wkr_schedule\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"schedule.app.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"APP_ENV=production\", \"APP_KEY=base64:APP_KEY\", \"BCRYPT_ROUNDS=12\", \"DB_CONNECTION=pgsql\", \"DB_HOST=pool.server.ptah.local\", \"DB_DATABASE=ptah_sh\", \"DB_USERNAME=ptah_sh\", \"DB_PASSWORD=ptah_sh\", \"LOG_CHANNEL=errorlog\", \"APP_URL=localhost\", \"BILLING_ENABLED=false\"], \"Args\": [\"php artisan config:cache && php artisan schedule:work\"], \"Hosts\": [\"schedule.app.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": [\"sh\", \"-c\"], \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.schedule.app.server.ptah.local\", \"Placement\": [], \"HealthCheck\": {\"Test\": [\"NONE\"]}}}, \"UpdateConfig\": {\"Parallelism\": 1}}}" + "type": 14, + "payload": "{\"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" }, { "id": 16, "type": 21, - "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_app_wkr_queue\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"queue.app.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"APP_ENV=production\", \"APP_KEY=base64:APP_KEY\", \"BCRYPT_ROUNDS=12\", \"DB_CONNECTION=pgsql\", \"DB_HOST=pool.server.ptah.local\", \"DB_DATABASE=ptah_sh\", \"DB_USERNAME=ptah_sh\", \"DB_PASSWORD=ptah_sh\", \"LOG_CHANNEL=errorlog\", \"APP_URL=localhost\", \"BILLING_ENABLED=false\"], \"Args\": [\"php artisan config:cache && php artisan queue:work\"], \"Hosts\": [\"queue.app.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": [\"sh\", \"-c\"], \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.queue.app.server.ptah.local\", \"Placement\": [], \"HealthCheck\": {\"Test\": [\"NONE\"]}}}, \"UpdateConfig\": {\"Parallelism\": 1}}}" + "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {\"Command\": \"php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force\", \"ConfigName\": \"svc_2_dpl_2_release_command\", \"ConfigLabels\": {\"sh.ptah.kind\": \"release-command\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 2}}, \"Name\": \"svc_2_ptah_ptah_server\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"ptah-server.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"APP_ENV=production\", \"APP_KEY=base64:APP_KEY\", \"BCRYPT_ROUNDS=12\", \"DB_CONNECTION=pgsql\", \"DB_HOST=pool.server.ptah.local\", \"DB_DATABASE=ptah_sh\", \"DB_USERNAME=ptah_sh\", \"DB_PASSWORD=ptah_sh\", \"LOG_CHANNEL=errorlog\", \"APP_URL=localhost\", \"BILLING_ENABLED=false\", \"VICTORIAMETRICS_URL=http://victoriametrics.server.ptah.local:8428\", \"PTAH_HOSTNAME=ptah-server.server.ptah.local\"], \"Args\": null, \"Hosts\": [\"ptah-server.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.ptah-server.server.ptah.local\", \"Placement\": [], \"HealthCheck\": null}}}}" }, { "id": 17, + "type": 21, + "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_ptah_server_wkr_schedule\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"schedule.ptah-server.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"APP_ENV=production\", \"APP_KEY=base64:APP_KEY\", \"BCRYPT_ROUNDS=12\", \"DB_CONNECTION=pgsql\", \"DB_HOST=pool.server.ptah.local\", \"DB_DATABASE=ptah_sh\", \"DB_USERNAME=ptah_sh\", \"DB_PASSWORD=ptah_sh\", \"LOG_CHANNEL=errorlog\", \"APP_URL=localhost\", \"BILLING_ENABLED=false\", \"VICTORIAMETRICS_URL=http://victoriametrics.server.ptah.local:8428\"], \"Args\": [\"php artisan config:cache && php artisan schedule:work\"], \"Hosts\": [\"schedule.ptah-server.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": [\"sh\", \"-c\"], \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.schedule.ptah-server.server.ptah.local\", \"Placement\": [], \"HealthCheck\": {\"Test\": [\"NONE\"]}}}, \"UpdateConfig\": {\"Parallelism\": 1}}}" + }, + { + "id": 18, + "type": 21, + "payload": "{\"SecretVars\": {}, \"AuthConfigName\": \"\", \"ReleaseCommand\": {}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_ptah_server_wkr_queue\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"queue.ptah-server.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"APP_ENV=production\", \"APP_KEY=base64:APP_KEY\", \"BCRYPT_ROUNDS=12\", \"DB_CONNECTION=pgsql\", \"DB_HOST=pool.server.ptah.local\", \"DB_DATABASE=ptah_sh\", \"DB_USERNAME=ptah_sh\", \"DB_PASSWORD=ptah_sh\", \"LOG_CHANNEL=errorlog\", \"APP_URL=localhost\", \"BILLING_ENABLED=false\", \"VICTORIAMETRICS_URL=http://victoriametrics.server.ptah.local:8428\"], \"Args\": [\"php artisan config:cache && php artisan queue:work\"], \"Hosts\": [\"queue.ptah-server.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": [\"sh\", \"-c\"], \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.queue.ptah-server.server.ptah.local\", \"Placement\": [], \"HealthCheck\": {\"Test\": [\"NONE\"]}}}, \"UpdateConfig\": {\"Parallelism\": 1}}}" + }, + { + "id": 19, "type": 5, - "payload": "{\"caddy\": {\"apps\": {\"http\": {\"servers\": {\"listen_80\": {\"listen\": [\"0.0.0.0:80\"], \"routes\": [{\"match\": [{\"host\": [\"ptah.localhost\"], \"path\": [\"/*\"]}], \"handle\": [{\"handler\": \"reverse_proxy\", \"headers\": {\"request\": {\"set\": {\"X-Forwarded-Host\": [\"ptah.localhost\"], \"X-Forwarded-Port\": [\"80\"], \"X-Forwarded-Proto\": [\"http\"], \"X-Forwarded-Schema\": [\"http\"]}}, \"response\": {\"set\": {\"X-Powered-By\": [\"https://ptah.sh\"], \"X-Ptah-Rule-Id\": [\"caddy-b2c3d4e5f6\"]}}}, \"transport\": {\"protocol\": \"http\"}, \"upstreams\": [{\"dial\": \"app.server.ptah.local:8080\"}]}]}, {\"match\": [{\"host\": [\"*\"], \"path\": [\"/*\"]}], \"handle\": [{\"body\": \"\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n\", \"handler\": \"static_response\", \"headers\": {\"Content-Type\": [\"text/html; charset=utf-8\"], \"X-Powered-By\": [\"https://ptah.sh\"]}, \"status_code\": \"404\"}]}]}}}}}}" + "payload": "{\"caddy\": {\"apps\": {\"http\": {\"servers\": {\"http\": {\"listen\": [\"0.0.0.0:80\"], \"routes\": [{\"group\": \"svc_2_ptah_ptah_server\", \"match\": [{\"host\": [\"ptah.localhost\"], \"path\": [\"/*\"]}], \"handle\": [{\"handler\": \"ptah_observer\", \"rule_id\": \"caddy-h7i8j9k0l1\", \"process_id\": \"ptah-server\", \"service_id\": \"2\"}, {\"handler\": \"reverse_proxy\", \"headers\": {\"request\": {\"set\": {\"X-Forwarded-Host\": [\"ptah.localhost\"], \"X-Forwarded-Port\": [\"80\"], \"X-Forwarded-Proto\": [\"http\"], \"X-Forwarded-Schema\": [\"http\"]}}, \"response\": {\"set\": {\"X-Powered-By\": [\"https://ptah.sh\"], \"X-Ptah-Rule-Id\": [\"caddy-h7i8j9k0l1\"]}}}, \"transport\": {\"protocol\": \"http\"}, \"upstreams\": [{\"dial\": \"ptah-server.server.ptah.local:8080\"}]}]}, {\"match\": [{\"host\": [\"*\"], \"path\": [\"/*\"]}], \"handle\": [{\"handler\": \"ptah_observer\", \"rule_id\": \"ptah_404\", \"process_id\": \"ptah_404\", \"service_id\": \"ptah_404\"}, {\"body\": \"\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n\", \"handler\": \"static_response\", \"headers\": {\"Content-Type\": [\"text/html; charset=utf-8\"], \"X-Powered-By\": [\"https://ptah.sh\"]}, \"status_code\": \"404\"}]}]}, \"https\": {\"listen\": [\"0.0.0.0:443\"], \"routes\": [{\"match\": [{\"host\": [\"*\"], \"path\": [\"/*\"]}], \"handle\": [{\"handler\": \"ptah_observer\", \"rule_id\": \"ptah_404\", \"process_id\": \"ptah_404\", \"service_id\": \"ptah_404\"}, {\"body\": \"\\n\\n\\n 404 Not Found\\n \\n\\n \\n\\n\\n
\\n

404 Not Found

\\n

The requested URL was not found on this server.

\\n\\n

Please contact the server administrator if you believe this is an error.

\\n\\n Return to the Home Page\\n
\\n\\n

Powered by ptah.sh

\\n\\n\", \"handler\": \"static_response\", \"headers\": {\"Content-Type\": [\"text/html; charset=utf-8\"], \"X-Powered-By\": [\"https://ptah.sh\"]}, \"status_code\": \"404\"}]}]}}}}}}" } ]