Initial commit
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
# Ein Server-Block fuer beide Spiegel. Die Ausgabe-Volumes der beiden
|
||||
# Sync-Container sind read-only unter /usr/share/nginx/html/{flatpak,dnf}
|
||||
# gemountet (siehe docker-compose.yml), die URL-Pfade entsprechen also 1:1
|
||||
# den Verzeichnisnamen.
|
||||
server {
|
||||
listen 80;
|
||||
server_name _;
|
||||
|
||||
root /usr/share/nginx/html;
|
||||
|
||||
# Flatpak/OSTree macht sehr viele kleine Einzel-Requests (archive-z2).
|
||||
# Keep-Alive ist deshalb wichtig fuer akzeptable Performance.
|
||||
keepalive_timeout 65;
|
||||
keepalive_requests 1000;
|
||||
|
||||
# Grosse Objekte/Static-Deltas und RPMs effizient ausliefern.
|
||||
sendfile on;
|
||||
tcp_nopush on;
|
||||
|
||||
location = / {
|
||||
default_type text/plain;
|
||||
return 200 "flatpak: /flatpak/\ndnf: /dnf/\n";
|
||||
}
|
||||
|
||||
# --- Flatpak-Spiegel (OSTree-Repo, Volume flatpak-repo-data) -----------
|
||||
location /flatpak/ {
|
||||
autoindex off;
|
||||
try_files $uri $uri/ =404;
|
||||
}
|
||||
|
||||
# summary/summary.sig sind das Einzige, was flatpak bei jedem Zugriff neu
|
||||
# holt - nicht cachen, sonst sehen Clients neue Apps erst verzoegert.
|
||||
# Objekte darunter sind content-addressed und damit unveraenderlich.
|
||||
location ~* ^/flatpak/summary(\.sig|\.idx)?$ {
|
||||
add_header Cache-Control "no-cache";
|
||||
}
|
||||
|
||||
location ~* ^/flatpak/(objects|deltas)/ {
|
||||
expires 30d;
|
||||
add_header Cache-Control "public, immutable";
|
||||
}
|
||||
|
||||
# --- DNF-Spiegel (Volume dnf-repo-data) --------------------------------
|
||||
location /dnf/ {
|
||||
autoindex on;
|
||||
}
|
||||
|
||||
# repomd.xml (und dessen Signatur) ist der einzige Teil, den dnf bei jedem
|
||||
# Zugriff neu abruft - nicht cachen. Regex-Location gewinnt gegenueber der
|
||||
# Praefix-Location /dnf/ oben (nginx-Standardverhalten). Ein gemeinsames
|
||||
# Repo -> repodata liegt direkt unter /dnf/.
|
||||
location ~* ^/dnf/repodata/repomd\.xml(\.asc)?$ {
|
||||
add_header Cache-Control "no-cache";
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user