From 342db69e7c74dfc1bc186790a75f9dc721d2a7e5 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sat, 9 Nov 2024 09:47:34 +0000 Subject: [PATCH] chore: update installation data --- scripts/self-hosted/db.sql | 53 ++++++++++-------- scripts/self-hosted/install-agent.sh | 6 --- scripts/self-hosted/install-server.sh | 1 - scripts/self-hosted/tasks.json | 77 +++++++++++++++++++-------- 4 files changed, 86 insertions(+), 51 deletions(-) diff --git a/scripts/self-hosted/db.sql b/scripts/self-hosted/db.sql index 1149737..b7e877f 100644 --- a/scripts/self-hosted/db.sql +++ b/scripts/self-hosted/db.sql @@ -1273,8 +1273,8 @@ COPY public.deployment_node_task_group (id, deployment_id, node_task_group_id) F -- COPY public.deployments (id, team_id, service_id, data, created_at, updated_at, configured_by_id) FROM stdin; -1 1 1 {"processes": [{"name": "svc", "caddy": [], "ports": [{"targetPort": 80, "publishedPort": 80}, {"targetPort": 443, "publishedPort": 443}, {"targetPort": 2019, "publishedPort": 2019}], "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"}, {"id": "volume-g6h7i8j9k1", "name": "config", "path": "/config", "dockerName": "svc_1_caddy_svc_config"}], "workers": [{"name": "main", "command": "sh /start.sh", "crontab": null, "replicas": 1, "dockerName": "caddy", "launchMode": "daemon", "dockerImage": "ghcr.io/ptah-sh/ptah-caddy:latest", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}, "dockerRegistryId": null}], "dockerName": "svc_1_caddy_svc", "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"}], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": 1}], "networkName": "ptah_net", "internalDomain": "caddy.ptah.local"} 2024-09-01 00:00:00 2024-09-01 00:00:00 1 -2 1 2 {"processes": [{"name": "pg", "caddy": [], "ports": [], "envVars": [{"name": "POSTGRESQL_USERNAME", "value": "ptah_sh"}, {"name": "POSTGRESQL_PASSWORD", "value": "ptah_sh"}, {"name": "POSTGRESQL_DATABASE", "value": "ptah_sh"}], "fastCgi": null, "volumes": [{"id": "volume-l2m3n4o5p6", "name": "data", "path": "/bitnami/postgresql", "dockerName": "svc_2_ptah_pg_data"}], "workers": [{"name": "main", "command": null, "crontab": null, "replicas": 1, "dockerName": "svc_2_ptah_pg_wkr_main", "launchMode": "daemon", "dockerImage": "bitnami/postgresql:16", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}, "dockerRegistryId": null}], "dockerName": "svc_2_ptah_pg", "secretVars": [], "configFiles": [], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": 1}, {"name": "pool", "caddy": [], "ports": [], "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": [{"name": "main", "command": null, "crontab": null, "replicas": 1, "dockerName": "svc_2_ptah_pool_wkr_main", "launchMode": "daemon", "dockerImage": "bitnami/pgbouncer", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}, "dockerRegistryId": null}], "dockerName": "svc_2_ptah_pool", "secretVars": [], "configFiles": [], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": null}, {"name": "victoriametrics", "caddy": [], "ports": [], "envVars": [], "fastCgi": null, "volumes": [{"id": "volume-q7r8s9t0a1", "name": "data", "path": "/victoria-metrics-data", "dockerName": "svc_2_ptah_victoriametrics_data"}], "workers": [{"name": "main", "command": null, "crontab": null, "replicas": 1, "dockerName": "svc_2_ptah_victoriametrics_wkr_main", "launchMode": "daemon", "dockerImage": "victoriametrics/victoria-metrics", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}, "dockerRegistryId": null}], "dockerName": "svc_2_ptah_victoriametrics", "secretVars": [], "configFiles": [], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": 1}, {"name": "ptah-server", "caddy": [{"id": "caddy-b2c3d4e5f6", "path": "/*", "domain": "ptah.localhost", "targetPort": 8080, "publishedPort": 80, "targetProtocol": "http"}], "ports": [], "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": "main", "command": null, "crontab": null, "replicas": 2, "dockerName": "svc_2_ptah_ptah_server_wkr_main", "launchMode": "daemon", "dockerImage": "ghcr.io/ptah-sh/ptah-server:latest", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": "php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force", "dockerName": "svc_2_ptah_ptah_server_wkr_main_dpl_2_rel_cmd"}, "dockerRegistryId": null}, {"name": "scheduler", "command": "APP_SCHEDULER=main php artisan config:cache && php artisan schedule:work", "crontab": null, "replicas": 1, "dockerName": "svc_2_ptah_ptah_server_wkr_scheduler", "launchMode": "daemon", "dockerImage": "ghcr.io/ptah-sh/ptah-server:latest", "healthcheck": {"command": "pgrep -f \\"php artisan schedule:work\\"", "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}, "dockerRegistryId": null}, {"name": "queue", "command": "php artisan config:cache && php artisan queue:work", "crontab": null, "replicas": 1, "dockerName": "svc_2_ptah_ptah_server_wkr_queue", "launchMode": "daemon", "dockerImage": "ghcr.io/ptah-sh/ptah-server:latest", "healthcheck": {"command": "pgrep -f \\"php artisan queue:work\\"", "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}, "dockerRegistryId": null}], "dockerName": "svc_2_ptah_ptah_server", "secretVars": [], "configFiles": [], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": null}], "networkName": "ptah_net", "internalDomain": "server.ptah.local"} 2024-09-01 00:00:00 2024-09-01 00:00:00 1 +1 1 1 {"processes": [{"name": "caddy", "caddy": [], "ports": [{"targetPort": 80, "publishedPort": 80}, {"targetPort": 443, "publishedPort": 443}, {"targetPort": 2019, "publishedPort": 2019}], "envVars": [{"name": "CADDY_ADMIN", "value": "0.0.0.0:2019"}], "fastCgi": null, "volumes": [{"id": "volume-a1b2c3d4e5f", "name": "data", "path": "/data", "dockerName": "svc_1_ptah_caddy_data"}, {"id": "volume-g6h7i8j9k1", "name": "config", "path": "/config", "dockerName": "svc_1_ptah_caddy_config"}], "workers": [{"name": "main", "source": {"git": null, "type": "docker_image", "docker": {"image": "ghcr.io/ptah-sh/ptah-caddy:latest", "registryId": null}, "nixpacks": null}, "command": "sh /start.sh", "crontab": null, "replicas": 1, "dockerName": "svc_1_ptah_caddy_wkr_main", "launchMode": "daemon", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}}], "dockerName": "svc_1_ptah_caddy", "secretVars": [], "configFiles": [{"path": "/ptah/caddy/tls/.keep", "content": "# Keep this file", "dockerName": "svc_1_ptah_caddy_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_ptah_caddy_dpl_1_cfg_start_sh"}], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": 1}, {"name": "registry", "caddy": [], "ports": [{"targetPort": 5050, "publishedPort": 5050}], "envVars": [], "fastCgi": null, "volumes": [{"id": "volume-l2m3n4o5p6", "name": "data", "path": "/var/lib/registry", "dockerName": "svc_1_ptah_registry_data"}], "workers": [{"name": "main", "source": {"git": null, "type": "docker_image", "docker": {"image": "registry:latest", "registryId": null}, "nixpacks": null}, "command": null, "crontab": null, "replicas": 1, "dockerName": "svc_1_ptah_registry_wkr_main", "launchMode": "daemon", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}}, {"name": "garbage-collector", "source": {"git": null, "type": "docker_image", "docker": {"image": "registry:latest", "registryId": null}, "nixpacks": null}, "command": "sh /ptah/prune_stale_data.sh", "crontab": "30 0 * * *", "replicas": 0, "dockerName": "svc_1_ptah_registry_wkr_garbage_collector", "launchMode": "cronjob", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}}], "dockerName": "svc_1_ptah_registry", "secretVars": [], "configFiles": [{"path": "/etc/docker/registry/config.yml", "content": "version: 0.1\\nlog:\\n fields:\\n service: registry\\nstorage:\\n cache:\\n blobdescriptor: inmemory\\n filesystem:\\n rootdirectory: /var/lib/registry\\n delete:\\n enabled: true\\n maintenance:\\n uploadpurging:\\n enabled: true\\n age: 168h\\n interval: 24h\\n dryrun: false\\nhttp:\\n addr: 0.0.0.0:5050\\n host: http://registry.ptah.local:5050\\n net: tcp\\n headers:\\n X-Content-Type-Options: [nosniff]\\nhealth:\\n storagedriver:\\n enabled: true\\n interval: 10s\\n threshold: 3\\n", "dockerName": "svc_1_ptah_registry_dpl_1_cfg_etc_docker_registry_config_yml"}, {"path": "/ptah/prune_stale_data.sh", "content": "#!/bin/bash\\n\\nset -e\\n\\necho \\"Pruning stale data\\"\\n\\n/bin/registry garbage-collect /etc/docker/registry/config.yml\\n\\necho \\"Pruning empty repositories\\"\\n\\nfor repo_name in /var/lib/registry/docker/registry/v2/repositories/*; do\\n # Check if it's a directory\\n if [ -d \\"$repo_name\\" ]; then\\n # Check if the _manifests/tags directory is empty\\n if [ -z \\"$(ls -A \\"$repo_name/_manifests/tags/\\")\\" ]; then\\n # If the directory is empty, remove the repository directory\\n echo \\"Removing repository $repo_name as its _manifests/tags directory is empty.\\"\\n rm -rf \\"$repo_name\\"\\n else\\n # If the directory is not empty, do nothing\\n echo \\"Repository $repo_name has tags. Skipping removal.\\"\\n fi\\n fi\\ndone\\n", "dockerName": "svc_1_ptah_registry_dpl_1_cfg_ptah_prune_stale_data_sh"}], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": 1}], "networkName": "ptah_net", "internalDomain": "ptah.local"} 2024-09-01 00:00:00 2024-09-01 00:00:00 1 +2 1 1 {"processes": [{"name": "pg", "caddy": [], "ports": [], "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_1_ptah_pg_data"}], "workers": [{"name": "main", "source": {"git": null, "type": "docker_image", "docker": {"image": "bitnami/postgresql:16", "registryId": null}, "nixpacks": null}, "command": null, "crontab": null, "replicas": 1, "dockerName": "svc_1_ptah_pg_wkr_main", "launchMode": "daemon", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}}], "dockerName": "svc_1_ptah_pg", "secretVars": [], "configFiles": [], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": 1}, {"name": "pool", "caddy": [], "ports": [], "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": [{"name": "main", "source": {"git": null, "type": "docker_image", "docker": {"image": "bitnami/pgbouncer", "registryId": null}, "nixpacks": null}, "command": null, "crontab": null, "replicas": 1, "dockerName": "svc_1_ptah_pool_wkr_main", "launchMode": "daemon", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}}], "dockerName": "svc_1_ptah_pool", "secretVars": [], "configFiles": [], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": null}, {"name": "victoriametrics", "caddy": [], "ports": [], "envVars": [], "fastCgi": null, "volumes": [{"id": "volume-b2c3d4e5f6", "name": "data", "path": "/victoria-metrics-data", "dockerName": "svc_1_ptah_victoriametrics_data"}], "workers": [{"name": "main", "source": {"git": null, "type": "docker_image", "docker": {"image": "victoriametrics/victoria-metrics", "registryId": null}, "nixpacks": null}, "command": null, "crontab": null, "replicas": 1, "dockerName": "svc_1_ptah_victoriametrics_wkr_main", "launchMode": "daemon", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}}], "dockerName": "svc_1_ptah_victoriametrics", "secretVars": [], "configFiles": [], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": 1}, {"name": "server", "caddy": [{"id": "caddy-h7i8j9k0l1", "path": "/*", "domain": "ptah.localhost", "targetPort": 8080, "publishedPort": 80, "targetProtocol": "http"}], "ports": [], "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": "main", "source": {"git": null, "type": "docker_image", "docker": {"image": "ghcr.io/ptah-sh/ptah-server:latest", "registryId": null}, "nixpacks": null}, "command": null, "crontab": null, "replicas": 2, "dockerName": "svc_1_ptah_server_wkr_main", "launchMode": "daemon", "healthcheck": {"command": null, "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": "php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force", "dockerName": "svc_1_ptah_server_wkr_main_dpl_2_rel_cmd"}}, {"name": "scheduler", "source": {"git": null, "type": "docker_image", "docker": {"image": "ghcr.io/ptah-sh/ptah-server:latest", "registryId": null}, "nixpacks": null}, "command": "APP_SCHEDULER=main php artisan config:cache && php artisan schedule:work", "crontab": null, "replicas": 1, "dockerName": "svc_1_ptah_server_wkr_scheduler", "launchMode": "daemon", "healthcheck": {"command": "pgrep -f \\"php artisan schedule:work\\"", "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}}, {"name": "queue", "source": {"git": null, "type": "docker_image", "docker": {"image": "ghcr.io/ptah-sh/ptah-server:latest", "registryId": null}, "nixpacks": null}, "command": "php artisan config:cache && php artisan queue:work", "crontab": null, "replicas": 1, "dockerName": "svc_1_ptah_server_wkr_queue", "launchMode": "daemon", "healthcheck": {"command": "pgrep -f \\"php artisan queue:work\\"", "retries": 3, "timeout": 5, "interval": 10, "startPeriod": 30, "startInterval": 5}, "backupCreate": null, "backupRestore": null, "releaseCommand": {"command": null, "dockerName": null}}], "dockerName": "svc_1_ptah_server", "secretVars": [], "configFiles": [], "secretFiles": [], "rewriteRules": [], "redirectRules": [], "placementNodeId": null}], "networkName": "ptah_net", "internalDomain": "ptah.local"} 2024-09-01 00:00:00 2024-09-01 00:00:00 1 \. @@ -1369,6 +1369,7 @@ COPY public.migrations (id, migration, batch) FROM stdin; 60 2024_10_16_065829_update_deployments_set_workers_docker_name 1 61 2024_11_02_140937_create_deployment_node_task_group_table 1 62 2024_11_02_142732_alter_deployments_add_configured_by_id_column 1 +63 2024_11_04_224221_alter_deployments_add_source_to_workers 1 \. @@ -1397,25 +1398,32 @@ 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; +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 +13 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 +16 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 +14 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 +18 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 +20 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_ptah_caddy", "deploymentId": 1} {"SwarmConfigSpec": {"Data": "IyBUaGlzIGlzIHRoZSBlbnRyeXBvaW50IGZvciBDYWRkeS4KIyBCeSBkZWZhdWx0LCBpdCBzdGFydHMgd2l0aCBhIGJsYW5rIENhZGR5ZmlsZSB3aXRoIGEgc3RhbmRhcmQgIkhlbGxvIGZyb20gQ2FkZHkiIHBhZ2UuCgppZiBbIC1mICIvY29uZmlnL2NhZGR5L2F1dG9zYXZlLmpzb24iIF07IHRoZW4KICAgIGVjaG8gIlN0YXJ0aW5nIHdpdGggYXV0b3NhdmUuanNvbiIKCiAgICBjYWRkeSBydW4gLS1jb25maWcgIi9jb25maWcvY2FkZHkvYXV0b3NhdmUuanNvbiIKZWxzZQogICAgZWNobyAiU3RhcnRpbmcgd2l0aCB0aGUgZGVmYXVsdCBDYWRkeWZpbGUiCgogICAgY2FkZHkgcnVuIC0tY29uZmlnICIvZXRjL2NhZGR5L0NhZGR5ZmlsZSIKZmk=", "Name": "svc_1_ptah_caddy_dpl_1_cfg_start_sh", "Labels": {"sh.ptah.kind": "config", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "ptah_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 +24 1 3 8 {"serviceId": 1, "dockerName": "svc_1_ptah_caddy", "serviceName": "ptah"} {"ServiceName": "svc_1_ptah_caddy"} 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 +25 1 3 8 {"serviceId": 1, "dockerName": "svc_1_ptah_registry", "serviceName": "ptah"} {"ServiceName": "svc_1_ptah_registry"} 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 2 2 {"path": "/ptah/prune_stale_data.sh", "processName": "svc_1_ptah_registry", "deploymentId": 1} {"SwarmConfigSpec": {"Data": "IyEvYmluL2Jhc2gKCnNldCAtZQoKZWNobyAiUHJ1bmluZyBzdGFsZSBkYXRhIgoKL2Jpbi9yZWdpc3RyeSBnYXJiYWdlLWNvbGxlY3QgL2V0Yy9kb2NrZXIvcmVnaXN0cnkvY29uZmlnLnltbAoKZWNobyAiUHJ1bmluZyBlbXB0eSByZXBvc2l0b3JpZXMiCgpmb3IgcmVwb19uYW1lIGluIC92YXIvbGliL3JlZ2lzdHJ5L2RvY2tlci9yZWdpc3RyeS92Mi9yZXBvc2l0b3JpZXMvKjsgZG8KICAjIENoZWNrIGlmIGl0J3MgYSBkaXJlY3RvcnkKICBpZiBbIC1kICIkcmVwb19uYW1lIiBdOyB0aGVuCiAgICAjIENoZWNrIGlmIHRoZSBfbWFuaWZlc3RzL3RhZ3MgZGlyZWN0b3J5IGlzIGVtcHR5CiAgICBpZiBbIC16ICIkKGxzIC1BICIkcmVwb19uYW1lL19tYW5pZmVzdHMvdGFncy8iKSIgXTsgdGhlbgogICAgICAjIElmIHRoZSBkaXJlY3RvcnkgaXMgZW1wdHksIHJlbW92ZSB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkKICAgICAgZWNobyAiUmVtb3ZpbmcgcmVwb3NpdG9yeSAkcmVwb19uYW1lIGFzIGl0cyBfbWFuaWZlc3RzL3RhZ3MgZGlyZWN0b3J5IGlzIGVtcHR5LiIKICAgICAgcm0gLXJmICIkcmVwb19uYW1lIgogICAgZWxzZQogICAgICAjIElmIHRoZSBkaXJlY3RvcnkgaXMgbm90IGVtcHR5LCBkbyBub3RoaW5nCiAgICAgIGVjaG8gIlJlcG9zaXRvcnkgJHJlcG9fbmFtZSBoYXMgdGFncy4gU2tpcHBpbmcgcmVtb3ZhbC4iCiAgICBmaQogIGZpCmRvbmUK", "Name": "svc_1_ptah_registry_dpl_1_cfg_ptah_prune_stale_data_sh", "Labels": {"sh.ptah.kind": "config", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "ptah_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 +12 1 2 21 {"serviceId": 1, "dockerName": "svc_1_ptah_registry_wkr_garbage_collector", "serviceName": "ptah", "deploymentId": 1} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"ReplicatedJob": {"MaxConcurrent": 0}}, "Name": "svc_1_ptah_registry_wkr_garbage_collector", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "3478lkifqu3rddqd2pgm47yxg2n9nbwg", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "garbage-collector", "sh.ptah.process.name": "registry", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["garbage-collector.registry.ptah.local", "dpl-1.garbage-collector.registry.ptah.local"]}], "ContainerSpec": {"Env": ["PTAH_INTERNAL_DOMAIN=garbage-collector.registry.ptah.local", "PTAH_HOSTNAME=dpl-1.garbage-collector.registry.ptah.local", "PTAH_DEPLOYMENT_ID=1", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=registry", "PTAH_WORKER_NAME=garbage-collector"], "Args": ["-c", "sh /ptah/prune_stale_data.sh"], "Hosts": ["garbage-collector.registry.ptah.local"], "Image": "registry:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "3478lkifqu3rddqd2pgm47yxg2n9nbwg", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "garbage-collector", "sh.ptah.process.name": "registry", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "Mounts": [{"Type": "volume", "Source": "svc_1_ptah_registry_data", "Target": "/var/lib/registry", "VolumeOptions": {"Labels": {"sh.ptah.managed": "1", "sh.ptah.volume.id": "volume-l2m3n4o5p6", "sh.ptah.service.id": "1", "sh.ptah.volume.path": "/var/lib/registry", "sh.ptah.process.name": "registry", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}], "Command": ["sh"], "Configs": [{"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/etc/docker/registry/config.yml"}, "ConfigName": "svc_1_ptah_registry_dpl_1_cfg_etc_docker_registry_config_yml"}, {"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/ptah/prune_stale_data.sh"}, "ConfigName": "svc_1_ptah_registry_dpl_1_cfg_ptah_prune_stale_data_sh"}], "Secrets": [], "Hostname": "dpl-1.garbage-collector.registry.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}, "RestartPolicy": {"Condition": "none"}}}} 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_ptah_caddy", "deploymentId": 1} {"SwarmConfigSpec": {"Data": "IyBLZWVwIHRoaXMgZmlsZQ==", "Name": "svc_1_ptah_caddy_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": "ptah_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 -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 -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 -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 -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 -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_wkr_main", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_pg_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "vLXoeAyuh1slT2gQQSduqKZ86cVf2tIZ", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "pg", "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", "dpl-2.main.pg.server.ptah.local"]}], "ContainerSpec": {"Env": ["POSTGRESQL_USERNAME=ptah_sh", "POSTGRESQL_PASSWORD=ptah_sh", "POSTGRESQL_DATABASE=ptah_sh", "PTAH_INTERNAL_DOMAIN=pg.server.ptah.local", "PTAH_HOSTNAME=dpl-2.main.pg.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_2", "PTAH_PROCESS_NAME=pg", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["pg.server.ptah.local"], "Image": "bitnami/postgresql:16", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "vLXoeAyuh1slT2gQQSduqKZ86cVf2tIZ", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "pg", "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.managed": "1", "sh.ptah.volume.id": "volume-l2m3n4o5p6", "sh.ptah.service.id": "2", "sh.ptah.volume.path": "/bitnami/postgresql", "sh.ptah.process.name": "pg", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}}], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.main.pg.server.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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 -7 1 2 21 {"serviceId": 1, "dockerName": "caddy", "serviceName": "caddy", "deploymentId": 1} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "caddy", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "A8t3QkApScWz71yIcZqIvjgMxwV3do4c", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "svc", "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", "dpl-1.main.svc.caddy.ptah.local"]}], "ContainerSpec": {"Env": ["CADDY_ADMIN=0.0.0.0:2019", "PTAH_INTERNAL_DOMAIN=svc.caddy.ptah.local", "PTAH_HOSTNAME=dpl-1.main.svc.caddy.ptah.local", "PTAH_DEPLOYMENT_ID=1", "PTAH_SERVICE_ID=caddy_happy_ptah_1", "PTAH_PROCESS_NAME=svc", "PTAH_WORKER_NAME=main"], "Args": ["-c", "sh /start.sh"], "Hosts": ["svc.caddy.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-caddy:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "A8t3QkApScWz71yIcZqIvjgMxwV3do4c", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "svc", "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.managed": "1", "sh.ptah.volume.id": "volume-a1b2c3d4e5f", "sh.ptah.service.id": "1", "sh.ptah.volume.path": "/data", "sh.ptah.process.name": "svc", "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.managed": "1", "sh.ptah.volume.id": "volume-g6h7i8j9k1", "sh.ptah.service.id": "1", "sh.ptah.volume.path": "/config", "sh.ptah.process.name": "svc", "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.main.svc.caddy.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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_scheduler", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_ptah_server_wkr_scheduler", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "BMo1kyC6DcEuiUj1qdnoe1PUHluel3XZ", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "scheduler", "sh.ptah.process.name": "ptah-server", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["scheduler.ptah-server.server.ptah.local", "dpl-2.scheduler.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_INTERNAL_DOMAIN=scheduler.ptah-server.server.ptah.local", "PTAH_HOSTNAME=dpl-2.scheduler.ptah-server.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_2", "PTAH_PROCESS_NAME=ptah-server", "PTAH_WORKER_NAME=scheduler"], "Args": ["-c", "APP_SCHEDULER=main php artisan config:cache && php artisan schedule:work"], "Hosts": ["scheduler.ptah-server.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "BMo1kyC6DcEuiUj1qdnoe1PUHluel3XZ", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "scheduler", "sh.ptah.process.name": "ptah-server", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": ["sh"], "Configs": [], "Secrets": [], "Hostname": "dpl-2.scheduler.ptah-server.server.ptah.local", "Placement": [], "HealthCheck": {"Test": ["CMD-SHELL", "pgrep -f \\"php artisan schedule:work\\""], "Retries": 3, "Timeout": 5000000000, "Interval": 10000000000, "StartPeriod": 30000000000, "StartInterval": 5000000000}}, "RestartPolicy": {"Condition": "any"}}}} 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_wkr_main", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force", "ConfigName": "svc_2_ptah_ptah_server_wkr_main_dpl_2_rel_cmd", "ConfigLabels": {"sh.ptah.kind": "release-command", "sh.ptah.cookie": "sP1c0B8XAGAiH6lmTqVkquFo6inc5x4z", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "ptah-server", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 2}}, "Name": "svc_2_ptah_ptah_server_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "sP1c0B8XAGAiH6lmTqVkquFo6inc5x4z", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "ptah-server", "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", "dpl-2.main.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_INTERNAL_DOMAIN=ptah-server.server.ptah.local", "PTAH_HOSTNAME=dpl-2.main.ptah-server.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_2", "PTAH_PROCESS_NAME=ptah-server", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["ptah-server.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "sP1c0B8XAGAiH6lmTqVkquFo6inc5x4z", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "ptah-server", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.main.ptah-server.server.ptah.local", "Placement": [], "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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_wkr_main", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_victoriametrics_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "6GMSX6rpwdByv2Kf5uf0MNXHsbxayYLf", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "victoriametrics", "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", "dpl-2.main.victoriametrics.server.ptah.local"]}], "ContainerSpec": {"Env": ["PTAH_INTERNAL_DOMAIN=victoriametrics.server.ptah.local", "PTAH_HOSTNAME=dpl-2.main.victoriametrics.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_2", "PTAH_PROCESS_NAME=victoriametrics", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["victoriametrics.server.ptah.local"], "Image": "victoriametrics/victoria-metrics", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "6GMSX6rpwdByv2Kf5uf0MNXHsbxayYLf", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "victoriametrics", "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.managed": "1", "sh.ptah.volume.id": "volume-q7r8s9t0a1", "sh.ptah.service.id": "2", "sh.ptah.volume.path": "/victoria-metrics-data", "sh.ptah.process.name": "victoriametrics", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}}}], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.main.victoriametrics.server.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_ptah_server_wkr_queue", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "hoItHnlhfXuJvk8TldJb4iZWqxn58bYP", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "queue", "sh.ptah.process.name": "ptah-server", "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", "dpl-2.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", "PTAH_INTERNAL_DOMAIN=queue.ptah-server.server.ptah.local", "PTAH_HOSTNAME=dpl-2.queue.ptah-server.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_2", "PTAH_PROCESS_NAME=ptah-server", "PTAH_WORKER_NAME=queue"], "Args": ["-c", "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.kind": "worker", "sh.ptah.cookie": "hoItHnlhfXuJvk8TldJb4iZWqxn58bYP", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "queue", "sh.ptah.process.name": "ptah-server", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": ["sh"], "Configs": [], "Secrets": [], "Hostname": "dpl-2.queue.ptah-server.server.ptah.local", "Placement": [], "HealthCheck": {"Test": ["CMD-SHELL", "pgrep -f \\"php artisan queue:work\\""], "Retries": 3, "Timeout": 5000000000, "Interval": 10000000000, "StartPeriod": 30000000000, "StartInterval": 5000000000}}, "RestartPolicy": {"Condition": "any"}}}} 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 -12 1 3 21 {"serviceId": 2, "dockerName": "svc_2_ptah_pool_wkr_main", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_2_ptah_pool_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "E7czeSgp03uCT8cFAEYcgPZLcqVsaTQV", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "pool", "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", "dpl-2.main.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_INTERNAL_DOMAIN=pool.server.ptah.local", "PTAH_HOSTNAME=dpl-2.main.pool.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_2", "PTAH_PROCESS_NAME=pool", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["pool.server.ptah.local"], "Image": "bitnami/pgbouncer", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "E7czeSgp03uCT8cFAEYcgPZLcqVsaTQV", "sh.ptah.managed": "1", "sh.ptah.service.id": "2", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "pool", "sh.ptah.service.slug": "ptah_happy_ptah_2", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.main.pool.server.ptah.local", "Placement": [], "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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-b2c3d4e5f6", "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-b2c3d4e5f6"]}}}, "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 +8 1 2 2 {"path": "/etc/docker/registry/config.yml", "processName": "svc_1_ptah_registry", "deploymentId": 1} {"SwarmConfigSpec": {"Data": "dmVyc2lvbjogMC4xCmxvZzoKICBmaWVsZHM6CiAgICBzZXJ2aWNlOiByZWdpc3RyeQpzdG9yYWdlOgogIGNhY2hlOgogICAgYmxvYmRlc2NyaXB0b3I6IGlubWVtb3J5CiAgZmlsZXN5c3RlbToKICAgIHJvb3RkaXJlY3Rvcnk6IC92YXIvbGliL3JlZ2lzdHJ5CiAgZGVsZXRlOgogICAgZW5hYmxlZDogdHJ1ZQogIG1haW50ZW5hbmNlOgogICAgdXBsb2FkcHVyZ2luZzoKICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICBhZ2U6IDE2OGgKICAgICAgaW50ZXJ2YWw6IDI0aAogICAgICBkcnlydW46IGZhbHNlCmh0dHA6CiAgYWRkcjogMC4wLjAuMDo1MDUwCiAgaG9zdDogaHR0cDovL3JlZ2lzdHJ5LnB0YWgubG9jYWw6NTA1MAogIG5ldDogdGNwCiAgaGVhZGVyczoKICAgIFgtQ29udGVudC1UeXBlLU9wdGlvbnM6IFtub3NuaWZmXQpoZWFsdGg6CiAgc3RvcmFnZWRyaXZlcjoKICAgIGVuYWJsZWQ6IHRydWUKICAgIGludGVydmFsOiAxMHMKICAgIHRocmVzaG9sZDogMwo=", "Name": "svc_1_ptah_registry_dpl_1_cfg_etc_docker_registry_config_yml", "Labels": {"sh.ptah.kind": "config", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.service.slug": "ptah_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 +10 1 2 14 {"dockerImage": "registry:latest"} {"Image": "registry: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 +23 1 3 21 {"serviceId": 1, "dockerName": "svc_1_ptah_server_wkr_queue", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_ptah_server_wkr_queue", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "nu5wh6u5w0jh4vablcb3xpbotrmxyq2v", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "queue", "sh.ptah.process.name": "server", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["queue.server.ptah.local", "dpl-2.queue.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_INTERNAL_DOMAIN=queue.server.ptah.local", "PTAH_HOSTNAME=dpl-2.queue.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=server", "PTAH_WORKER_NAME=queue"], "Args": ["-c", "php artisan config:cache && php artisan queue:work"], "Hosts": ["queue.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "nu5wh6u5w0jh4vablcb3xpbotrmxyq2v", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "queue", "sh.ptah.process.name": "server", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": ["sh"], "Configs": [], "Secrets": [], "Hostname": "dpl-2.queue.server.ptah.local", "Placement": [], "HealthCheck": {"Test": ["CMD-SHELL", "pgrep -f \\"php artisan queue:work\\""], "Retries": 3, "Timeout": 5000000000, "Interval": 10000000000, "StartPeriod": 30000000000, "StartInterval": 5000000000}}, "RestartPolicy": {"Condition": "any"}}}} 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_ptah_caddy_wkr_main", "serviceName": "ptah", "deploymentId": 1} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_ptah_caddy_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "2n9nbwg6478lkifqu3rddqd2pgm47yxg", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "caddy", "sh.ptah.service.slug": "ptah_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": ["caddy.ptah.local", "dpl-1.main.caddy.ptah.local"]}], "ContainerSpec": {"Env": ["CADDY_ADMIN=0.0.0.0:2019", "PTAH_INTERNAL_DOMAIN=caddy.ptah.local", "PTAH_HOSTNAME=dpl-1.main.caddy.ptah.local", "PTAH_DEPLOYMENT_ID=1", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=caddy", "PTAH_WORKER_NAME=main"], "Args": ["-c", "sh /start.sh"], "Hosts": ["caddy.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-caddy:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "2n9nbwg6478lkifqu3rddqd2pgm47yxg", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "caddy", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "Mounts": [{"Type": "volume", "Source": "svc_1_ptah_caddy_data", "Target": "/data", "VolumeOptions": {"Labels": {"sh.ptah.managed": "1", "sh.ptah.volume.id": "volume-a1b2c3d4e5f", "sh.ptah.service.id": "1", "sh.ptah.volume.path": "/data", "sh.ptah.process.name": "caddy", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}, {"Type": "volume", "Source": "svc_1_ptah_caddy_config", "Target": "/config", "VolumeOptions": {"Labels": {"sh.ptah.managed": "1", "sh.ptah.volume.id": "volume-g6h7i8j9k1", "sh.ptah.service.id": "1", "sh.ptah.volume.path": "/config", "sh.ptah.process.name": "caddy", "sh.ptah.service.slug": "ptah_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_ptah_caddy_dpl_1_cfg_ptah_caddy_tls_keep"}, {"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/start.sh"}, "ConfigName": "svc_1_ptah_caddy_dpl_1_cfg_start_sh"}], "Secrets": [], "Hostname": "dpl-1.main.caddy.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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 21 {"serviceId": 1, "dockerName": "svc_1_ptah_victoriametrics_wkr_main", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_ptah_victoriametrics_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "bhypz8lg1afmvwyr8w4xw8sygvgdopjm", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "victoriametrics", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["victoriametrics.ptah.local", "dpl-2.main.victoriametrics.ptah.local"]}], "ContainerSpec": {"Env": ["PTAH_INTERNAL_DOMAIN=victoriametrics.ptah.local", "PTAH_HOSTNAME=dpl-2.main.victoriametrics.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=victoriametrics", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["victoriametrics.ptah.local"], "Image": "victoriametrics/victoria-metrics", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "bhypz8lg1afmvwyr8w4xw8sygvgdopjm", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "victoriametrics", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "Mounts": [{"Type": "volume", "Source": "svc_1_ptah_victoriametrics_data", "Target": "/victoria-metrics-data", "VolumeOptions": {"Labels": {"sh.ptah.managed": "1", "sh.ptah.volume.id": "volume-b2c3d4e5f6", "sh.ptah.service.id": "1", "sh.ptah.volume.path": "/victoria-metrics-data", "sh.ptah.process.name": "victoriametrics", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}}}], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.main.victoriametrics.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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": 1, "dockerName": "svc_1_ptah_pg_wkr_main", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_ptah_pg_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "f6mw518z6n97qhnz4q5wmmqs0q91vce6", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "pg", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["pg.ptah.local", "dpl-2.main.pg.ptah.local"]}], "ContainerSpec": {"Env": ["POSTGRESQL_USERNAME=ptah_sh", "POSTGRESQL_PASSWORD=ptah_sh", "POSTGRESQL_DATABASE=ptah_sh", "PTAH_INTERNAL_DOMAIN=pg.ptah.local", "PTAH_HOSTNAME=dpl-2.main.pg.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=pg", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["pg.ptah.local"], "Image": "bitnami/postgresql:16", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "f6mw518z6n97qhnz4q5wmmqs0q91vce6", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "pg", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "Mounts": [{"Type": "volume", "Source": "svc_1_ptah_pg_data", "Target": "/bitnami/postgresql", "VolumeOptions": {"Labels": {"sh.ptah.managed": "1", "sh.ptah.volume.id": "volume-q7r8s9t0a1", "sh.ptah.service.id": "1", "sh.ptah.volume.path": "/bitnami/postgresql", "sh.ptah.process.name": "pg", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}}}], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.main.pg.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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 +22 1 3 21 {"serviceId": 1, "dockerName": "svc_1_ptah_server_wkr_scheduler", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_ptah_server_wkr_scheduler", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "ixhg42b170hzpvua5f21rce2bvxtos5u", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "scheduler", "sh.ptah.process.name": "server", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["scheduler.server.ptah.local", "dpl-2.scheduler.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_INTERNAL_DOMAIN=scheduler.server.ptah.local", "PTAH_HOSTNAME=dpl-2.scheduler.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=server", "PTAH_WORKER_NAME=scheduler"], "Args": ["-c", "APP_SCHEDULER=main php artisan config:cache && php artisan schedule:work"], "Hosts": ["scheduler.server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "ixhg42b170hzpvua5f21rce2bvxtos5u", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "scheduler", "sh.ptah.process.name": "server", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": ["sh"], "Configs": [], "Secrets": [], "Hostname": "dpl-2.scheduler.server.ptah.local", "Placement": [], "HealthCheck": {"Test": ["CMD-SHELL", "pgrep -f \\"php artisan schedule:work\\""], "Retries": 3, "Timeout": 5000000000, "Interval": 10000000000, "StartPeriod": 30000000000, "StartInterval": 5000000000}}, "RestartPolicy": {"Condition": "any"}}}} 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 +21 1 3 21 {"serviceId": 1, "dockerName": "svc_1_ptah_server_wkr_main", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force", "ConfigName": "svc_1_ptah_server_wkr_main_dpl_2_rel_cmd", "ConfigLabels": {"sh.ptah.kind": "release-command", "sh.ptah.cookie": "foymi9vgguk4rasy92tvktehwx2i13nn", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "server", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 2}}, "Name": "svc_1_ptah_server_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "foymi9vgguk4rasy92tvktehwx2i13nn", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "server", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["server.ptah.local", "dpl-2.main.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_INTERNAL_DOMAIN=server.ptah.local", "PTAH_HOSTNAME=dpl-2.main.server.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=server", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["server.ptah.local"], "Image": "ghcr.io/ptah-sh/ptah-server:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "foymi9vgguk4rasy92tvktehwx2i13nn", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "server", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.main.server.ptah.local", "Placement": [], "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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 2 21 {"serviceId": 1, "dockerName": "svc_1_ptah_registry_wkr_main", "serviceName": "ptah", "deploymentId": 1} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_ptah_registry_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "t0q91vcef6mw518z6n97qhnz4q5wmmqs", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "registry", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "EndpointSpec": {"Ports": [{"Protocol": "tcp", "TargetPort": 5050, "PublishMode": "ingress", "PublishedPort": 5050}]}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["registry.ptah.local", "dpl-1.main.registry.ptah.local"]}], "ContainerSpec": {"Env": ["PTAH_INTERNAL_DOMAIN=registry.ptah.local", "PTAH_HOSTNAME=dpl-1.main.registry.ptah.local", "PTAH_DEPLOYMENT_ID=1", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=registry", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["registry.ptah.local"], "Image": "registry:latest", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "t0q91vcef6mw518z6n97qhnz4q5wmmqs", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "registry", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "1"}, "Mounts": [{"Type": "volume", "Source": "svc_1_ptah_registry_data", "Target": "/var/lib/registry", "VolumeOptions": {"Labels": {"sh.ptah.managed": "1", "sh.ptah.volume.id": "volume-l2m3n4o5p6", "sh.ptah.service.id": "1", "sh.ptah.volume.path": "/var/lib/registry", "sh.ptah.process.name": "registry", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "1"}}}], "Command": null, "Configs": [{"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/etc/docker/registry/config.yml"}, "ConfigName": "svc_1_ptah_registry_dpl_1_cfg_etc_docker_registry_config_yml"}, {"File": {"GID": "0", "UID": "0", "Mode": 511, "Name": "/ptah/prune_stale_data.sh"}, "ConfigName": "svc_1_ptah_registry_dpl_1_cfg_ptah_prune_stale_data_sh"}], "Secrets": [], "Hostname": "dpl-1.main.registry.ptah.local", "Placement": {"Constraints": ["node.labels.sh.ptah.node.id==1"]}, "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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": 1, "dockerName": "svc_1_ptah_pool_wkr_main", "serviceName": "ptah", "deploymentId": 2} {"SecretVars": {}, "ReleaseCommand": {"Command": "", "ConfigName": "", "ConfigLabels": {}}, "SwarmServiceSpec": {"Mode": {"Replicated": {"Replicas": 1}}, "Name": "svc_1_ptah_pool_wkr_main", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "ra6ybnsju9462o17w0gx3ead5eok94vb", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "pool", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "EndpointSpec": {"Ports": []}, "TaskTemplate": {"Networks": [{"Target": "ptah_net", "Aliases": ["pool.ptah.local", "dpl-2.main.pool.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_INTERNAL_DOMAIN=pool.ptah.local", "PTAH_HOSTNAME=dpl-2.main.pool.ptah.local", "PTAH_DEPLOYMENT_ID=2", "PTAH_SERVICE_ID=ptah_happy_ptah_1", "PTAH_PROCESS_NAME=pool", "PTAH_WORKER_NAME=main"], "Args": null, "Hosts": ["pool.ptah.local"], "Image": "bitnami/pgbouncer", "Labels": {"sh.ptah.kind": "worker", "sh.ptah.cookie": "ra6ybnsju9462o17w0gx3ead5eok94vb", "sh.ptah.managed": "1", "sh.ptah.service.id": "1", "sh.ptah.worker.name": "main", "sh.ptah.process.name": "pool", "sh.ptah.service.slug": "ptah_happy_ptah_1", "sh.ptah.deployment.id": "2"}, "Mounts": [], "Command": null, "Configs": [], "Secrets": [], "Hostname": "dpl-2.main.pool.ptah.local", "Placement": [], "HealthCheck": null}, "RestartPolicy": {"Condition": "any"}}}} 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 +26 1 3 5 {"deploymentId": 2} {"caddy": {"apps": {"http": {"servers": {"http": {"listen": ["0.0.0.0:80"], "routes": [{"group": "svc_1_ptah_server", "match": [{"host": ["ptah.localhost"], "path": ["/*"]}], "handle": [{"handler": "ptah_observer", "rule_id": "caddy-h7i8j9k0l1", "process_id": "server", "service_id": "1"}, {"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": "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 \. @@ -1449,8 +1457,7 @@ COPY public.personal_access_tokens (id, tokenable_type, tokenable_id, name, toke -- COPY public.services (id, team_id, name, docker_name, created_at, updated_at, swarm_id, deleted_at, placement_node_id, slug) FROM stdin; -1 1 caddy svc_1_caddy 2024-09-01 00:00:00 2024-09-01 00:00:00 1 \N \N caddy_happy_ptah_1 -2 1 ptah svc_2_ptah 2024-09-01 00:00:00 2024-09-01 00:00:00 1 \N \N ptah_happy_ptah_2 +1 1 ptah svc_1_ptah 2024-09-01 00:00:00 2024-09-01 00:00:00 1 \N \N ptah_happy_ptah_1 \. @@ -1589,7 +1596,7 @@ SELECT pg_catalog.setval('public.jobs_id_seq', 1, false); -- Name: migrations_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - -- -SELECT pg_catalog.setval('public.migrations_id_seq', 62, true); +SELECT pg_catalog.setval('public.migrations_id_seq', 63, true); -- @@ -1610,7 +1617,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', 19, true); +SELECT pg_catalog.setval('public.node_tasks_id_seq', 26, true); -- @@ -1631,7 +1638,7 @@ SELECT pg_catalog.setval('public.personal_access_tokens_id_seq', 1, false); -- Name: services_id_seq; Type: SEQUENCE SET; Schema: public; Owner: - -- -SELECT pg_catalog.setval('public.services_id_seq', 2, true); +SELECT pg_catalog.setval('public.services_id_seq', 1, true); -- diff --git a/scripts/self-hosted/install-agent.sh b/scripts/self-hosted/install-agent.sh index ed21def..4a95bd4 100755 --- a/scripts/self-hosted/install-agent.sh +++ b/scripts/self-hosted/install-agent.sh @@ -121,12 +121,6 @@ if [ -z "$SKIP_CORE_INSTALL" ]; then iptables -I DOCKER-USER -p tcp -s 127.0.0.1 --dport 2019 -j ACCEPT iptables -I DOCKER-USER -p tcp --dport 2019 -j REJECT --reject-with tcp-reset - # Allow access to internal Docker Registry port - # Docker Registry will be available at registry.ptah.local:5000 on the overlay ptah_net network - iptables -I DOCKER-USER -p tcp -s 127.0.0.1 --dport 5050 -j ACCEPT - iptables -I DOCKER-USER -p tcp --dport 5050 -j REJECT --reject-with tcp-reset - echo '127.0.0.1 registry.ptah.local' >> /etc/hosts - netfilter-persistent save rm -f /tmp/ptah-agent diff --git a/scripts/self-hosted/install-server.sh b/scripts/self-hosted/install-server.sh index 623efb3..52d7d78 100755 --- a/scripts/self-hosted/install-server.sh +++ b/scripts/self-hosted/install-server.sh @@ -114,7 +114,6 @@ if [ -z "$SKIP_CORE_INSTALL" ]; then header "Configure Docker" help_text "Adding Caddy admin port to iptables" - # Allow access to Caddy admin port iptables -I DOCKER-USER -p tcp -s 127.0.0.1 --dport 2019 -j ACCEPT iptables -I DOCKER-USER -p tcp --dport 2019 -j REJECT --reject-with tcp-reset diff --git a/scripts/self-hosted/tasks.json b/scripts/self-hosted/tasks.json index 687eae7..a9cf419 100644 --- a/scripts/self-hosted/tasks.json +++ b/scripts/self-hosted/tasks.json @@ -17,12 +17,12 @@ { "id": 4, "type": 2, - "payload": "{\"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\"}}}" + "payload": "{\"SwarmConfigSpec\": {\"Data\": \"IyBLZWVwIHRoaXMgZmlsZQ==\", \"Name\": \"svc_1_ptah_caddy_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\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}" }, { "id": 5, "type": 2, - "payload": "{\"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\"}}}" + "payload": "{\"SwarmConfigSpec\": {\"Data\": \"IyBUaGlzIGlzIHRoZSBlbnRyeXBvaW50IGZvciBDYWRkeS4KIyBCeSBkZWZhdWx0LCBpdCBzdGFydHMgd2l0aCBhIGJsYW5rIENhZGR5ZmlsZSB3aXRoIGEgc3RhbmRhcmQgIkhlbGxvIGZyb20gQ2FkZHkiIHBhZ2UuCgppZiBbIC1mICIvY29uZmlnL2NhZGR5L2F1dG9zYXZlLmpzb24iIF07IHRoZW4KICAgIGVjaG8gIlN0YXJ0aW5nIHdpdGggYXV0b3NhdmUuanNvbiIKCiAgICBjYWRkeSBydW4gLS1jb25maWcgIi9jb25maWcvY2FkZHkvYXV0b3NhdmUuanNvbiIKZWxzZQogICAgZWNobyAiU3RhcnRpbmcgd2l0aCB0aGUgZGVmYXVsdCBDYWRkeWZpbGUiCgogICAgY2FkZHkgcnVuIC0tY29uZmlnICIvZXRjL2NhZGR5L0NhZGR5ZmlsZSIKZmk=\", \"Name\": \"svc_1_ptah_caddy_dpl_1_cfg_start_sh\", \"Labels\": {\"sh.ptah.kind\": \"config\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}" }, { "id": 6, @@ -32,66 +32,101 @@ { "id": 7, "type": 21, - "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"caddy\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"A8t3QkApScWz71yIcZqIvjgMxwV3do4c\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"svc\", \"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\", \"dpl-1.main.svc.caddy.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"CADDY_ADMIN=0.0.0.0:2019\", \"PTAH_INTERNAL_DOMAIN=svc.caddy.ptah.local\", \"PTAH_HOSTNAME=dpl-1.main.svc.caddy.ptah.local\", \"PTAH_DEPLOYMENT_ID=1\", \"PTAH_SERVICE_ID=caddy_happy_ptah_1\", \"PTAH_PROCESS_NAME=svc\", \"PTAH_WORKER_NAME=main\"], \"Args\": [\"-c\", \"sh /start.sh\"], \"Hosts\": [\"svc.caddy.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-caddy:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"A8t3QkApScWz71yIcZqIvjgMxwV3do4c\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"svc\", \"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.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-a1b2c3d4e5f\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.volume.path\": \"/data\", \"sh.ptah.process.name\": \"svc\", \"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.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-g6h7i8j9k1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.volume.path\": \"/config\", \"sh.ptah.process.name\": \"svc\", \"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.main.svc.caddy.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_ptah_caddy_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"2n9nbwg6478lkifqu3rddqd2pgm47yxg\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"caddy\", \"sh.ptah.service.slug\": \"ptah_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\": [\"caddy.ptah.local\", \"dpl-1.main.caddy.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"CADDY_ADMIN=0.0.0.0:2019\", \"PTAH_INTERNAL_DOMAIN=caddy.ptah.local\", \"PTAH_HOSTNAME=dpl-1.main.caddy.ptah.local\", \"PTAH_DEPLOYMENT_ID=1\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=caddy\", \"PTAH_WORKER_NAME=main\"], \"Args\": [\"-c\", \"sh /start.sh\"], \"Hosts\": [\"caddy.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-caddy:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"2n9nbwg6478lkifqu3rddqd2pgm47yxg\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"caddy\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_1_ptah_caddy_data\", \"Target\": \"/data\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-a1b2c3d4e5f\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.volume.path\": \"/data\", \"sh.ptah.process.name\": \"caddy\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}, {\"Type\": \"volume\", \"Source\": \"svc_1_ptah_caddy_config\", \"Target\": \"/config\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-g6h7i8j9k1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.volume.path\": \"/config\", \"sh.ptah.process.name\": \"caddy\", \"sh.ptah.service.slug\": \"ptah_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_ptah_caddy_dpl_1_cfg_ptah_caddy_tls_keep\"}, {\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/start.sh\"}, \"ConfigName\": \"svc_1_ptah_caddy_dpl_1_cfg_start_sh\"}], \"Secrets\": [], \"Hostname\": \"dpl-1.main.caddy.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" }, { "id": 8, + "type": 2, + "payload": "{\"SwarmConfigSpec\": {\"Data\": \"dmVyc2lvbjogMC4xCmxvZzoKICBmaWVsZHM6CiAgICBzZXJ2aWNlOiByZWdpc3RyeQpzdG9yYWdlOgogIGNhY2hlOgogICAgYmxvYmRlc2NyaXB0b3I6IGlubWVtb3J5CiAgZmlsZXN5c3RlbToKICAgIHJvb3RkaXJlY3Rvcnk6IC92YXIvbGliL3JlZ2lzdHJ5CiAgZGVsZXRlOgogICAgZW5hYmxlZDogdHJ1ZQogIG1haW50ZW5hbmNlOgogICAgdXBsb2FkcHVyZ2luZzoKICAgICAgZW5hYmxlZDogdHJ1ZQogICAgICBhZ2U6IDE2OGgKICAgICAgaW50ZXJ2YWw6IDI0aAogICAgICBkcnlydW46IGZhbHNlCmh0dHA6CiAgYWRkcjogMC4wLjAuMDo1MDUwCiAgaG9zdDogaHR0cDovL3JlZ2lzdHJ5LnB0YWgubG9jYWw6NTA1MAogIG5ldDogdGNwCiAgaGVhZGVyczoKICAgIFgtQ29udGVudC1UeXBlLU9wdGlvbnM6IFtub3NuaWZmXQpoZWFsdGg6CiAgc3RvcmFnZWRyaXZlcjoKICAgIGVuYWJsZWQ6IHRydWUKICAgIGludGVydmFsOiAxMHMKICAgIHRocmVzaG9sZDogMwo=\", \"Name\": \"svc_1_ptah_registry_dpl_1_cfg_etc_docker_registry_config_yml\", \"Labels\": {\"sh.ptah.kind\": \"config\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}" + }, + { + "id": 9, + "type": 2, + "payload": "{\"SwarmConfigSpec\": {\"Data\": \"IyEvYmluL2Jhc2gKCnNldCAtZQoKZWNobyAiUHJ1bmluZyBzdGFsZSBkYXRhIgoKL2Jpbi9yZWdpc3RyeSBnYXJiYWdlLWNvbGxlY3QgL2V0Yy9kb2NrZXIvcmVnaXN0cnkvY29uZmlnLnltbAoKZWNobyAiUHJ1bmluZyBlbXB0eSByZXBvc2l0b3JpZXMiCgpmb3IgcmVwb19uYW1lIGluIC92YXIvbGliL3JlZ2lzdHJ5L2RvY2tlci9yZWdpc3RyeS92Mi9yZXBvc2l0b3JpZXMvKjsgZG8KICAjIENoZWNrIGlmIGl0J3MgYSBkaXJlY3RvcnkKICBpZiBbIC1kICIkcmVwb19uYW1lIiBdOyB0aGVuCiAgICAjIENoZWNrIGlmIHRoZSBfbWFuaWZlc3RzL3RhZ3MgZGlyZWN0b3J5IGlzIGVtcHR5CiAgICBpZiBbIC16ICIkKGxzIC1BICIkcmVwb19uYW1lL19tYW5pZmVzdHMvdGFncy8iKSIgXTsgdGhlbgogICAgICAjIElmIHRoZSBkaXJlY3RvcnkgaXMgZW1wdHksIHJlbW92ZSB0aGUgcmVwb3NpdG9yeSBkaXJlY3RvcnkKICAgICAgZWNobyAiUmVtb3ZpbmcgcmVwb3NpdG9yeSAkcmVwb19uYW1lIGFzIGl0cyBfbWFuaWZlc3RzL3RhZ3MgZGlyZWN0b3J5IGlzIGVtcHR5LiIKICAgICAgcm0gLXJmICIkcmVwb19uYW1lIgogICAgZWxzZQogICAgICAjIElmIHRoZSBkaXJlY3RvcnkgaXMgbm90IGVtcHR5LCBkbyBub3RoaW5nCiAgICAgIGVjaG8gIlJlcG9zaXRvcnkgJHJlcG9fbmFtZSBoYXMgdGFncy4gU2tpcHBpbmcgcmVtb3ZhbC4iCiAgICBmaQogIGZpCmRvbmUK\", \"Name\": \"svc_1_ptah_registry_dpl_1_cfg_ptah_prune_stale_data_sh\", \"Labels\": {\"sh.ptah.kind\": \"config\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}" + }, + { + "id": 10, + "type": 14, + "payload": "{\"Image\": \"registry:latest\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" + }, + { + "id": 11, + "type": 21, + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_ptah_registry_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"t0q91vcef6mw518z6n97qhnz4q5wmmqs\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"registry\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"EndpointSpec\": {\"Ports\": [{\"Protocol\": \"tcp\", \"TargetPort\": 5050, \"PublishMode\": \"ingress\", \"PublishedPort\": 5050}]}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"registry.ptah.local\", \"dpl-1.main.registry.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"PTAH_INTERNAL_DOMAIN=registry.ptah.local\", \"PTAH_HOSTNAME=dpl-1.main.registry.ptah.local\", \"PTAH_DEPLOYMENT_ID=1\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=registry\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"registry.ptah.local\"], \"Image\": \"registry:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"t0q91vcef6mw518z6n97qhnz4q5wmmqs\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"registry\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_1_ptah_registry_data\", \"Target\": \"/var/lib/registry\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-l2m3n4o5p6\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.volume.path\": \"/var/lib/registry\", \"sh.ptah.process.name\": \"registry\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}], \"Command\": null, \"Configs\": [{\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/etc/docker/registry/config.yml\"}, \"ConfigName\": \"svc_1_ptah_registry_dpl_1_cfg_etc_docker_registry_config_yml\"}, {\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/ptah/prune_stale_data.sh\"}, \"ConfigName\": \"svc_1_ptah_registry_dpl_1_cfg_ptah_prune_stale_data_sh\"}], \"Secrets\": [], \"Hostname\": \"dpl-1.main.registry.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" + }, + { + "id": 12, + "type": 21, + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"ReplicatedJob\": {\"MaxConcurrent\": 0}}, \"Name\": \"svc_1_ptah_registry_wkr_garbage_collector\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"3478lkifqu3rddqd2pgm47yxg2n9nbwg\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"garbage-collector\", \"sh.ptah.process.name\": \"registry\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"garbage-collector.registry.ptah.local\", \"dpl-1.garbage-collector.registry.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"PTAH_INTERNAL_DOMAIN=garbage-collector.registry.ptah.local\", \"PTAH_HOSTNAME=dpl-1.garbage-collector.registry.ptah.local\", \"PTAH_DEPLOYMENT_ID=1\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=registry\", \"PTAH_WORKER_NAME=garbage-collector\"], \"Args\": [\"-c\", \"sh /ptah/prune_stale_data.sh\"], \"Hosts\": [\"garbage-collector.registry.ptah.local\"], \"Image\": \"registry:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"3478lkifqu3rddqd2pgm47yxg2n9nbwg\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"garbage-collector\", \"sh.ptah.process.name\": \"registry\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_1_ptah_registry_data\", \"Target\": \"/var/lib/registry\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-l2m3n4o5p6\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.volume.path\": \"/var/lib/registry\", \"sh.ptah.process.name\": \"registry\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"1\"}}}], \"Command\": [\"sh\"], \"Configs\": [{\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/etc/docker/registry/config.yml\"}, \"ConfigName\": \"svc_1_ptah_registry_dpl_1_cfg_etc_docker_registry_config_yml\"}, {\"File\": {\"GID\": \"0\", \"UID\": \"0\", \"Mode\": 511, \"Name\": \"/ptah/prune_stale_data.sh\"}, \"ConfigName\": \"svc_1_ptah_registry_dpl_1_cfg_ptah_prune_stale_data_sh\"}], \"Secrets\": [], \"Hostname\": \"dpl-1.garbage-collector.registry.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"none\"}}}}" + }, + { + "id": 13, "type": 5, "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, + "id": 14, "type": 14, "payload": "{\"Image\": \"bitnami/postgresql:16\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" }, { - "id": 10, + "id": 15, "type": 21, - "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_pg_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"vLXoeAyuh1slT2gQQSduqKZ86cVf2tIZ\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"pg\", \"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\", \"dpl-2.main.pg.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"POSTGRESQL_USERNAME=ptah_sh\", \"POSTGRESQL_PASSWORD=ptah_sh\", \"POSTGRESQL_DATABASE=ptah_sh\", \"PTAH_INTERNAL_DOMAIN=pg.server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.main.pg.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_2\", \"PTAH_PROCESS_NAME=pg\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"pg.server.ptah.local\"], \"Image\": \"bitnami/postgresql:16\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"vLXoeAyuh1slT2gQQSduqKZ86cVf2tIZ\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"pg\", \"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.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-l2m3n4o5p6\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.volume.path\": \"/bitnami/postgresql\", \"sh.ptah.process.name\": \"pg\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}}], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.main.pg.server.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_ptah_pg_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"f6mw518z6n97qhnz4q5wmmqs0q91vce6\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"pg\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"pg.ptah.local\", \"dpl-2.main.pg.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"POSTGRESQL_USERNAME=ptah_sh\", \"POSTGRESQL_PASSWORD=ptah_sh\", \"POSTGRESQL_DATABASE=ptah_sh\", \"PTAH_INTERNAL_DOMAIN=pg.ptah.local\", \"PTAH_HOSTNAME=dpl-2.main.pg.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=pg\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"pg.ptah.local\"], \"Image\": \"bitnami/postgresql:16\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"f6mw518z6n97qhnz4q5wmmqs0q91vce6\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"pg\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_1_ptah_pg_data\", \"Target\": \"/bitnami/postgresql\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-q7r8s9t0a1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.volume.path\": \"/bitnami/postgresql\", \"sh.ptah.process.name\": \"pg\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}}}], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.main.pg.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" }, { - "id": 11, + "id": 16, "type": 14, "payload": "{\"Image\": \"bitnami/pgbouncer\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" }, { - "id": 12, + "id": 17, "type": 21, - "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_pool_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"E7czeSgp03uCT8cFAEYcgPZLcqVsaTQV\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"pool\", \"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\", \"dpl-2.main.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_INTERNAL_DOMAIN=pool.server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.main.pool.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_2\", \"PTAH_PROCESS_NAME=pool\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"pool.server.ptah.local\"], \"Image\": \"bitnami/pgbouncer\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"E7czeSgp03uCT8cFAEYcgPZLcqVsaTQV\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"pool\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.main.pool.server.ptah.local\", \"Placement\": [], \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_ptah_pool_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"ra6ybnsju9462o17w0gx3ead5eok94vb\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"pool\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"pool.ptah.local\", \"dpl-2.main.pool.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_INTERNAL_DOMAIN=pool.ptah.local\", \"PTAH_HOSTNAME=dpl-2.main.pool.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=pool\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"pool.ptah.local\"], \"Image\": \"bitnami/pgbouncer\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"ra6ybnsju9462o17w0gx3ead5eok94vb\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"pool\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.main.pool.ptah.local\", \"Placement\": [], \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" }, { - "id": 13, + "id": 18, "type": 14, "payload": "{\"Image\": \"victoriametrics/victoria-metrics\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" }, { - "id": 14, + "id": 19, "type": 21, - "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_victoriametrics_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"6GMSX6rpwdByv2Kf5uf0MNXHsbxayYLf\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"victoriametrics\", \"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\", \"dpl-2.main.victoriametrics.server.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"PTAH_INTERNAL_DOMAIN=victoriametrics.server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.main.victoriametrics.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_2\", \"PTAH_PROCESS_NAME=victoriametrics\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"victoriametrics.server.ptah.local\"], \"Image\": \"victoriametrics/victoria-metrics\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"6GMSX6rpwdByv2Kf5uf0MNXHsbxayYLf\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"victoriametrics\", \"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.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-q7r8s9t0a1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.volume.path\": \"/victoria-metrics-data\", \"sh.ptah.process.name\": \"victoriametrics\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}}], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.main.victoriametrics.server.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_ptah_victoriametrics_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"bhypz8lg1afmvwyr8w4xw8sygvgdopjm\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"victoriametrics\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"victoriametrics.ptah.local\", \"dpl-2.main.victoriametrics.ptah.local\"]}], \"ContainerSpec\": {\"Env\": [\"PTAH_INTERNAL_DOMAIN=victoriametrics.ptah.local\", \"PTAH_HOSTNAME=dpl-2.main.victoriametrics.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=victoriametrics\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"victoriametrics.ptah.local\"], \"Image\": \"victoriametrics/victoria-metrics\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"bhypz8lg1afmvwyr8w4xw8sygvgdopjm\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"victoriametrics\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [{\"Type\": \"volume\", \"Source\": \"svc_1_ptah_victoriametrics_data\", \"Target\": \"/victoria-metrics-data\", \"VolumeOptions\": {\"Labels\": {\"sh.ptah.managed\": \"1\", \"sh.ptah.volume.id\": \"volume-b2c3d4e5f6\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.volume.path\": \"/victoria-metrics-data\", \"sh.ptah.process.name\": \"victoriametrics\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}}}], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.main.victoriametrics.ptah.local\", \"Placement\": {\"Constraints\": [\"node.labels.sh.ptah.node.id==1\"]}, \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" }, { - "id": 15, + "id": 20, "type": 14, "payload": "{\"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"PullOptions\": {}, \"AuthConfigName\": \"\"}" }, { - "id": 16, + "id": 21, "type": 21, - "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force\", \"ConfigName\": \"svc_2_ptah_ptah_server_wkr_main_dpl_2_rel_cmd\", \"ConfigLabels\": {\"sh.ptah.kind\": \"release-command\", \"sh.ptah.cookie\": \"sP1c0B8XAGAiH6lmTqVkquFo6inc5x4z\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"ptah-server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 2}}, \"Name\": \"svc_2_ptah_ptah_server_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"sP1c0B8XAGAiH6lmTqVkquFo6inc5x4z\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"ptah-server\", \"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\", \"dpl-2.main.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_INTERNAL_DOMAIN=ptah-server.server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.main.ptah-server.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_2\", \"PTAH_PROCESS_NAME=ptah-server\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"ptah-server.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"sP1c0B8XAGAiH6lmTqVkquFo6inc5x4z\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"ptah-server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.main.ptah-server.server.ptah.local\", \"Placement\": [], \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"php artisan config:cache && php artisan migrate --no-interaction --verbose --ansi --force\", \"ConfigName\": \"svc_1_ptah_server_wkr_main_dpl_2_rel_cmd\", \"ConfigLabels\": {\"sh.ptah.kind\": \"release-command\", \"sh.ptah.cookie\": \"foymi9vgguk4rasy92tvktehwx2i13nn\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 2}}, \"Name\": \"svc_1_ptah_server_wkr_main\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"foymi9vgguk4rasy92tvktehwx2i13nn\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"server.ptah.local\", \"dpl-2.main.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_INTERNAL_DOMAIN=server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.main.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=server\", \"PTAH_WORKER_NAME=main\"], \"Args\": null, \"Hosts\": [\"server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"foymi9vgguk4rasy92tvktehwx2i13nn\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"main\", \"sh.ptah.process.name\": \"server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": null, \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.main.server.ptah.local\", \"Placement\": [], \"HealthCheck\": null}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" }, { - "id": 17, + "id": 22, "type": 21, - "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_ptah_server_wkr_scheduler\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"BMo1kyC6DcEuiUj1qdnoe1PUHluel3XZ\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"scheduler\", \"sh.ptah.process.name\": \"ptah-server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"scheduler.ptah-server.server.ptah.local\", \"dpl-2.scheduler.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_INTERNAL_DOMAIN=scheduler.ptah-server.server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.scheduler.ptah-server.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_2\", \"PTAH_PROCESS_NAME=ptah-server\", \"PTAH_WORKER_NAME=scheduler\"], \"Args\": [\"-c\", \"APP_SCHEDULER=main php artisan config:cache && php artisan schedule:work\"], \"Hosts\": [\"scheduler.ptah-server.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"BMo1kyC6DcEuiUj1qdnoe1PUHluel3XZ\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"scheduler\", \"sh.ptah.process.name\": \"ptah-server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": [\"sh\"], \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.scheduler.ptah-server.server.ptah.local\", \"Placement\": [], \"HealthCheck\": {\"Test\": [\"CMD-SHELL\", \"pgrep -f \\\"php artisan schedule:work\\\"\"], \"Retries\": 3, \"Timeout\": 5000000000, \"Interval\": 10000000000, \"StartPeriod\": 30000000000, \"StartInterval\": 5000000000}}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_ptah_server_wkr_scheduler\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"ixhg42b170hzpvua5f21rce2bvxtos5u\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"scheduler\", \"sh.ptah.process.name\": \"server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"scheduler.server.ptah.local\", \"dpl-2.scheduler.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_INTERNAL_DOMAIN=scheduler.server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.scheduler.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=server\", \"PTAH_WORKER_NAME=scheduler\"], \"Args\": [\"-c\", \"APP_SCHEDULER=main php artisan config:cache && php artisan schedule:work\"], \"Hosts\": [\"scheduler.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"ixhg42b170hzpvua5f21rce2bvxtos5u\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"scheduler\", \"sh.ptah.process.name\": \"server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": [\"sh\"], \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.scheduler.server.ptah.local\", \"Placement\": [], \"HealthCheck\": {\"Test\": [\"CMD-SHELL\", \"pgrep -f \\\"php artisan schedule:work\\\"\"], \"Retries\": 3, \"Timeout\": 5000000000, \"Interval\": 10000000000, \"StartPeriod\": 30000000000, \"StartInterval\": 5000000000}}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" }, { - "id": 18, + "id": 23, "type": 21, - "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_2_ptah_ptah_server_wkr_queue\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"hoItHnlhfXuJvk8TldJb4iZWqxn58bYP\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"queue\", \"sh.ptah.process.name\": \"ptah-server\", \"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\", \"dpl-2.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\", \"PTAH_INTERNAL_DOMAIN=queue.ptah-server.server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.queue.ptah-server.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_2\", \"PTAH_PROCESS_NAME=ptah-server\", \"PTAH_WORKER_NAME=queue\"], \"Args\": [\"-c\", \"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.kind\": \"worker\", \"sh.ptah.cookie\": \"hoItHnlhfXuJvk8TldJb4iZWqxn58bYP\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"2\", \"sh.ptah.worker.name\": \"queue\", \"sh.ptah.process.name\": \"ptah-server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_2\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": [\"sh\"], \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.queue.ptah-server.server.ptah.local\", \"Placement\": [], \"HealthCheck\": {\"Test\": [\"CMD-SHELL\", \"pgrep -f \\\"php artisan queue:work\\\"\"], \"Retries\": 3, \"Timeout\": 5000000000, \"Interval\": 10000000000, \"StartPeriod\": 30000000000, \"StartInterval\": 5000000000}}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" + "payload": "{\"SecretVars\": {}, \"ReleaseCommand\": {\"Command\": \"\", \"ConfigName\": \"\", \"ConfigLabels\": {}}, \"SwarmServiceSpec\": {\"Mode\": {\"Replicated\": {\"Replicas\": 1}}, \"Name\": \"svc_1_ptah_server_wkr_queue\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"nu5wh6u5w0jh4vablcb3xpbotrmxyq2v\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"queue\", \"sh.ptah.process.name\": \"server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"EndpointSpec\": {\"Ports\": []}, \"TaskTemplate\": {\"Networks\": [{\"Target\": \"ptah_net\", \"Aliases\": [\"queue.server.ptah.local\", \"dpl-2.queue.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_INTERNAL_DOMAIN=queue.server.ptah.local\", \"PTAH_HOSTNAME=dpl-2.queue.server.ptah.local\", \"PTAH_DEPLOYMENT_ID=2\", \"PTAH_SERVICE_ID=ptah_happy_ptah_1\", \"PTAH_PROCESS_NAME=server\", \"PTAH_WORKER_NAME=queue\"], \"Args\": [\"-c\", \"php artisan config:cache && php artisan queue:work\"], \"Hosts\": [\"queue.server.ptah.local\"], \"Image\": \"ghcr.io/ptah-sh/ptah-server:latest\", \"Labels\": {\"sh.ptah.kind\": \"worker\", \"sh.ptah.cookie\": \"nu5wh6u5w0jh4vablcb3xpbotrmxyq2v\", \"sh.ptah.managed\": \"1\", \"sh.ptah.service.id\": \"1\", \"sh.ptah.worker.name\": \"queue\", \"sh.ptah.process.name\": \"server\", \"sh.ptah.service.slug\": \"ptah_happy_ptah_1\", \"sh.ptah.deployment.id\": \"2\"}, \"Mounts\": [], \"Command\": [\"sh\"], \"Configs\": [], \"Secrets\": [], \"Hostname\": \"dpl-2.queue.server.ptah.local\", \"Placement\": [], \"HealthCheck\": {\"Test\": [\"CMD-SHELL\", \"pgrep -f \\\"php artisan queue:work\\\"\"], \"Retries\": 3, \"Timeout\": 5000000000, \"Interval\": 10000000000, \"StartPeriod\": 30000000000, \"StartInterval\": 5000000000}}, \"RestartPolicy\": {\"Condition\": \"any\"}}}}" }, { - "id": 19, + "id": 24, + "type": 8, + "payload": "{\"ServiceName\": \"svc_1_ptah_caddy\"}" + }, + { + "id": 25, + "type": 8, + "payload": "{\"ServiceName\": \"svc_1_ptah_registry\"}" + }, + { + "id": 26, "type": 5, - "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-b2c3d4e5f6\", \"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-b2c3d4e5f6\"]}}}, \"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\"}]}]}}}}}}" + "payload": "{\"caddy\": {\"apps\": {\"http\": {\"servers\": {\"http\": {\"listen\": [\"0.0.0.0:80\"], \"routes\": [{\"group\": \"svc_1_ptah_server\", \"match\": [{\"host\": [\"ptah.localhost\"], \"path\": [\"/*\"]}], \"handle\": [{\"handler\": \"ptah_observer\", \"rule_id\": \"caddy-h7i8j9k0l1\", \"process_id\": \"server\", \"service_id\": \"1\"}, {\"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\": \"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\"}]}]}}}}}}" } ]