Add live deployment files
This commit is contained in:
parent
e2dbae13ee
commit
d6e48d13d7
11
Deployment/Live/Dockerfile.python
Normal file
11
Deployment/Live/Dockerfile.python
Normal file
@ -0,0 +1,11 @@
|
||||
FROM python:3.10
|
||||
|
||||
COPY clubhaus/requirements.txt /tmp/requirements.txt
|
||||
RUN pip3 install -r /tmp/requirements.txt
|
||||
RUN pip3 install gunicorn~=20.1.0
|
||||
|
||||
ENV PYTHONDONTWRITEBYTECODE 1
|
||||
ENV PYTHONUNBUFFERED 1
|
||||
|
||||
ENV DEBUG_MODE=False
|
||||
WORKDIR /usr/src/app
|
2
Deployment/Live/README.md
Normal file
2
Deployment/Live/README.md
Normal file
@ -0,0 +1,2 @@
|
||||
# Notes
|
||||
- Use `chown -R www-data:www-data static/` and `chown -R www-data:www-data media/` to give nginx access to the files. Fixes the 403 error when accessing static files
|
20
Deployment/Live/docker-compose.yml
Normal file
20
Deployment/Live/docker-compose.yml
Normal file
@ -0,0 +1,20 @@
|
||||
version: "3"
|
||||
services:
|
||||
backend:
|
||||
container_name: clubhaus_backend
|
||||
image: icaotix/clubhaus_backend
|
||||
build:
|
||||
context: ../../
|
||||
dockerfile: Deployment/Live/Dockerfile.python
|
||||
command: gunicorn clubhaus.wsgi:application --bind 0.0.0.0:12000
|
||||
volumes:
|
||||
- ../../clubhaus:/usr/src/app
|
||||
environment:
|
||||
- ALLOWED_HOSTS=clubhaus-schornbach.de
|
||||
- CSRF_TRUSTED_ORIGINS=https://clubhaus-schornbach.de
|
||||
- SESSION_COOKIE_SECURE=True
|
||||
- IP_RATE_LIMIT_TIME=3600
|
||||
- DEBUG_MODE=False
|
||||
- LC_ALL=de_DE.UTF-8
|
||||
ports:
|
||||
- "127.0.0.1:12000:12000"
|
42
Deployment/Live/nginx.conf
Normal file
42
Deployment/Live/nginx.conf
Normal file
@ -0,0 +1,42 @@
|
||||
upstream clubhaus_website {
|
||||
server 127.0.0.1:12000;
|
||||
}
|
||||
|
||||
server {
|
||||
server_name clubhaus-schornbach.de;
|
||||
|
||||
listen 443 ssl; # managed by Certbot
|
||||
ssl_certificate /etc/letsencrypt/live/clubhaus-schornbach.de/fullchain.pem; # managed by Certbot
|
||||
ssl_certificate_key /etc/letsencrypt/live/clubhaus-schornbach.de/privkey.pem; # managed by Certbot
|
||||
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
|
||||
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
|
||||
|
||||
location / {
|
||||
proxy_pass http://127.0.0.1:12000;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header HOST $host;
|
||||
proxy_redirect off;
|
||||
# allow uploads up to 20 megabytes (like pictures)
|
||||
client_max_body_size 20M;
|
||||
}
|
||||
|
||||
# redirect static files to filesystem
|
||||
location /static/ {
|
||||
alias /usr/projects/clubhaus/clubhaus/static/;
|
||||
}
|
||||
|
||||
# redirect media files to filesystem (user uploaded files)
|
||||
location /media/ {
|
||||
alias /usr/projects/clubhaus/clubhaus/media/;
|
||||
}
|
||||
|
||||
}
|
||||
server {
|
||||
if ($host = clubhaus-schornbach.de) {
|
||||
return 301 https://$host$request_uri;
|
||||
} # managed by Certbot
|
||||
|
||||
server_name clubhaus-schornbach.de;
|
||||
listen 80;
|
||||
return 404; # managed by Certbot
|
||||
}
|
Loading…
Reference in New Issue
Block a user