diff --git a/internal/deployer/deployer.go b/internal/deployer/deployer.go index 6dba55a..5518abe 100644 --- a/internal/deployer/deployer.go +++ b/internal/deployer/deployer.go @@ -286,6 +286,9 @@ func (d *Deployer) executeDeploy( d.logDeploy(deployID, "Image pulled successfully", "info") // Step 2: Ensure network exists. + if settings.Network == "" { + return containerID, proxyRouteID, instanceID, fmt.Errorf("docker network not configured in settings") + } networkID, err := d.docker.EnsureNetwork(ctx, settings.Network) if err != nil { return containerID, proxyRouteID, instanceID, fmt.Errorf("ensure network: %w", err) diff --git a/internal/store/store.go b/internal/store/store.go index 47180ed..1482685 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -109,6 +109,8 @@ func (s *Store) runMigrations() error { `ALTER TABLE settings ADD COLUMN traefik_cert_resolver TEXT NOT NULL DEFAULT 'letsencrypt'`, `ALTER TABLE settings ADD COLUMN traefik_network TEXT NOT NULL DEFAULT ''`, `ALTER TABLE settings ADD COLUMN traefik_api_url TEXT NOT NULL DEFAULT ''`, + // Set default network for existing databases with empty network. + `UPDATE settings SET network = 'docker-watcher' WHERE network = ''`, } for _, m := range migrations { @@ -198,7 +200,7 @@ CREATE TABLE IF NOT EXISTS settings ( id INTEGER PRIMARY KEY CHECK (id = 1), domain TEXT NOT NULL DEFAULT '', server_ip TEXT NOT NULL DEFAULT '', - network TEXT NOT NULL DEFAULT '', + network TEXT NOT NULL DEFAULT 'docker-watcher', subdomain_pattern TEXT NOT NULL DEFAULT 'stage-{stage}-{project}', notification_url TEXT NOT NULL DEFAULT '', npm_url TEXT NOT NULL DEFAULT '', diff --git a/web/src/lib/components/EventLogEntry.svelte b/web/src/lib/components/EventLogEntry.svelte index d7aadf3..1475fad 100644 --- a/web/src/lib/components/EventLogEntry.svelte +++ b/web/src/lib/components/EventLogEntry.svelte @@ -5,13 +5,15 @@