mirror of
https://github.com/m1k1o/neko-rooms.git
synced 2026-11-03 07:01:35 -06:00
Compare commits
5 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 8ab1cafa93 | |||
| aa3a09fe33 | |||
| b238d4da03 | |||
| d59605ff9a | |||
| 5028a28255 |
@@ -31,7 +31,6 @@ FROM scratch
|
|||||||
COPY --from=builder /app/bin/neko_rooms /app/bin/neko_rooms
|
COPY --from=builder /app/bin/neko_rooms /app/bin/neko_rooms
|
||||||
COPY --from=frontend /src/dist/ /var/www
|
COPY --from=frontend /src/dist/ /var/www
|
||||||
|
|
||||||
ENV DOCKER_API_VERSION=1.39
|
|
||||||
ENV NEKO_ROOMS_BIND=:8080
|
ENV NEKO_ROOMS_BIND=:8080
|
||||||
ENV NEKO_ROOMS_ADMIN_STATIC=/var/www
|
ENV NEKO_ROOMS_ADMIN_STATIC=/var/www
|
||||||
|
|
||||||
|
|||||||
@@ -189,7 +189,19 @@ export const state = {
|
|||||||
url: 'https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi',
|
url: 'https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi',
|
||||||
} as BrowserPolicyExtension,
|
} as BrowserPolicyExtension,
|
||||||
[BrowserPolicyTypeEnum.chromium]: {
|
[BrowserPolicyTypeEnum.chromium]: {
|
||||||
id: 'cjpalhdlnbpafiamejdnhcphjbkeiagm',
|
id: 'ddkjiahejlhfcafbddmgiahcphecmpfh', // uBlock Origin Lite
|
||||||
|
} as BrowserPolicyExtension,
|
||||||
|
},
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: 'AdGuard AdBlocker',
|
||||||
|
value: {
|
||||||
|
[BrowserPolicyTypeEnum.firefox]: {
|
||||||
|
id: 'adguardadblocker@adguard.com',
|
||||||
|
url: 'https://addons.mozilla.org/firefox/downloads/latest/adguard-adblocker/latest.xpi',
|
||||||
|
} as BrowserPolicyExtension,
|
||||||
|
[BrowserPolicyTypeEnum.chromium]: {
|
||||||
|
id: 'apjcbfpjihpedihablmalmbbhjpklbdf',
|
||||||
} as BrowserPolicyExtension,
|
} as BrowserPolicyExtension,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -571,34 +571,55 @@ echo -e "${AQUA}\n==================================================${NC}"
|
|||||||
# Configure NGINX without SSL
|
# Configure NGINX without SSL
|
||||||
echo -e "${YELLOW}Configuring NGINX without SSL...${NC}"
|
echo -e "${YELLOW}Configuring NGINX without SSL...${NC}"
|
||||||
cat <<EOF > /etc/nginx/sites-available/${DOMAIN}-neko-rooms.conf
|
cat <<EOF > /etc/nginx/sites-available/${DOMAIN}-neko-rooms.conf
|
||||||
|
map \$http_upgrade \$connection_upgrade {
|
||||||
|
default upgrade;
|
||||||
|
'' close;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80;
|
listen 80;
|
||||||
server_name ${DOMAIN};
|
server_name ${DOMAIN};
|
||||||
|
|
||||||
location / {
|
location ^~ /${PATH_PREFIX}/ {
|
||||||
proxy_pass http://127.0.0.1:${DOCKER_PORT};
|
proxy_pass http://127.0.0.1:${DOCKER_PORT};
|
||||||
proxy_set_header Host \$host;
|
proxy_set_header Host \$host;
|
||||||
proxy_http_version 1.1;
|
proxy_http_version 1.1;
|
||||||
|
|
||||||
# WebSocket headers
|
# WebSocket headers
|
||||||
proxy_set_header Upgrade \$http_upgrade;
|
proxy_set_header Upgrade \$http_upgrade;
|
||||||
proxy_set_header Connection "upgrade";
|
proxy_set_header Connection \$connection_upgrade;
|
||||||
|
|
||||||
# Forwarding headers for reverse proxy
|
# Forwarding headers for reverse proxy
|
||||||
proxy_set_header X-Real-IP \$remote_addr;
|
proxy_set_header X-Real-IP \$remote_addr;
|
||||||
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||||
proxy_set_header X-Forwarded-Proto \$scheme;
|
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||||
|
|
||||||
proxy_cache_bypass \$http_upgrade;
|
proxy_connect_timeout 60s;
|
||||||
|
proxy_send_timeout 4h;
|
||||||
|
proxy_read_timeout 4h;
|
||||||
|
send_timeout 900s;
|
||||||
|
|
||||||
|
proxy_request_buffering off;
|
||||||
proxy_buffering off;
|
proxy_buffering off;
|
||||||
proxy_read_timeout 900s;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# Admin Panel Restricted Access
|
# Admin Panel Restricted Access
|
||||||
location ~ ^/$ {
|
location / {
|
||||||
auth_basic "Restricted Access";
|
auth_basic "Restricted Access";
|
||||||
auth_basic_user_file /etc/nginx/.htpasswd;
|
auth_basic_user_file /etc/nginx/.htpasswd;
|
||||||
|
|
||||||
proxy_pass http://127.0.0.1:${DOCKER_PORT};
|
proxy_pass http://127.0.0.1:${DOCKER_PORT};
|
||||||
|
proxy_set_header Host \$host;
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
|
||||||
|
# Falls das Admin-UI WebSockets nutzt, sind wir vorbereitet
|
||||||
|
proxy_set_header Upgrade \$http_upgrade;
|
||||||
|
proxy_set_header Connection \$connection_upgrade;
|
||||||
|
|
||||||
|
# Forwarding headers wie oben
|
||||||
|
proxy_set_header X-Real-IP \$remote_addr;
|
||||||
|
proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for;
|
||||||
|
proxy_set_header X-Forwarded-Proto \$scheme;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
|
|||||||
@@ -58,7 +58,6 @@ docker run --rm -it \
|
|||||||
-e "NEKO_ROOMS_MOUNTS_WHITELIST=`realpath ${EXTERNAL_PATH}`" \
|
-e "NEKO_ROOMS_MOUNTS_WHITELIST=`realpath ${EXTERNAL_PATH}`" \
|
||||||
-e "NEKO_ROOMS_PATH_PREFIX=/room/" \
|
-e "NEKO_ROOMS_PATH_PREFIX=/room/" \
|
||||||
-e "NEKO_ROOMS_TRAEFIK_ENABLED=false" \
|
-e "NEKO_ROOMS_TRAEFIK_ENABLED=false" \
|
||||||
-e 'DOCKER_API_VERSION=1.39' \
|
|
||||||
-v "/var/run/docker.sock:/var/run/docker.sock" \
|
-v "/var/run/docker.sock:/var/run/docker.sock" \
|
||||||
--net="${NEKO_ROOMS_INSTANCE_NETWORK}" \
|
--net="${NEKO_ROOMS_INSTANCE_NETWORK}" \
|
||||||
--entrypoint="/app/bin/neko_rooms" \
|
--entrypoint="/app/bin/neko_rooms" \
|
||||||
|
|||||||
@@ -31,7 +31,6 @@ docker run --rm -it \
|
|||||||
-e "NEKO_ROOMS_TRAEFIK_DOMAIN=${NEKO_ROOMS_TRAEFIK_DOMAIN}" \
|
-e "NEKO_ROOMS_TRAEFIK_DOMAIN=${NEKO_ROOMS_TRAEFIK_DOMAIN}" \
|
||||||
-e "NEKO_ROOMS_TRAEFIK_ENTRYPOINT=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" \
|
-e "NEKO_ROOMS_TRAEFIK_ENTRYPOINT=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" \
|
||||||
-e "NEKO_ROOMS_TRAEFIK_NETWORK=${NEKO_ROOMS_TRAEFIK_NETWORK}" \
|
-e "NEKO_ROOMS_TRAEFIK_NETWORK=${NEKO_ROOMS_TRAEFIK_NETWORK}" \
|
||||||
-e 'DOCKER_API_VERSION=1.39' \
|
|
||||||
-v "/var/run/docker.sock:/var/run/docker.sock" \
|
-v "/var/run/docker.sock:/var/run/docker.sock" \
|
||||||
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \
|
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \
|
||||||
-l "traefik.enable=true" \
|
-l "traefik.enable=true" \
|
||||||
|
|||||||
+1
-1
@@ -26,7 +26,7 @@ docker run --rm -it \
|
|||||||
-e "TZ=${TZ}" \
|
-e "TZ=${TZ}" \
|
||||||
-v "/var/run/docker.sock:/var/run/docker.sock" \
|
-v "/var/run/docker.sock:/var/run/docker.sock" \
|
||||||
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \
|
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \
|
||||||
traefik:2.4 \
|
traefik:2 \
|
||||||
--api.insecure=true \
|
--api.insecure=true \
|
||||||
--providers.docker=true \
|
--providers.docker=true \
|
||||||
--providers.docker.watch=true \
|
--providers.docker.watch=true \
|
||||||
|
|||||||
@@ -29,7 +29,7 @@ docker run -d \
|
|||||||
-p "80:80" \
|
-p "80:80" \
|
||||||
-v "/var/run/docker.sock:/var/run/docker.sock:ro" \
|
-v "/var/run/docker.sock:/var/run/docker.sock:ro" \
|
||||||
-e "TZ=${TZ}" \
|
-e "TZ=${TZ}" \
|
||||||
traefik:2.4 \
|
traefik:2 \
|
||||||
--providers.docker=true \
|
--providers.docker=true \
|
||||||
--providers.docker.watch=true \
|
--providers.docker.watch=true \
|
||||||
--providers.docker.exposedbydefault=false \
|
--providers.docker.exposedbydefault=false \
|
||||||
|
|||||||
@@ -120,11 +120,16 @@ func (main *MainCtx) Preflight() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (main *MainCtx) Start() {
|
func (main *MainCtx) Start() {
|
||||||
client, err := client.NewClientWithOpts(client.FromEnv)
|
client, err := client.NewClientWithOpts(
|
||||||
|
client.FromEnv,
|
||||||
|
client.WithAPIVersionNegotiation(),
|
||||||
|
)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
main.logger.Panic().Err(err).Msg("unable to connect to docker client")
|
main.logger.Panic().Err(err).Msg("unable to connect to docker client")
|
||||||
} else {
|
} else {
|
||||||
main.logger.Info().Msg("successfully connected to docker client")
|
main.logger.Info().
|
||||||
|
Str("version", client.ClientVersion()).
|
||||||
|
Msg("successfully connected to docker client (API negotiation enabled)")
|
||||||
}
|
}
|
||||||
|
|
||||||
main.roomManager = room.New(
|
main.roomManager = room.New(
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ networks:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: "traefik:2.4"
|
image: "traefik:2"
|
||||||
restart: "unless-stopped"
|
restart: "unless-stopped"
|
||||||
environment:
|
environment:
|
||||||
- "TZ=Europe/Vienna"
|
- "TZ=Europe/Vienna"
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ networks:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
traefik:
|
traefik:
|
||||||
image: "traefik:2.4"
|
image: "traefik:2"
|
||||||
restart: "unless-stopped"
|
restart: "unless-stopped"
|
||||||
environment:
|
environment:
|
||||||
- "TZ"
|
- "TZ"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ networks:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
traefik: # domain name used in nginx config
|
traefik: # domain name used in nginx config
|
||||||
image: "traefik:2.4"
|
image: "traefik:2"
|
||||||
restart: "unless-stopped"
|
restart: "unless-stopped"
|
||||||
environment:
|
environment:
|
||||||
- "TZ=Europe/Vienna"
|
- "TZ=Europe/Vienna"
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ networks:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
traefik: # domain name used in nginx config
|
traefik: # domain name used in nginx config
|
||||||
image: "traefik:2.4"
|
image: "traefik:2"
|
||||||
restart: "unless-stopped"
|
restart: "unless-stopped"
|
||||||
environment:
|
environment:
|
||||||
- "TZ=Europe/Vienna"
|
- "TZ=Europe/Vienna"
|
||||||
|
|||||||
Reference in New Issue
Block a user