diff --git a/embed/resources/compose/web/docker-compose.yml b/embed/resources/compose/web/docker-compose.yml index 09fb3f7..b11d520 100644 --- a/embed/resources/compose/web/docker-compose.yml +++ b/embed/resources/compose/web/docker-compose.yml @@ -5,6 +5,7 @@ services: image: ghcr.io/nginx-proxy/nginx-proxy:alpine environment: - DEFAULT_HOST=${DEFAULT_HOST} + - HTTPS_METHOD=${HTTPS_METHOD} ports: - "80:80" - "443:443" diff --git a/embed/resources/templates/docker-env/web b/embed/resources/templates/docker-env/web index 11938e2..dee5c8d 100644 --- a/embed/resources/templates/docker-env/web +++ b/embed/resources/templates/docker-env/web @@ -1 +1,2 @@ -DEFAULT_HOST=${DEFAULT_HOST} \ No newline at end of file +DEFAULT_HOST=${DEFAULT_HOST} +HTTPS_METHOD=${HTTPS_METHOD} \ No newline at end of file diff --git a/env/component_web.go b/env/component_web.go index d19b53a..6e92b16 100644 --- a/env/component_web.go +++ b/env/component_web.go @@ -17,9 +17,15 @@ func (WebComponent) Name() string { } func (web WebComponent) Stack() stack.Installable { + HTTPS_METHOD := "nohttp" + if web.dis.HTTPSEnabled() { + HTTPS_METHOD = "redirect" + } + return web.dis.makeComponentStack(web, stack.Installable{ EnvContext: map[string]string{ "DEFAULT_HOST": web.dis.Config.DefaultDomain, + "HTTPS_METHOD": HTTPS_METHOD, }, }) } diff --git a/internal/stack/stack.go b/internal/stack/stack.go index 0c2a2b6..3b0f7c4 100644 --- a/internal/stack/stack.go +++ b/internal/stack/stack.go @@ -55,9 +55,9 @@ func (ds Stack) Update(io stream.IOStream, start bool) error { var errStackUp = errors.New("Stack.Up: Up returned non-zero exit code") // Up creates and starts the containers in this Stack. -// It is equivalent to 'docker compose up -d' on the shell. +// It is equivalent to 'docker compose up --remove-orphans --detach' on the shell. func (ds Stack) Up(io stream.IOStream) error { - code, err := ds.compose(io, "up", "-d") + code, err := ds.compose(io, "up", "--remove-orphans", "--detach") if err != nil { return err }