mirror of
https://github.com/philomena-dev/philomena.git
synced 2024-11-27 13:47:58 +01:00
nginx configuration to serve files
This commit is contained in:
parent
577d5e8766
commit
963c20c60c
3 changed files with 27 additions and 16 deletions
|
@ -2,11 +2,11 @@
|
||||||
|
|
||||||
# Create S3 dirs
|
# Create S3 dirs
|
||||||
mkdir -p /srv/philomena/priv/s3/philomena
|
mkdir -p /srv/philomena/priv/s3/philomena
|
||||||
ln -s /srv/philomena/priv/system/images/thumbs /srv/philomena/priv/s3/philomena/images
|
ln -sf /srv/philomena/priv/static/system/images/thumbs /srv/philomena/priv/s3/philomena/images
|
||||||
ln -s /srv/philomena/priv/system/images /srv/philomena/priv/s3/philomena/adverts
|
ln -sf /srv/philomena/priv/static/system/images /srv/philomena/priv/s3/philomena/adverts
|
||||||
ln -s /srv/philomena/priv/system/images /srv/philomena/priv/s3/philomena/avatars
|
ln -sf /srv/philomena/priv/static/system/images /srv/philomena/priv/s3/philomena/avatars
|
||||||
ln -s /srv/philomena/priv/system/images /srv/philomena/priv/s3/philomena/badges
|
ln -sf /srv/philomena/priv/static/system/images /srv/philomena/priv/s3/philomena/badges
|
||||||
ln -s /srv/philomena/priv/system/images /srv/philomena/priv/s3/philomena/tags
|
ln -sf /srv/philomena/priv/static/system/images /srv/philomena/priv/s3/philomena/tags
|
||||||
|
|
||||||
# For compatibility with musl libc
|
# For compatibility with musl libc
|
||||||
export CARGO_FEATURE_DISABLE_INITIAL_EXEC_TLS=1
|
export CARGO_FEATURE_DISABLE_INITIAL_EXEC_TLS=1
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
FROM nginx:1.21.4-alpine
|
FROM nginx:1.21.4-alpine
|
||||||
ENV APP_DIR /srv/philomena
|
ENV APP_DIR /srv/philomena
|
||||||
|
ENV BUCKET_NAME philomena
|
||||||
COPY docker/web/nginx.conf /tmp/docker.nginx
|
COPY docker/web/nginx.conf /tmp/docker.nginx
|
||||||
RUN envsubst '$APP_DIR' < /tmp/docker.nginx > /etc/nginx/conf.d/default.conf
|
RUN envsubst '$APP_DIR $BUCKET_NAME' < /tmp/docker.nginx > /etc/nginx/conf.d/default.conf
|
||||||
EXPOSE 80
|
EXPOSE 80
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|
|
@ -2,6 +2,10 @@ upstream philomena {
|
||||||
server app:4000 fail_timeout=0;
|
server app:4000 fail_timeout=0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
upstream s3 {
|
||||||
|
server files:80 fail_timeout=0;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80 default;
|
listen 80 default;
|
||||||
listen [::]:80;
|
listen [::]:80;
|
||||||
|
@ -14,38 +18,44 @@ server {
|
||||||
location ~ ^/img/view/(.+)/([0-9]+).*\.([A-Za-z0-9]+)$ {
|
location ~ ^/img/view/(.+)/([0-9]+).*\.([A-Za-z0-9]+)$ {
|
||||||
expires max;
|
expires max;
|
||||||
add_header Cache-Control public;
|
add_header Cache-Control public;
|
||||||
alias "$APP_DIR/priv/static/system/images/thumbs/$1/$2/full.$3";
|
proxy_pass http://s3/$BUCKET_NAME/images/$1/$2/full.$3;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ ^/img/download/(.+)/([0-9]+).*\.([A-Za-z0-9]+)$ {
|
location ~ ^/img/download/(.+)/([0-9]+).*\.([A-Za-z0-9]+)$ {
|
||||||
add_header Content-Disposition "attachment";
|
add_header Content-Disposition "attachment";
|
||||||
expires max;
|
expires max;
|
||||||
add_header Cache-Control public;
|
add_header Cache-Control public;
|
||||||
alias "$APP_DIR/priv/static/system/images/thumbs/$1/$2/full.$3";
|
proxy_pass http://s3/$BUCKET_NAME/images/$1/$2/full.$3;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ ^/img/(.+) {
|
location ~ ^/img/(.+) {
|
||||||
expires max;
|
expires max;
|
||||||
add_header Cache-Control public;
|
add_header Cache-Control public;
|
||||||
alias $APP_DIR/priv/static/system/images/thumbs/$1;
|
proxy_pass http://s3/$BUCKET_NAME/images/$1;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ ^/spns/(.+) {
|
location ~ ^/spns/(.+) {
|
||||||
expires max;
|
expires max;
|
||||||
add_header Cache-Control public;
|
add_header Cache-Control public;
|
||||||
alias $APP_DIR/priv/static/system/images/adverts/$1;
|
proxy_pass http://s3/$BUCKET_NAME/adverts/$1;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ ^/avatars/(.+) {
|
location ~ ^/avatars/(.+) {
|
||||||
expires max;
|
expires max;
|
||||||
add_header Cache-Control public;
|
add_header Cache-Control public;
|
||||||
alias $APP_DIR/priv/static/system/images/avatars/$1;
|
proxy_pass http://s3/$BUCKET_NAME/avatars/$1;
|
||||||
}
|
}
|
||||||
|
|
||||||
location ~ ^/media/(.+) {
|
location ~ ^/badges/(.+) {
|
||||||
expires max;
|
expires max;
|
||||||
add_header Cache-Control public;
|
add_header Cache-Control public;
|
||||||
alias $APP_DIR/priv/static/system/images/$1;
|
proxy_pass http://s3/$BUCKET_NAME/badges/$1;
|
||||||
|
}
|
||||||
|
|
||||||
|
location ~ ^/tags/(.+) {
|
||||||
|
expires max;
|
||||||
|
add_header Cache-Control public;
|
||||||
|
proxy_pass http://s3/$BUCKET_NAME/tags/$1;
|
||||||
}
|
}
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
|
|
Loading…
Reference in a new issue