5 Commits

12 changed files with 53 additions and 18 deletions
-1
View File
@@ -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
+13 -1
View File
@@ -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,
}, },
}, },
+26 -5
View File
@@ -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
-1
View File
@@ -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" \
-1
View File
@@ -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
View File
@@ -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 \
+1 -1
View File
@@ -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 \
+7 -2
View File
@@ -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(
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"
+1 -1
View File
@@ -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"