Merge branch 'production' of github.com:brortao/fediverse.space into production

This commit is contained in:
Tao Bojlén 2019-02-20 20:24:20 +00:00
commit 4a76c856d3
5 changed files with 52 additions and 39 deletions

View file

@ -23,8 +23,11 @@ The map of the fediverse that you always wanted.
## Commands ## Commands
### Backend ### Backend
- `python manage.py scrape` scrapes the entire fediverse
- `python manage.py build_graph` uses this information to lay out a graph After running the backend in Docker:
- `docker-compose exec web python manage.py scrape` scrapes the entire fediverse
- `docker-compose exec web python manage.py build_graph` uses this information to lay out a graph
To run in production, use `docker-compose -f docker-compose.yml -f docker-compose.production.yml` instead of just `docker-compose`. To run in production, use `docker-compose -f docker-compose.yml -f docker-compose.production.yml` instead of just `docker-compose`.

View file

@ -2,10 +2,9 @@ from .base import *
DEBUG = False DEBUG = False
ALLOWED_HOSTS = ['fediverse.space', 'www.fediverse.space', 'staging.fediverse.space'] ALLOWED_HOSTS = ['api.fediverse.space']
CORS_ORIGIN_WHITELIST = [ CORS_ORIGIN_WHITELIST = [
'fediverse.space', 'fediverse.space',
'www.fediverse.space',
'staging.fediverse.space' 'staging.fediverse.space'
] ]

View file

@ -1,20 +0,0 @@
upstream app {
server unix:/var/gunicorn/.sock;
}
server {
listen 80 default_server;
server_name localhost;
location / {
allow all;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Cluster-Client-Ip $remote_addr;
proxy_pass http://app;
}
# Note that nginx doesn't serve any static files.
}

View file

@ -1,9 +1,43 @@
version: '3' version: '3'
services: services:
nginx-proxy:
image: jwilder/nginx-proxy:alpine
restart: always
ports:
- "80:80"
- "443:443"
labels:
- com.github.jrcs.letsencrypt_nginx_proxy_companion.nginx_proxy
volumes:
- gunicorn-socket:/var/gunicorn # to talk to Django
- /var/run/docker.sock:/tmp/docker.sock:ro # for nginx-proxy
- conf:/etc/nginx/conf.d
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- certs:/etc/nginx/certs:ro
networks:
- nginx_network
letsencrypt:
image: jrcs/letsencrypt-nginx-proxy-companion
restart: always
container_name: nginx-proxy-le
volumes:
- gunicorn-socket:/var/gunicorn
- conf:/etc/nginx/conf.d
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- certs:/etc/nginx/certs:rw
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- nginx_network
depends_on:
- nginx-proxy
db: db:
restart: always restart: always
networks: networks:
- database_network - database_network
depends_on:
- letsencrypt
web: web:
restart: always restart: always
volumes: volumes:
@ -15,20 +49,9 @@ services:
environment: environment:
- ENVIRONMENT=production - ENVIRONMENT=production
- DJANGO_SETTINGS_MODULE=backend.settings.production - DJANGO_SETTINGS_MODULE=backend.settings.production
nginx: - VIRTUAL_HOST
image: nginx:1.14 - LETSENCRYPT_HOST
# build: - LETSENCRYPT_EMAIL
# context: .
# dockerfile: Dockerfile.nginx
ports:
- "80:80"
volumes:
- gunicorn-socket:/var/gunicorn
- ./config/nginx/conf.d:/etc/nginx/conf.d
networks:
- nginx_network
depends_on:
- web
networks: networks:
database_network: database_network:
driver: bridge driver: bridge
@ -36,3 +59,8 @@ networks:
driver: bridge driver: bridge
volumes: volumes:
gunicorn-socket: gunicorn-socket:
conf:
vhost:
html:
certs:

View file

@ -3,3 +3,6 @@ POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres POSTGRES_PASSWORD=postgres
POSTGRES_DB=fediverse POSTGRES_DB=fediverse
DJANGO_SETTINGS_MODULE=backend.settings.development DJANGO_SETTINGS_MODULE=backend.settings.development
VIRTUAL_HOST=api.fediverse.space
LETSENCRYPT_HOST=api.fediverse.space
LETSENCRYPT_EMAIL=my@email.com