1. The problem I’m having:
I’m not sure if it’s a Coolify or a Caddy problem, but since Coolify uses Caddy under the hood, I’ll assume it has something to do with it. I got a coolify instance running with Caddy as the proxy, it’s been working for some apps, but for some others HTTPS seems to not be working, for instance, I am currently trying to make an app called “memos” work, but all I get is http://coolify.example.com:5230
to work, instead of https://memos.example.com
which is the endpoint I expect.
Docker compose file looks like this:
services:
memos:
image: 'neosmemo/memos:stable'
container_name: memos
volumes:
- '~/.memos/:/var/opt/memos'
ports:
- '5230:5230'
and its deployable form looks like this:
services:
memos:
image: 'neosmemo/memos:stable'
container_name: memos-wkog4oswg48c0o0ogw0ogk8c
volumes:
- '/data/coolify/services/wkog4oswg48c0o0ogw0ogk8c/.memos:/var/opt/memos'
ports:
- '5230:5230'
restart: unless-stopped
labels:
- coolify.managed=true
- coolify.version=4.0.0-beta.418
- coolify.serviceId=10
- coolify.type=service
- coolify.name=memos-wkog4oswg48c0o0ogw0ogk8c
- coolify.resourceName=memos
- coolify.projectName=apps
- coolify.serviceName=memos
- coolify.environmentName=production
- coolify.pullRequestId=0
- coolify.service.subId=10
- coolify.service.subType=application
- coolify.service.subName=memos
- traefik.enable=true
- traefik.http.middlewares.gzip.compress=true
- traefik.http.middlewares.redirect-to-https.redirectscheme.scheme=https
- traefik.http.routers.http-0-wkog4oswg48c0o0ogw0ogk8c-memos.entryPoints=http
- traefik.http.routers.http-0-wkog4oswg48c0o0ogw0ogk8c-memos.middlewares=redirect-to-https
- 'traefik.http.routers.http-0-wkog4oswg48c0o0ogw0ogk8c-memos.rule=Host(`memos.example.com`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-wkog4oswg48c0o0ogw0ogk8c-memos.entryPoints=https
- traefik.http.routers.https-0-wkog4oswg48c0o0ogw0ogk8c-memos.middlewares=gzip
- 'traefik.http.routers.https-0-wkog4oswg48c0o0ogw0ogk8c-memos.rule=Host(`memos.example.com`) && PathPrefix(`/`)'
- traefik.http.routers.https-0-wkog4oswg48c0o0ogw0ogk8c-memos.tls.certresolver=letsencrypt
- traefik.http.routers.https-0-wkog4oswg48c0o0ogw0ogk8c-memos.tls=true
- 'caddy_0.encode=zstd gzip'
- 'caddy_0.handle_path.0_reverse_proxy={{upstreams}}'
- 'caddy_0.handle_path=/*'
- caddy_0.header=-Server
- 'caddy_0.try_files={path} /index.html /index.php'
- 'caddy_0=https://memos.example.com'
- caddy_ingress_network=wkog4oswg48c0o0ogw0ogk8c
networks:
wkog4oswg48c0o0ogw0ogk8c: null
environment:
COOLIFY_RESOURCE_UUID: wkog4oswg48c0o0ogw0ogk8c
COOLIFY_CONTAINER_NAME: memos-wkog4oswg48c0o0ogw0ogk8c
COOLIFY_URL: 'https://memos.example.com'
COOLIFY_FQDN: memos.example.com
volumes: { }
networks:
wkog4oswg48c0o0ogw0ogk8c:
name: wkog4oswg48c0o0ogw0ogk8c
external: true
configs: { }
secrets: { }
2. Error messages and/or full log output:
2025-05-24T08:46:06.964149518Z
2025-05-24T08:46:06.964218713Z ███╗ ███╗███████╗███╗ ███╗ ██████╗ ███████╗
2025-05-24T08:46:06.964225323Z ████╗ ████║██╔════╝████╗ ████║██╔═══██╗██╔════╝
2025-05-24T08:46:06.964229650Z ██╔████╔██║█████╗ ██╔████╔██║██║ ██║███████╗
2025-05-24T08:46:06.964233556Z ██║╚██╔╝██║██╔══╝ ██║╚██╔╝██║██║ ██║╚════██║
2025-05-24T08:46:06.964237442Z ██║ ╚═╝ ██║███████╗██║ ╚═╝ ██║╚██████╔╝███████║
2025-05-24T08:46:06.964241507Z ╚═╝ ╚═╝╚══════╝╚═╝ ╚═╝ ╚═════╝ ╚══════╝
2025-05-24T08:46:06.964380177Z ---
2025-05-24T08:46:06.964396261Z Server profile
2025-05-24T08:46:06.964400347Z version: 0.24.3
2025-05-24T08:46:06.964404013Z data: /var/opt/memos
2025-05-24T08:46:06.964407687Z addr:
2025-05-24T08:46:06.964411514Z port: 5230
2025-05-24T08:46:06.964415169Z unix-sock:
2025-05-24T08:46:06.964432105Z mode: prod
2025-05-24T08:46:06.964436090Z driver: sqlite
2025-05-24T08:46:06.964439856Z ---
2025-05-24T08:46:06.964443621Z Version 0.24.3 has been started on port 5230
2025-05-24T08:46:06.964447587Z ---
2025-05-24T08:46:06.964451524Z See more in:
2025-05-24T08:46:06.964455559Z 👉Website: https://usememos.com
2025-05-24T08:46:06.964459345Z 👉GitHub: https://github.com/usememos/memos
2025-05-24T08:46:06.964462921Z ---
2025-05-24T08:46:23.815831337Z 2025/05/24 08:46:23 INFO OK method=/memos.api.v1.WorkspaceService/GetWorkspaceProfile
2025-05-24T08:46:23.871564089Z 2025/05/24 08:46:23 INFO OK method=/memos.api.v1.WorkspaceSettingService/GetWorkspaceSetting
2025-05-24T08:46:23.926769403Z 2025/05/24 08:46:23 INFO OK method=/memos.api.v1.WorkspaceSettingService/GetWorkspaceSetting
2025-05-24T08:46:23.984215078Z 2025/05/24 08:46:23 INFO client error method=/memos.api.v1.AuthService/GetAuthStatus error="rpc error: code = Unauthenticated desc = user not found"
2025-05-24T08:46:24.141682347Z 2025/05/24 08:46:24 INFO OK method=/memos.api.v1.WorkspaceService/GetWorkspaceProfile
2025-05-24T08:46:24.196631877Z 2025/05/24 08:46:24 INFO OK method=/memos.api.v1.WorkspaceSettingService/GetWorkspaceSetting
2025-05-24T08:46:24.252936480Z 2025/05/24 08:46:24 INFO OK method=/memos.api.v1.WorkspaceSettingService/GetWorkspaceSetting
2025-05-24T08:46:24.308718495Z 2025/05/24 08:46:24 INFO client error method=/memos.api.v1.AuthService/GetAuthStatus error="rpc error: code = Unauthenticated desc = user not found"
2025-05-24T08:46:24.451611328Z 2025/05/24 08:46:24 INFO OK method=/memos.api.v1.MemoService/ListMemos
3. Caddy version:
I’m using caddy through caddy-docker-proxy:2.8
4. How I installed and ran Caddy:
Coolify has Caddy built-in, I just configured it to use it.
a. System environment:
Coolify instance version v4.0.0-beta.418
d. My complete Caddy config:
networks:
coolify:
external: true
services:
caddy:
container_name: coolify-proxy
image: 'lucaslorentz/caddy-docker-proxy:2.8-alpine'
restart: unless-stopped
extra_hosts:
- 'host.docker.internal:host-gateway'
environment:
- CADDY_DOCKER_POLLING_INTERVAL=5s
- CADDY_DOCKER_CADDYFILE_PATH=/dynamic/Caddyfile
networks:
- coolify
ports:
- '80:80'
- '443:443'
- '443:443/udp'
labels:
- coolify.managed=true
- coolify.proxy=true
volumes:
- '/var/run/docker.sock:/var/run/docker.sock:ro'
- '/data/coolify/proxy/caddy/dynamic:/dynamic'
- '/data/coolify/proxy/caddy/config:/config'
- '/data/coolify/proxy/caddy/data:/data'
File: Caddyfile
import /dynamic/*.caddy
File: coolify.caddy
https://coolify.example.com {
handle /app/* {
reverse_proxy coolify-realtime:6001
}
handle /terminal/ws {
reverse_proxy coolify-realtime:6002
}
reverse_proxy coolify:8080
}
File: default_redirect_503.caddy
# This file is generated by Coolify, do not edit it manually.
# Disable the default redirect to customize (only if you know what are you doing).
:80, :443 {
respond 503
}
File: instance-redirect.caddy
www.coolify.example.com {
redir https://coolify.example.com{uri}
}
5. Links to relevant resources:
Coolify: https://coolify.io/