АРХ - МЕЖПРОЕКТНАЯ КОММУНИКАЦИЯ: переезд God Mode на nodedcsudo

This commit is contained in:
DCCONSTRUCTIONS 2026-04-29 00:37:39 +03:00
parent 3b0c75bee6
commit 5d336039ba
15 changed files with 35 additions and 31 deletions

View File

@ -27,11 +27,11 @@ x-proxy-env: &proxy-env
APP_DOMAIN: ${APP_DOMAIN:-localhost} APP_DOMAIN: ${APP_DOMAIN:-localhost}
FILE_SIZE_LIMIT: ${PROXY_BODY_SIZE_LIMIT:-1073741824} FILE_SIZE_LIMIT: ${PROXY_BODY_SIZE_LIMIT:-1073741824}
PROXY_BODY_SIZE_LIMIT: ${PROXY_BODY_SIZE_LIMIT:-1073741824} PROXY_BODY_SIZE_LIMIT: ${PROXY_BODY_SIZE_LIMIT:-1073741824}
CERT_EMAIL: ${CERT_EMAIL} CERT_EMAIL: ${CERT_EMAIL:-}
CERT_ACME_CA: ${CERT_ACME_CA} CERT_ACME_CA: ${CERT_ACME_CA:-https://acme-v02.api.letsencrypt.org/directory}
CERT_ACME_DNS: ${CERT_ACME_DNS} CERT_ACME_DNS: ${CERT_ACME_DNS:-}
LISTEN_HTTP_PORT: ${LISTEN_HTTP_PORT:-80} LISTEN_HTTP_PORT: ${LISTEN_HTTP_PORT:-8090}
LISTEN_HTTPS_PORT: ${LISTEN_HTTPS_PORT:-443} LISTEN_HTTPS_PORT: ${LISTEN_HTTPS_PORT:-8443}
BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads} BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
SITE_ADDRESS: ${SITE_ADDRESS:-:80} SITE_ADDRESS: ${SITE_ADDRESS:-:80}
@ -57,6 +57,7 @@ x-app-env: &app-env
INSTANCE_CHANGELOG_URL: ${INSTANCE_CHANGELOG_URL:-} INSTANCE_CHANGELOG_URL: ${INSTANCE_CHANGELOG_URL:-}
IS_INTERCOM_ENABLED: ${IS_INTERCOM_ENABLED:-0} IS_INTERCOM_ENABLED: ${IS_INTERCOM_ENABLED:-0}
INTERCOM_APP_ID: ${INTERCOM_APP_ID:-} INTERCOM_APP_ID: ${INTERCOM_APP_ID:-}
ADMIN_BASE_PATH: ${ADMIN_BASE_PATH:-/nodedcsudo/}
USE_MINIO: ${USE_MINIO:-1} USE_MINIO: ${USE_MINIO:-1}
DATABASE_URL: ${DATABASE_URL:-postgresql://plane:plane@plane-db/plane} DATABASE_URL: ${DATABASE_URL:-postgresql://plane:plane@plane-db/plane}
SECRET_KEY: ${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5} SECRET_KEY: ${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}
@ -222,7 +223,7 @@ services:
# Comment this if you already have a reverse proxy running # Comment this if you already have a reverse proxy running
proxy: proxy:
image: makeplane/plane-proxy:${APP_RELEASE:-v1.3.0} image: nodedc/plane-proxy:ru
deploy: deploy:
replicas: 1 replicas: 1
restart_policy: restart_policy:
@ -231,11 +232,11 @@ services:
<<: *proxy-env <<: *proxy-env
ports: ports:
- target: 80 - target: 80
published: ${LISTEN_HTTP_PORT:-80} published: ${LISTEN_HTTP_PORT:-8090}
protocol: tcp protocol: tcp
mode: host mode: host
- target: 443 - target: 443
published: ${LISTEN_HTTPS_PORT:-443} published: ${LISTEN_HTTPS_PORT:-8443}
protocol: tcp protocol: tcp
mode: host mode: host
volumes: volumes:

View File

@ -27,11 +27,11 @@ x-proxy-env: &proxy-env
APP_DOMAIN: ${APP_DOMAIN:-localhost} APP_DOMAIN: ${APP_DOMAIN:-localhost}
FILE_SIZE_LIMIT: ${PROXY_BODY_SIZE_LIMIT:-1073741824} FILE_SIZE_LIMIT: ${PROXY_BODY_SIZE_LIMIT:-1073741824}
PROXY_BODY_SIZE_LIMIT: ${PROXY_BODY_SIZE_LIMIT:-1073741824} PROXY_BODY_SIZE_LIMIT: ${PROXY_BODY_SIZE_LIMIT:-1073741824}
CERT_EMAIL: ${CERT_EMAIL} CERT_EMAIL: ${CERT_EMAIL:-}
CERT_ACME_CA: ${CERT_ACME_CA} CERT_ACME_CA: ${CERT_ACME_CA:-https://acme-v02.api.letsencrypt.org/directory}
CERT_ACME_DNS: ${CERT_ACME_DNS} CERT_ACME_DNS: ${CERT_ACME_DNS:-}
LISTEN_HTTP_PORT: ${LISTEN_HTTP_PORT:-80} LISTEN_HTTP_PORT: ${LISTEN_HTTP_PORT:-8090}
LISTEN_HTTPS_PORT: ${LISTEN_HTTPS_PORT:-443} LISTEN_HTTPS_PORT: ${LISTEN_HTTPS_PORT:-8443}
BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads} BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
SITE_ADDRESS: ${SITE_ADDRESS:-:80} SITE_ADDRESS: ${SITE_ADDRESS:-:80}
@ -57,6 +57,7 @@ x-app-env: &app-env
INSTANCE_CHANGELOG_URL: ${INSTANCE_CHANGELOG_URL:-} INSTANCE_CHANGELOG_URL: ${INSTANCE_CHANGELOG_URL:-}
IS_INTERCOM_ENABLED: ${IS_INTERCOM_ENABLED:-0} IS_INTERCOM_ENABLED: ${IS_INTERCOM_ENABLED:-0}
INTERCOM_APP_ID: ${INTERCOM_APP_ID:-} INTERCOM_APP_ID: ${INTERCOM_APP_ID:-}
ADMIN_BASE_PATH: ${ADMIN_BASE_PATH:-/nodedcsudo/}
USE_MINIO: ${USE_MINIO:-1} USE_MINIO: ${USE_MINIO:-1}
DATABASE_URL: ${DATABASE_URL:-postgresql://plane:plane@plane-db/plane} DATABASE_URL: ${DATABASE_URL:-postgresql://plane:plane@plane-db/plane}
SECRET_KEY: ${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5} SECRET_KEY: ${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}
@ -222,7 +223,7 @@ services:
# Comment this if you already have a reverse proxy running # Comment this if you already have a reverse proxy running
proxy: proxy:
image: makeplane/plane-proxy:${APP_RELEASE:-v1.3.0} image: nodedc/plane-proxy:ru
deploy: deploy:
replicas: 1 replicas: 1
restart_policy: restart_policy:
@ -231,11 +232,11 @@ services:
<<: *proxy-env <<: *proxy-env
ports: ports:
- target: 80 - target: 80
published: ${LISTEN_HTTP_PORT:-80} published: ${LISTEN_HTTP_PORT:-8090}
protocol: tcp protocol: tcp
mode: host mode: host
- target: 443 - target: 443
published: ${LISTEN_HTTPS_PORT:-443} published: ${LISTEN_HTTPS_PORT:-8443}
protocol: tcp protocol: tcp
mode: host mode: host
volumes: volumes:

View File

@ -76,7 +76,7 @@ docker compose -f docker-compose-local.yml up
pnpm dev pnpm dev
``` ```
5. Open your browser to http://localhost:3001/god-mode/ and register yourself as instance admin 5. Open your browser to http://localhost:3001/nodedcsudo/ and register yourself as instance admin
6. Open up your browser to http://localhost:3000 then log in using the same credentials from the previous step 6. Open up your browser to http://localhost:3000 then log in using the same credentials from the previous step
Thats it! Youre all set to begin coding. Remember to refresh your browser if changes dont auto-reload. Happy contributing! 🎉 Thats it! Youre all set to begin coding. Remember to refresh your browser if changes dont auto-reload. Happy contributing! 🎉

View File

@ -35,7 +35,7 @@ ENV VITE_API_BASE_PATH=$VITE_API_BASE_PATH
ARG VITE_ADMIN_BASE_URL="" ARG VITE_ADMIN_BASE_URL=""
ENV VITE_ADMIN_BASE_URL=$VITE_ADMIN_BASE_URL ENV VITE_ADMIN_BASE_URL=$VITE_ADMIN_BASE_URL
ARG VITE_ADMIN_BASE_PATH="/god-mode" ARG VITE_ADMIN_BASE_PATH="/nodedcsudo"
ENV VITE_ADMIN_BASE_PATH=$VITE_ADMIN_BASE_PATH ENV VITE_ADMIN_BASE_PATH=$VITE_ADMIN_BASE_PATH
ARG VITE_SPACE_BASE_URL="" ARG VITE_SPACE_BASE_URL=""
@ -78,11 +78,11 @@ RUN pnpm turbo run build --filter=admin
FROM nginx:1.29-alpine AS production FROM nginx:1.29-alpine AS production
COPY apps/admin/nginx/nginx.conf /etc/nginx/nginx.conf COPY apps/admin/nginx/nginx.conf /etc/nginx/nginx.conf
COPY --from=installer /app/apps/admin/build/client /usr/share/nginx/html/god-mode COPY --from=installer /app/apps/admin/build/client /usr/share/nginx/html/nodedcsudo
EXPOSE 3000 EXPOSE 3000
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
CMD curl -fsS http://127.0.0.1:3000/ >/dev/null || exit 1 CMD curl -fsS http://127.0.0.1:3000/ >/dev/null || exit 1
CMD ["nginx", "-g", "daemon off;"] CMD ["nginx", "-g", "daemon off;"]

View File

@ -8,7 +8,7 @@ COPY . .
RUN corepack enable pnpm && pnpm add -g turbo RUN corepack enable pnpm && pnpm add -g turbo
RUN pnpm install RUN pnpm install
ENV VITE_ADMIN_BASE_PATH="/god-mode" ENV VITE_ADMIN_BASE_PATH="/nodedcsudo"
EXPOSE 3000 EXPOSE 3000

View File

@ -29,7 +29,7 @@ http {
location / { location / {
root /usr/share/nginx/html; root /usr/share/nginx/html;
index index.html index.htm; index index.html index.htm;
try_files $uri $uri/ /god-mode/index.html; try_files $uri $uri/ /nodedcsudo/index.html;
} }
} }
} }

View File

@ -27,7 +27,7 @@ def base_host(
if is_admin: if is_admin:
admin_base_path = getattr(settings, "ADMIN_BASE_PATH", None) admin_base_path = getattr(settings, "ADMIN_BASE_PATH", None)
if not isinstance(admin_base_path, str): if not isinstance(admin_base_path, str):
admin_base_path = "/god-mode/" admin_base_path = "/nodedcsudo/"
if not admin_base_path.startswith("/"): if not admin_base_path.startswith("/"):
admin_base_path = "/" + admin_base_path admin_base_path = "/" + admin_base_path
if not admin_base_path.endswith("/"): if not admin_base_path.endswith("/"):

View File

@ -351,7 +351,7 @@ CSRF_FAILURE_VIEW = "plane.authentication.views.common.csrf_failure"
ADMIN_BASE_URL = os.environ.get("ADMIN_BASE_URL", None) ADMIN_BASE_URL = os.environ.get("ADMIN_BASE_URL", None)
if ADMIN_BASE_URL and not is_valid_url(ADMIN_BASE_URL): if ADMIN_BASE_URL and not is_valid_url(ADMIN_BASE_URL):
ADMIN_BASE_URL = None ADMIN_BASE_URL = None
ADMIN_BASE_PATH = os.environ.get("ADMIN_BASE_PATH", "/god-mode/") ADMIN_BASE_PATH = os.environ.get("ADMIN_BASE_PATH", "/nodedcsudo/")
# Space Base URL # Space Base URL
SPACE_BASE_URL = os.environ.get("SPACE_BASE_URL", None) SPACE_BASE_URL = os.environ.get("SPACE_BASE_URL", None)

View File

@ -8,6 +8,7 @@ RESTRICTED_WORKSPACE_SLUGS = [
"api", "api",
"create-workspace", "create-workspace",
"god-mode", "god-mode",
"nodedcsudo",
"installations", "installations",
"invitations", "invitations",
"onboarding", "onboarding",

View File

@ -31,7 +31,7 @@ def base_host(
if is_admin: if is_admin:
admin_base_path = getattr(settings, "ADMIN_BASE_PATH", None) admin_base_path = getattr(settings, "ADMIN_BASE_PATH", None)
if not isinstance(admin_base_path, str): if not isinstance(admin_base_path, str):
admin_base_path = "/god-mode/" admin_base_path = "/nodedcsudo/"
if not admin_base_path.startswith("/"): if not admin_base_path.startswith("/"):
admin_base_path = "/" + admin_base_path admin_base_path = "/" + admin_base_path
if not admin_base_path.endswith("/"): if not admin_base_path.endswith("/"):

View File

@ -18,7 +18,7 @@
reverse_proxy localhost:3004 reverse_proxy localhost:3004
} }
handle_path /god-mode* { handle_path /nodedcsudo* {
root * /app/admin root * /app/admin
try_files {path} {path}/ /index.html try_files {path} {path}/ /index.html
file_server file_server

View File

@ -6,8 +6,8 @@
redir /spaces /spaces/ permanent redir /spaces /spaces/ permanent
reverse_proxy /spaces/* space:3000 reverse_proxy /spaces/* space:3000
redir /god-mode /god-mode/ permanent redir /nodedcsudo /nodedcsudo/ permanent
reverse_proxy /god-mode/* admin:3000 reverse_proxy /nodedcsudo/* admin:3000
reverse_proxy /live/* live:3000 reverse_proxy /live/* live:3000

View File

@ -35,7 +35,7 @@ ENV VITE_API_BASE_PATH=$VITE_API_BASE_PATH
ARG VITE_ADMIN_BASE_URL="" ARG VITE_ADMIN_BASE_URL=""
ENV VITE_ADMIN_BASE_URL=$VITE_ADMIN_BASE_URL ENV VITE_ADMIN_BASE_URL=$VITE_ADMIN_BASE_URL
ARG VITE_ADMIN_BASE_PATH="/god-mode" ARG VITE_ADMIN_BASE_PATH="/nodedcsudo"
ENV VITE_ADMIN_BASE_PATH=$VITE_ADMIN_BASE_PATH ENV VITE_ADMIN_BASE_PATH=$VITE_ADMIN_BASE_PATH
ARG VITE_SPACE_BASE_URL="" ARG VITE_SPACE_BASE_URL=""

View File

@ -49,7 +49,7 @@ ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
ARG VITE_ADMIN_BASE_URL="" ARG VITE_ADMIN_BASE_URL=""
ENV VITE_ADMIN_BASE_URL=$VITE_ADMIN_BASE_URL ENV VITE_ADMIN_BASE_URL=$VITE_ADMIN_BASE_URL
ARG VITE_ADMIN_BASE_PATH="/god-mode" ARG VITE_ADMIN_BASE_PATH="/nodedcsudo"
ENV VITE_ADMIN_BASE_PATH=$VITE_ADMIN_BASE_PATH ENV VITE_ADMIN_BASE_PATH=$VITE_ADMIN_BASE_PATH
ARG VITE_LIVE_BASE_URL="" ARG VITE_LIVE_BASE_URL=""

View File

@ -15,6 +15,7 @@ export const RESTRICTED_URLS: string[] = [
"api", "api",
"create-workspace", "create-workspace",
"god-mode", "god-mode",
"nodedcsudo",
"installations", "installations",
"invitations", "invitations",
"onboarding", "onboarding",