mirror of
https://github.com/memohai/Memoh.git
synced 2026-04-25 07:00:48 +09:00
64378d29ed
* feat(web): add provider oauth management ui * feat: add OAuth callback support on port 1455 * feat: enhance reasoning effort options and support for OpenAI Codex OAuth * feat: update twilight-ai dependency to v0.3.4 * refactor: promote openai-codex to first-class client_type, remove auth_type Replace the previous openai-responses + metadata auth_type=openai-codex-oauth combo with a dedicated openai-codex client_type. OAuth requirement is now determined solely by client_type, eliminating the auth_type concept from the LLM provider domain entirely. - Add openai-codex to DB CHECK constraint (migration 0047) with data migration - Add ClientTypeOpenAICodex constant and dedicated SDK/probe branches - Remove AuthType from SDKModelConfig, ModelCredentials, TriggerConfig, etc. - Simplify supportsOAuth to check client_type == openai-codex - Add conf/providers/codex.yaml preset with Codex catalog models - Frontend: replace auth_type selector with client_type-driven OAuth UI --------- Co-authored-by: Acbox <acbox0328@gmail.com>
65 lines
1.6 KiB
Docker
65 lines
1.6 KiB
Docker
# syntax=docker/dockerfile:1
|
|
|
|
# Dev server image: Go + containerd + CNI.
|
|
# Toolkit (Node.js, uv) is NOT baked in — it is volume-mounted from the host.
|
|
# Run ./docker/toolkit/install.sh once before first use.
|
|
|
|
FROM golang:1.25-alpine
|
|
|
|
WORKDIR /workspace
|
|
|
|
RUN go install github.com/air-verse/air@latest
|
|
|
|
RUN apk add --no-cache \
|
|
bash \
|
|
ca-certificates \
|
|
cni-plugins \
|
|
containerd \
|
|
containerd-ctr \
|
|
git \
|
|
iptables \
|
|
make \
|
|
tzdata \
|
|
wget \
|
|
&& mkdir -p /opt/cni/bin \
|
|
&& (cp -a /usr/lib/cni/. /opt/cni/bin/ 2>/dev/null || true) \
|
|
&& (cp -a /usr/libexec/cni/. /opt/cni/bin/ 2>/dev/null || true) \
|
|
&& mkdir -p /etc/cni/net.d /var/lib/cni /run/containerd /var/lib/containerd /opt/memoh/data /opt/memoh/runtime
|
|
|
|
RUN printf '%s\n' \
|
|
'{' \
|
|
' "cniVersion": "1.0.0",' \
|
|
' "name": "memoh-cni",' \
|
|
' "plugins": [' \
|
|
' {' \
|
|
' "type": "bridge",' \
|
|
' "bridge": "cni0",' \
|
|
' "isGateway": true,' \
|
|
' "ipMasq": true,' \
|
|
' "hairpinMode": true,' \
|
|
' "ipam": {' \
|
|
' "type": "host-local",' \
|
|
' "ranges": [[' \
|
|
' { "subnet": "10.88.0.0/16" }' \
|
|
' ]],' \
|
|
' "routes": [' \
|
|
' { "dst": "0.0.0.0/0" }' \
|
|
' ]' \
|
|
' }' \
|
|
' },' \
|
|
' {' \
|
|
' "type": "portmap",' \
|
|
' "capabilities": { "portMappings": true }' \
|
|
' }' \
|
|
' ]' \
|
|
'}' > /etc/cni/net.d/10-memoh.conflist
|
|
|
|
COPY devenv/server-entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
VOLUME ["/var/lib/containerd", "/opt/memoh/data"]
|
|
|
|
EXPOSE 8080 1455
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|