@@ -14,14 +14,6 @@ volumes:
1414 reports-data :
1515 nginx-conf :
1616services :
17- # smtp:
18- # image: catatnight/postfix
19- # hostname: postfix
20- # environment:
21- # # You could change this to something more suitable
22- # - maildomain=kartoza.com
23- # - smtp_user=noreply:docker
24- # restart: unless-stopped
2517
2618 db :
2719 image : kartoza/postgis:16-3.4
@@ -35,12 +27,17 @@ services:
3527 restart : unless-stopped
3628 ports :
3729 - " 7543:5432"
30+ networks :
31+ internal :
3832
3933 uwsgi : &uwsgi-common
34+ image : ${UWSGI_DOCKER_IMAGE}
4035 build :
4136 context : ${PWD}/../
4237 dockerfile : deployment/docker/Dockerfile
4338 target : prod
39+ expose :
40+ - " 8080"
4441 environment :
4542 - DATABASE_NAME=${DATABASE_NAME}
4643 - DATABASE_USERNAME=${DATABASE_USERNAME}
@@ -73,6 +70,7 @@ services:
7370 - static-data:/home/web/static:rw
7471 - media-data:/home/web/media:rw
7572 - reports-data:/home/web/reports
73+ - ./docker/uwsgi.conf:/uwsgi.conf
7674 command : bash -c "npm install && npm run build && uwsgi --ini /uwsgi.conf"
7775 links :
7876 - db:db
@@ -84,6 +82,8 @@ services:
8482 options :
8583 max-size : " 10m"
8684 max-file : " 10"
85+ networks :
86+ internal :
8787
8888 dbbackups :
8989 image : kartoza/pg-backup:16-3.4
@@ -104,14 +104,25 @@ services:
104104 - POSTGRES_HOST=${DATABASE_HOST}
105105 - PGDATABASE=${DATABASE_NAME}
106106 restart : unless-stopped
107+ networks :
108+ internal :
107109
108110 # This is normally the main entry point for a production server
109111 web :
110112 image : nginx
113+ entrypoint :
114+ - /etc/nginx/sites-available/docker-entrypoint.sh
115+ ports :
116+ - " 80:80"
117+ - " 443:443"
118+ command :
119+ - ${WEB_ENV}
111120 volumes :
112- - nginx-conf:/etc/nginx/conf.d :ro
121+ - nginx-conf:/etc/nginx/sites-available/ :ro
113122 - static-data:/home/web/static:ro
114123 - media-data:/home/web/media:ro
124+ - ./webroot:/var/www/webroot
125+ - ./certbot-etc:/etc/letsencrypt
115126 links :
116127 - uwsgi:uwsgi
117128 restart : unless-stopped
@@ -120,6 +131,8 @@ services:
120131 options :
121132 max-size : " 10m"
122133 max-file : " 10"
134+ networks :
135+ internal :
123136
124137 # This is the entry point for a development server.
125138 # Run with --no-deps to run attached to the services
@@ -132,6 +145,8 @@ services:
132145 target : dev
133146 ports :
134147 - " 62202:8000"
148+ networks :
149+ internal :
135150
136151 webpack :
137152 build :
@@ -144,5 +159,21 @@ services:
144159 - ../django_project:/home/web/django_project
145160 - static-data:/home/web/static:rw
146161 - ${MEDIA_VOLUME}:/home/web/media:rw
162+ networks :
163+ internal :
164+
165+ certbot :
166+ image : certbot/certbot
167+ container_name : certbot
168+ volumes :
169+ - ./webroot:/var/www/webroot
170+ - ./certbot-etc:/etc/letsencrypt
171+ depends_on :
172+ - web
173+ command : certonly --webroot --webroot-path=/var/www/webroot --email admin@qgis.org --agree-tos --no-eff-email --force-renewal -d ${VIRTUAL_HOST:-members.qgis.org}
174+ networks :
175+ internal :
147176
148177
178+ networks :
179+ internal:
0 commit comments