mirror of
https://github.com/UA-Fediland/synapse-admin.git
synced 2024-11-21 14:01:27 +00:00
Add BASE_PATH argument to Dockerfile
Fixes #512, #517. Change-Id: I0367f681aaf35af4a0f1b324fb0bdbef272e6db4
This commit is contained in:
parent
a490b7bc85
commit
ac3b40b188
4 changed files with 22 additions and 13 deletions
|
@ -6,6 +6,8 @@ lib/
|
||||||
node_modules/
|
node_modules/
|
||||||
electron_app/
|
electron_app/
|
||||||
karma-reports/
|
karma-reports/
|
||||||
|
.pnp.cjs
|
||||||
|
.pnp.loader.mjs
|
||||||
.idea/
|
.idea/
|
||||||
.tmp/
|
.tmp/
|
||||||
config.json*
|
config.json*
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
# Builder
|
# Builder
|
||||||
FROM node:lts as builder
|
FROM node:lts as builder
|
||||||
LABEL org.opencontainers.image.url=https://github.com/Awesome-Technologies/synapse-admin org.opencontainers.image.source=https://github.com/Awesome-Technologies/synapse-admin
|
LABEL org.opencontainers.image.url=https://github.com/Awesome-Technologies/synapse-admin org.opencontainers.image.source=https://github.com/Awesome-Technologies/synapse-admin
|
||||||
|
# Base path for synapse admin
|
||||||
|
ARG BASE_PATH=./
|
||||||
|
|
||||||
WORKDIR /src
|
WORKDIR /src
|
||||||
|
|
||||||
|
@ -13,7 +15,7 @@ COPY package.json .yarnrc.yml yarn.lock ./
|
||||||
RUN yarn config set enableTelemetry 0 && yarn install --immutable --network-timeout=300000
|
RUN yarn config set enableTelemetry 0 && yarn install --immutable --network-timeout=300000
|
||||||
|
|
||||||
COPY . /src
|
COPY . /src
|
||||||
RUN yarn build
|
RUN yarn build --base=$BASE_PATH
|
||||||
|
|
||||||
# App
|
# App
|
||||||
FROM nginx:stable-alpine
|
FROM nginx:stable-alpine
|
||||||
|
|
18
README.md
18
README.md
|
@ -80,6 +80,7 @@ You have three options:
|
||||||
args:
|
args:
|
||||||
- BUILDKIT_CONTEXT_KEEP_GIT_DIR=1
|
- BUILDKIT_CONTEXT_KEEP_GIT_DIR=1
|
||||||
# - NODE_OPTIONS="--max_old_space_size=1024"
|
# - NODE_OPTIONS="--max_old_space_size=1024"
|
||||||
|
# - BASE_PATH="/synapse-admin"
|
||||||
ports:
|
ports:
|
||||||
- "8080:80"
|
- "8080:80"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
@ -123,7 +124,13 @@ services:
|
||||||
|
|
||||||
### Serving Synapse-Admin on a different path
|
### Serving Synapse-Admin on a different path
|
||||||
|
|
||||||
We do not support directly changing the path where Synapse-Admin is served. Instead please use a reverse proxy if you need to move Synapse-Admin to a different base path. If you want to serve multiple applications with different paths on the same domain, you need a reverse proxy anyway.
|
The path prefix where synapse-admin is served can only be changed during the build step.
|
||||||
|
|
||||||
|
If you downloaded the source code, use `yarn build --base=/my-prefix` to set a path prefix.
|
||||||
|
|
||||||
|
If you want to build your own Docker container, use the `BASE_PATH` argument.
|
||||||
|
|
||||||
|
We do not support directly changing the path where Synapse-Admin is served in the pre-built Docker container. Instead please use a reverse proxy if you need to move Synapse-Admin to a different base path. If you want to serve multiple applications with different paths on the same domain, you need a reverse proxy anyway.
|
||||||
|
|
||||||
Example for Traefik:
|
Example for Traefik:
|
||||||
|
|
||||||
|
@ -139,20 +146,17 @@ services:
|
||||||
- 443:443
|
- 443:443
|
||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock:ro
|
- /var/run/docker.sock:/var/run/docker.sock:ro
|
||||||
labels:
|
|
||||||
- "traefik.http.middlewares.admin.redirectregex.regex:^(.*)/admin/?"
|
|
||||||
- "traefik.http.middlewares.admin.redirectregex.replacement:$${1}/admin/"
|
|
||||||
- "traefik.http.middlewares.admin_path.replacepathregex.regex:^/admin/(.*)"
|
|
||||||
- "traefik.http.middlewares.admin_path.replacepathregex.replacement:/$1"
|
|
||||||
|
|
||||||
synapse-admin:
|
synapse-admin:
|
||||||
image: awesometechnologies/synapse-admin:latest
|
image: awesometechnologies/synapse-admin:latest
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
labels:
|
labels:
|
||||||
- "traefik.enable=true"
|
- "traefik.enable=true"
|
||||||
- "traefik.http.routers.synapse-admin.priority=3"
|
|
||||||
- "traefik.http.routers.synapse-admin.rule=Host(`example.com`)&&PathPrefix(`/admin`)"
|
- "traefik.http.routers.synapse-admin.rule=Host(`example.com`)&&PathPrefix(`/admin`)"
|
||||||
- "traefik.http.routers.synapse-admin.middlewares=admin,admin_path"
|
- "traefik.http.routers.synapse-admin.middlewares=admin,admin_path"
|
||||||
|
- "traefik.http.middlewares.admin.redirectregex.regex=^(.*)/admin/?"
|
||||||
|
- "traefik.http.middlewares.admin.redirectregex.replacement=$${1}/admin/"
|
||||||
|
- "traefik.http.middlewares.admin_path.stripprefix.prefixes=/admin"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
|
@ -15,6 +15,7 @@ services:
|
||||||
# if you're building on an architecture other than amd64, make sure
|
# if you're building on an architecture other than amd64, make sure
|
||||||
# to define a maximum ram for node. otherwise the build will fail.
|
# to define a maximum ram for node. otherwise the build will fail.
|
||||||
# - NODE_OPTIONS="--max_old_space_size=1024"
|
# - NODE_OPTIONS="--max_old_space_size=1024"
|
||||||
|
# - BASE_PATH="/synapse-admin"
|
||||||
ports:
|
ports:
|
||||||
- "8080:80"
|
- "8080:80"
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
Loading…
Reference in a new issue