mirror of
https://github.com/ajisaacs/OpenNest.git
synced 2026-10-29 17:01:06 -04:00
Every installed copy checked GitHub Releases on its own, so a shop's
workstations shared GitHub's 60-requests-per-hour unauthenticated limit
per public address and each downloaded the ~90 MB package over the
internet. Shops large enough to hit that already run the nest server.
The server now mirrors the Velopack feed at /updates/{stable|dev}: one
GitHub API request per 30-minute refresh, each package downloaded once
and checked against the feed's size and SHA-256 before it is served. A
channel is mirrored only while clients ask for it, so stable-only shops
never download development builds. Database-mode clients read the
server first and fall back to GitHub when it has no feed (old server,
mirror off, not mirrored yet), downloading each package from whichever
source listed it. A hand-set feed URL still takes precedence.
OPENNEST_UPDATES=off turns the mirror off.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
26 lines
1.0 KiB
YAML
26 lines
1.0 KiB
YAML
# OpenNest.Server deployment example: one instance, one local data volume, LAN-only.
|
|
# Usage: docker compose --env-file <local-env> -f compose.server.yaml up -d
|
|
# Start from OpenNest.Server/server.env.example. See docs/nest-storage.md before deploying.
|
|
name: opennest-server
|
|
services:
|
|
opennest-server:
|
|
image: ${OPENNEST_SERVER_IMAGE:?Set a tested version or digest}
|
|
restart: unless-stopped
|
|
ports:
|
|
- "${OPENNEST_BIND_ADDRESS:?Set 127.0.0.1 for testing or a trusted LAN address}:${OPENNEST_HOST_PORT:-8090}:8090"
|
|
environment:
|
|
ASPNETCORE_URLS: http://+:8090
|
|
OPENNEST_DB: /app/data/nests.db
|
|
# "off" stops mirroring the desktop update feed from GitHub (clients then check GitHub themselves).
|
|
OPENNEST_UPDATES: ${OPENNEST_UPDATES:-on}
|
|
volumes:
|
|
- opennest-data:/app/data
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
cap_drop:
|
|
- ALL
|
|
volumes:
|
|
opennest-data:
|
|
# A restore switches to a separately verified volume instead of overwriting this one.
|
|
name: ${OPENNEST_DATA_VOLUME:-opennest-data}
|