diff --git a/README.md b/README.md index 2b80a7f1..b5ac7c64 100644 --- a/README.md +++ b/README.md @@ -108,7 +108,7 @@ There are two ways to run MediaCMS, through Docker Compose and through installin ## Technology -This software uses the following list of awesome technologies: Python, Django, Django Rest Framework, Celery, PostgreSQL, Redis, Nginx, uWSGI, React, Fine Uploader, video.js, FFMPEG, Bento4 +This software uses the following list of awesome technologies: Python, Django, Django Rest Framework, Celery, PostgreSQL, Redis, Nginx, Gunicorn, React, Fine Uploader, video.js, FFMPEG, Bento4 ## Who is using it diff --git a/deploy/docker/nginx_http_only.conf b/deploy/docker/nginx_http_only.conf index 44294c5f..f4a84d1c 100644 --- a/deploy/docker/nginx_http_only.conf +++ b/deploy/docker/nginx_http_only.conf @@ -28,7 +28,10 @@ server { add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; - include /etc/nginx/sites-enabled/uwsgi_params; - uwsgi_pass 127.0.0.1:9000; + proxy_pass http://127.0.0.1:9000; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; } } diff --git a/deploy/docker/prestart.sh b/deploy/docker/prestart.sh index 938dedb4..c11550fb 100755 --- a/deploy/docker/prestart.sh +++ b/deploy/docker/prestart.sh @@ -37,7 +37,6 @@ fi cp deploy/docker/nginx_http_only.conf /etc/nginx/sites-available/default cp deploy/docker/nginx_http_only.conf /etc/nginx/sites-enabled/default -cp deploy/docker/uwsgi_params /etc/nginx/sites-enabled/uwsgi_params cp deploy/docker/nginx.conf /etc/nginx/ #### Supervisord Configurations ##### @@ -45,12 +44,12 @@ cp deploy/docker/nginx.conf /etc/nginx/ cp deploy/docker/supervisord/supervisord-debian.conf /etc/supervisor/conf.d/supervisord-debian.conf if [ X"$ENABLE_UWSGI" = X"yes" ] ; then - echo "Enabling uwsgi app server" - cp deploy/docker/supervisord/supervisord-uwsgi.conf /etc/supervisor/conf.d/supervisord-uwsgi.conf + echo "Enabling gunicorn app server" + cp deploy/docker/supervisord/supervisord-gunicorn.conf /etc/supervisor/conf.d/supervisord-gunicorn.conf fi if [ X"$ENABLE_NGINX" = X"yes" ] ; then - echo "Enabling nginx as uwsgi app proxy and media server" + echo "Enabling nginx as gunicorn app proxy and media server" cp deploy/docker/supervisord/supervisord-nginx.conf /etc/supervisor/conf.d/supervisord-nginx.conf fi diff --git a/deploy/docker/start.sh b/deploy/docker/start.sh index c07707f6..7f372100 100755 --- a/deploy/docker/start.sh +++ b/deploy/docker/start.sh @@ -11,7 +11,7 @@ else echo "There is no script $PRE_START_PATH" fi -# Start Supervisor, with Nginx and uWSGI +# Start Supervisor, with Nginx and Gunicorn echo "Starting server using supervisord..." exec /usr/bin/supervisord diff --git a/deploy/docker/supervisord/supervisord-gunicorn.conf b/deploy/docker/supervisord/supervisord-gunicorn.conf new file mode 100644 index 00000000..e531d9e4 --- /dev/null +++ b/deploy/docker/supervisord/supervisord-gunicorn.conf @@ -0,0 +1,9 @@ +[program:gunicorn] +command=/home/mediacms.io/bin/gunicorn cms.wsgi:application --workers=2 --threads=2 --worker-class=gthread --bind=127.0.0.1:9000 --user=www-data --group=www-data --timeout=120 --keep-alive=5 --max-requests=1000 --max-requests-jitter=50 --access-logfile=- --error-logfile=- --log-level=info --chdir=/home/mediacms.io/mediacms +stdout_logfile=/dev/stdout +stdout_logfile_maxbytes=0 +stderr_logfile=/dev/stderr +stderr_logfile_maxbytes=0 +priority=100 +startinorder=true +startsecs=0 diff --git a/deploy/docker/supervisord/supervisord-uwsgi.conf b/deploy/docker/supervisord/supervisord-uwsgi.conf deleted file mode 100644 index 210f2282..00000000 --- a/deploy/docker/supervisord/supervisord-uwsgi.conf +++ /dev/null @@ -1,9 +0,0 @@ -[program:uwsgi] -command=/home/mediacms.io/bin/uwsgi --ini /home/mediacms.io/mediacms/deploy/docker/uwsgi.ini -stdout_logfile=/dev/stdout -stdout_logfile_maxbytes=0 -stderr_logfile=/dev/stderr -stderr_logfile_maxbytes=0 -priority=100 -startinorder=true -startsecs=0 diff --git a/deploy/docker/uwsgi.ini b/deploy/docker/uwsgi.ini deleted file mode 100644 index af7f103d..00000000 --- a/deploy/docker/uwsgi.ini +++ /dev/null @@ -1,24 +0,0 @@ -[uwsgi] - -chdir = /home/mediacms.io/mediacms/ -virtualenv = /home/mediacms.io -module = cms.wsgi - -uid=www-data -gid=www-data - -processes = 2 -threads = 2 - -master = true - -socket = 127.0.0.1:9000 - -workers = 2 - -vacuum = true - -hook-master-start = unix_signal:15 gracefully_kill_them_all -need-app = true -die-on-term = true -buffer-size=32768 diff --git a/deploy/docker/uwsgi_params b/deploy/docker/uwsgi_params deleted file mode 100644 index 5abf809b..00000000 --- a/deploy/docker/uwsgi_params +++ /dev/null @@ -1,16 +0,0 @@ -uwsgi_param QUERY_STRING $query_string; -uwsgi_param REQUEST_METHOD $request_method; -uwsgi_param CONTENT_TYPE $content_type; -uwsgi_param CONTENT_LENGTH $content_length; - -uwsgi_param REQUEST_URI $request_uri; -uwsgi_param PATH_INFO $document_uri; -uwsgi_param DOCUMENT_ROOT $document_root; -uwsgi_param SERVER_PROTOCOL $server_protocol; -uwsgi_param REQUEST_SCHEME $scheme; -uwsgi_param HTTPS $https if_not_empty; - -uwsgi_param REMOTE_ADDR $remote_addr; -uwsgi_param REMOTE_PORT $remote_port; -uwsgi_param SERVER_PORT $server_port; -uwsgi_param SERVER_NAME $server_name; diff --git a/deploy/local_install/celery_beat.service b/deploy/local_install/celery_beat.service deleted file mode 100644 index be1065b8..00000000 --- a/deploy/local_install/celery_beat.service +++ /dev/null @@ -1,22 +0,0 @@ -[Unit] -Description=MediaCMS celery beat -After=network.target - -[Service] -Type=simple -User=www-data -Group=www-data -Restart=always -RestartSec=10 -WorkingDirectory=/home/mediacms.io/mediacms -Environment=CELERY_BIN="/home/mediacms.io/bin/celery" -Environment=CELERYD_PID_FILE="/home/mediacms.io/mediacms/pids/beat%n.pid" -Environment=CELERYD_LOG_FILE="/home/mediacms.io/mediacms/logs/beat%N.log" -Environment=CELERYD_LOG_LEVEL="INFO" - -ExecStart=/bin/sh -c '${CELERY_BIN} -A cms beat --pidfile=${CELERYD_PID_FILE} --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL}' -ExecStop=/bin/kill -s TERM $MAINPID - -[Install] -WantedBy=multi-user.target - diff --git a/deploy/local_install/celery_long.service b/deploy/local_install/celery_long.service deleted file mode 100644 index c5c9cf4f..00000000 --- a/deploy/local_install/celery_long.service +++ /dev/null @@ -1,29 +0,0 @@ -[Unit] -Description=MediaCMS celery long queue -After=network.target - -[Service] -Type=forking -User=www-data -Group=www-data -Restart=always -RestartSec=10 -WorkingDirectory=/home/mediacms.io/mediacms -Environment=CELERYD_NODES="long1" -Environment=CELERY_QUEUE="long_tasks" -Environment=CELERY_BIN="/home/mediacms.io/bin/celery" -Environment=CELERYD_MULTI="multi" -Environment=CELERYD_OPTS="-Ofair --prefetch-multiplier=1" -Environment=CELERYD_PID_FILE="/home/mediacms.io/mediacms/pids/%n.pid" -Environment=CELERYD_LOG_FILE="/home/mediacms.io/mediacms/logs/%N.log" -Environment=CELERYD_LOG_LEVEL="INFO" - -ExecStart=/bin/sh -c '${CELERY_BIN} -A cms multi start ${CELERYD_NODES} --pidfile=${CELERYD_PID_FILE} --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS} -Q ${CELERY_QUEUE}' - -ExecStop=/bin/sh -c '${CELERY_BIN} -A cms multi stopwait ${CELERYD_NODES} --pidfile=${CELERYD_PID_FILE}' - -ExecReload=/bin/sh -c '${CELERY_BIN} -A cms multi restart ${CELERYD_NODES} --pidfile=${CELERYD_PID_FILE} --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS} -Q ${CELERY_QUEUE}' - -[Install] -WantedBy=multi-user.target - diff --git a/deploy/local_install/celery_short.service b/deploy/local_install/celery_short.service deleted file mode 100644 index c46d0090..00000000 --- a/deploy/local_install/celery_short.service +++ /dev/null @@ -1,39 +0,0 @@ -[Unit] -Description=MediaCMS celery short queue -After=network.target - -[Service] -Type=forking -User=www-data -Group=www-data -Restart=always -RestartSec=10 -WorkingDirectory=/home/mediacms.io/mediacms -Environment=CELERYD_NODES="short1 short2" -Environment=CELERY_QUEUE="short_tasks" -# Absolute or relative path to the 'celery' command: -Environment=CELERY_BIN="/home/mediacms.io/bin/celery" -# App instance to use -# comment out this line if you don't use an app -# or fully qualified: -#CELERY_APP="proj.tasks:app" -# How to call manage.py -Environment=CELERYD_MULTI="multi" -# Extra command-line arguments to the worker -Environment=CELERYD_OPTS="--soft-time-limit=300 -c10" -# - %n will be replaced with the first part of the nodename. -# - %I will be replaced with the current child process index -# and is important when using the prefork pool to avoid race conditions. -Environment=CELERYD_PID_FILE="/home/mediacms.io/mediacms/pids/%n.pid" -Environment=CELERYD_LOG_FILE="/home/mediacms.io/mediacms/logs/%N.log" -Environment=CELERYD_LOG_LEVEL="INFO" - -ExecStart=/bin/sh -c '${CELERY_BIN} -A cms multi start ${CELERYD_NODES} --pidfile=${CELERYD_PID_FILE} --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS} -Q ${CELERY_QUEUE}' - -ExecStop=/bin/sh -c '${CELERY_BIN} -A cms multi stopwait ${CELERYD_NODES} --pidfile=${CELERYD_PID_FILE}' - -ExecReload=/bin/sh -c '${CELERY_BIN} -A cms multi restart ${CELERYD_NODES} --pidfile=${CELERYD_PID_FILE} --logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS} -Q ${CELERY_QUEUE}' - -[Install] -WantedBy=multi-user.target - diff --git a/deploy/local_install/dhparams.pem b/deploy/local_install/dhparams.pem deleted file mode 100644 index 5545ca9c..00000000 --- a/deploy/local_install/dhparams.pem +++ /dev/null @@ -1,13 +0,0 @@ ------BEGIN DH PARAMETERS----- -MIICCAKCAgEAo3MMiEY/fNbu+usIM0cDi6x8G3JBApv0Lswta4kiyedWT1WN51iQ -9zhOFpmcu6517f/fR9MUdyhVKHxxSqWQTcmTEFtz4P3VLTS/W1N5VbKE2VEMLpIi -wr350aGvV1Er0ujcp5n4O4h0I1tn4/fNyDe7+pHCdwM+hxe8hJ3T0/tKtad4fnIs -WHDjl4f7m7KuFfheiK7Efb8MsT64HDDAYXn+INjtDZrbE5XPw20BqyWkrf07FcPx -8o9GW50Ox7/FYq7jVMI/skEu0BRc8u6uUD9+UOuWUQpdeHeFcvLOgW53Z03XwWuX -RXosUKzBPuGtUDAaKD/HsGW6xmGr2W9yRmu27jKpfYLUb/eWbbnRJwCw04LdzPqv -jmtq02Gioo3lf5H5wYV9IYF6M8+q/slpbttsAcKERimD1273FBRt5VhSugkXWKjr -XDhoXu6vZgj8Opei38qPa8pI1RUFoXHFlCe6WpZQmU8efL8gAMrJr9jUIY8eea1n -u20t5B9ueb9JMjrNafcq6QkKhZLi6fRDDTUyeDvc0dN9R/3Yts97SXfdi1/lX7HS -Ht4zXd5hEkvjo8GcnjsfZpAC39QfHWkDaeUGEqsl3jXjVMfkvoVY51OuokPWZzrJ -M5+wyXNpfGbH67dPk7iHgN7VJvgX0SYscDPTtms50Vk7RwEzLeGuSHMCAQI= ------END DH PARAMETERS----- \ No newline at end of file diff --git a/deploy/local_install/mediacms.io b/deploy/local_install/mediacms.io deleted file mode 100644 index 10aa6ef6..00000000 --- a/deploy/local_install/mediacms.io +++ /dev/null @@ -1,84 +0,0 @@ -server { - listen 80 ; - server_name localhost; - - gzip on; - access_log /var/log/nginx/mediacms.io.access.log; - - error_log /var/log/nginx/mediacms.io.error.log warn; - -# # redirect to https if logged in -# if ($http_cookie ~* "sessionid") { -# rewrite ^/(.*)$ https://localhost/$1 permanent; -# } - -# # redirect basic forms to https -# location ~ (login|login_form|register|mail_password_form)$ { -# rewrite ^/(.*)$ https://localhost/$1 permanent; -# } - - location /static { - alias /home/mediacms.io/mediacms/static ; - } - - location /media/original { - alias /home/mediacms.io/mediacms/media_files/original; - } - - location /media { - alias /home/mediacms.io/mediacms/media_files ; - } - - location / { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; - add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; - add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; - - include /etc/nginx/sites-enabled/uwsgi_params; - uwsgi_pass 127.0.0.1:9000; - } -} - -server { - listen 443 ssl; - server_name localhost; - - ssl_certificate_key /etc/letsencrypt/live/localhost/privkey.pem; - ssl_certificate /etc/letsencrypt/live/localhost/fullchain.pem; - ssl_dhparam /etc/nginx/dhparams/dhparams.pem; - - ssl_protocols TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE - ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; - ssl_ecdh_curve secp521r1:secp384r1; - ssl_prefer_server_ciphers on; - - gzip on; - access_log /var/log/nginx/mediacms.io.access.log; - - error_log /var/log/nginx/mediacms.io.error.log warn; - - location /static { - alias /home/mediacms.io/mediacms/static ; - } - - location /media/original { - alias /home/mediacms.io/mediacms/media_files/original; - #auth_basic "auth protected area"; - #auth_basic_user_file /home/mediacms.io/mediacms/deploy/local_install/.htpasswd; - } - - location /media { - alias /home/mediacms.io/mediacms/media_files ; - } - - location / { - add_header 'Access-Control-Allow-Origin' '*'; - add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; - add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; - add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range'; - - include /etc/nginx/sites-enabled/uwsgi_params; - uwsgi_pass 127.0.0.1:9000; - } -} diff --git a/deploy/local_install/mediacms.io_fullchain.pem b/deploy/local_install/mediacms.io_fullchain.pem deleted file mode 100644 index 551ca6c4..00000000 --- a/deploy/local_install/mediacms.io_fullchain.pem +++ /dev/null @@ -1,58 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFTjCCBDagAwIBAgISBNOUeDlerH9MkKmHLvZJeMYgMA0GCSqGSIb3DQEBCwUA -MEoxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MSMwIQYDVQQD -ExpMZXQncyBFbmNyeXB0IEF1dGhvcml0eSBYMzAeFw0yMDAzMTAxNzUxNDFaFw0y -MDA2MDgxNzUxNDFaMBYxFDASBgNVBAMTC21lZGlhY21zLmlvMIIBIjANBgkqhkiG -9w0BAQEFAAOCAQ8AMIIBCgKCAQEAps5Jn18nW2tq/LYFDgQ1YZGLlpF/B2AAPvvH -3yuD+AcT4skKdZouVL/a5pXrptuYL5lthO9dlcja2tuO2ltYrb7Dp01dAIFaJE8O -DKd+Sv5wr8VWQZykqzMiMBgviml7TBvUHQjvCJg8UwmnN0XSUILCttd6u4qOzS7d -lKMMsKpYzLhElBT0rzhhsWulDiy6aAZbMV95bfR74nIWsBJacy6jx3jvxAuvCtkB -OVdOoVL6BPjDE3SNEk53bAZGIb5A9ri0O5jh/zBFT6tQSjUhAUTkmv9oZP547RnV -fDj+rdvCVk/fE+Jno36mcT183Qd/Ty3fWuqFoM5g/luhnfvWEwIDAQABo4ICYDCC -AlwwDgYDVR0PAQH/BAQDAgWgMB0GA1UdJQQWMBQGCCsGAQUFBwMBBggrBgEFBQcD -AjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQWBBTd5EZBt74zu5XxT1uXQs6oM8qOuDAf -BgNVHSMEGDAWgBSoSmpjBH3duubRObemRWXv86jsoTBvBggrBgEFBQcBAQRjMGEw -LgYIKwYBBQUHMAGGImh0dHA6Ly9vY3NwLmludC14My5sZXRzZW5jcnlwdC5vcmcw -LwYIKwYBBQUHMAKGI2h0dHA6Ly9jZXJ0LmludC14My5sZXRzZW5jcnlwdC5vcmcv -MBYGA1UdEQQPMA2CC21lZGlhY21zLmlvMEwGA1UdIARFMEMwCAYGZ4EMAQIBMDcG -CysGAQQBgt8TAQEBMCgwJgYIKwYBBQUHAgEWGmh0dHA6Ly9jcHMubGV0c2VuY3J5 -cHQub3JnMIIBBAYKKwYBBAHWeQIEAgSB9QSB8gDwAHYAXqdz+d9WwOe1Nkh90Eng -MnqRmgyEoRIShBh1loFxRVgAAAFwxcnL+AAABAMARzBFAiAb3yeBuW3j9MxcRc0T -icUBvEa/rH7Fv2eB0oQlnZ1exQIhAPf+CtTXmzxoeT/BBiivj4AmGDsq4xWhe/U6 -BytYrKLeAHYAB7dcG+V9aP/xsMYdIxXHuuZXfFeUt2ruvGE6GmnTohwAAAFwxcnM -HAAABAMARzBFAiAuP5gKyyaT0LVXxwjYD9zhezvxf4Icx0P9pk75c5ao+AIhAK0+ -fSJv+WTXciMT6gA1sk/tuCHuDFAuexSA/6TcRXcVMA0GCSqGSIb3DQEBCwUAA4IB -AQCPCYBU4Q/ro2MUkjDPKGmeqdxQycS4R9WvKTG/nmoahKNg30bnLaDPUcpyMU2k -sPDemdZ7uTGLZ3ZrlIva8DbrnJmrTPf9BMwaM6j+ZV/QhxvKZVIWkLkZrwiVI57X -Ba+rs5IEB4oWJ0EBaeIrzeKG5zLMkRcIdE4Hlhuwu3zGG56c+wmAPuvpIDlYoO6o -W22xRdxoTIHBvkzwonpVYUaRcaIw+48xnllxh1dHO+X69DT45wlF4tKveOUi+L50 -4GWJ8Vjv7Fot/WNHEM4Mnmw0jHj9TPkIZKnPNRMdHmJ5CF/FJFDiptOeuzbfohG+ -mdvuInb8JDc0XBE99Gf/S4/y ------END CERTIFICATE----- ------BEGIN CERTIFICATE----- -MIIEkjCCA3qgAwIBAgIQCgFBQgAAAVOFc2oLheynCDANBgkqhkiG9w0BAQsFADA/ -MSQwIgYDVQQKExtEaWdpdGFsIFNpZ25hdHVyZSBUcnVzdCBDby4xFzAVBgNVBAMT -DkRTVCBSb290IENBIFgzMB4XDTE2MDMxNzE2NDA0NloXDTIxMDMxNzE2NDA0Nlow -SjELMAkGA1UEBhMCVVMxFjAUBgNVBAoTDUxldCdzIEVuY3J5cHQxIzAhBgNVBAMT -GkxldCdzIEVuY3J5cHQgQXV0aG9yaXR5IFgzMIIBIjANBgkqhkiG9w0BAQEFAAOC -AQ8AMIIBCgKCAQEAnNMM8FrlLke3cl03g7NoYzDq1zUmGSXhvb418XCSL7e4S0EF -q6meNQhY7LEqxGiHC6PjdeTm86dicbp5gWAf15Gan/PQeGdxyGkOlZHP/uaZ6WA8 -SMx+yk13EiSdRxta67nsHjcAHJyse6cF6s5K671B5TaYucv9bTyWaN8jKkKQDIZ0 -Z8h/pZq4UmEUEz9l6YKHy9v6Dlb2honzhT+Xhq+w3Brvaw2VFn3EK6BlspkENnWA -a6xK8xuQSXgvopZPKiAlKQTGdMDQMc2PMTiVFrqoM7hD8bEfwzB/onkxEz0tNvjj -/PIzark5McWvxI0NHWQWM6r6hCm21AvA2H3DkwIDAQABo4IBfTCCAXkwEgYDVR0T -AQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwfwYIKwYBBQUHAQEEczBxMDIG -CCsGAQUFBzABhiZodHRwOi8vaXNyZy50cnVzdGlkLm9jc3AuaWRlbnRydXN0LmNv -bTA7BggrBgEFBQcwAoYvaHR0cDovL2FwcHMuaWRlbnRydXN0LmNvbS9yb290cy9k -c3Ryb290Y2F4My5wN2MwHwYDVR0jBBgwFoAUxKexpHsscfrb4UuQdf/EFWCFiRAw -VAYDVR0gBE0wSzAIBgZngQwBAgEwPwYLKwYBBAGC3xMBAQEwMDAuBggrBgEFBQcC -ARYiaHR0cDovL2Nwcy5yb290LXgxLmxldHNlbmNyeXB0Lm9yZzA8BgNVHR8ENTAz -MDGgL6AthitodHRwOi8vY3JsLmlkZW50cnVzdC5jb20vRFNUUk9PVENBWDNDUkwu -Y3JsMB0GA1UdDgQWBBSoSmpjBH3duubRObemRWXv86jsoTANBgkqhkiG9w0BAQsF -AAOCAQEA3TPXEfNjWDjdGBX7CVW+dla5cEilaUcne8IkCJLxWh9KEik3JHRRHGJo -uM2VcGfl96S8TihRzZvoroed6ti6WqEBmtzw3Wodatg+VyOeph4EYpr/1wXKtx8/ -wApIvJSwtmVi4MFU5aMqrSDE6ea73Mj2tcMyo5jMd6jmeWUHK8so/joWUoHOUgwu -X4Po1QYz+3dszkDqMp4fklxBwXRsW10KXzPMTZ+sOPAveyxindmjkW8lGy+QsRlG -PfZ+G6Z6h7mjem0Y+iWlkYcV4PIWL1iwBi8saCbGS5jN2p8M+X+Q7UNKEkROb3N6 -KOqkqm57TH2H3eDJAkSnh6/DNFu0Qg== ------END CERTIFICATE----- diff --git a/deploy/local_install/mediacms.io_privkey.pem b/deploy/local_install/mediacms.io_privkey.pem deleted file mode 100644 index d366f09b..00000000 --- a/deploy/local_install/mediacms.io_privkey.pem +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCmzkmfXydba2r8 -tgUOBDVhkYuWkX8HYAA++8ffK4P4BxPiyQp1mi5Uv9rmleum25gvmW2E712VyNra -247aW1itvsOnTV0AgVokTw4Mp35K/nCvxVZBnKSrMyIwGC+KaXtMG9QdCO8ImDxT -Cac3RdJQgsK213q7io7NLt2UowywqljMuESUFPSvOGGxa6UOLLpoBlsxX3lt9Hvi -chawElpzLqPHeO/EC68K2QE5V06hUvoE+MMTdI0STndsBkYhvkD2uLQ7mOH/MEVP -q1BKNSEBROSa/2hk/njtGdV8OP6t28JWT98T4mejfqZxPXzdB39PLd9a6oWgzmD+ -W6Gd+9YTAgMBAAECggEADnEJuryYQbf5GUwBAAepP3tEZJLQNqk/HDTcRxwTXuPt -+tKBD1F79WZu40vTjSyx7l0QOFQo/BDZsd0Ubx89fD1p3xA5nxOT5FTb2IifzIpe -4zjokOGo+BGDQjq10vvy6tH1+VWOrGXRwzawvX5UCRhpFz9sptQGLQmDsZy0Oo9B -LtavYVUqsbyqRWlzaclHgbythegIACWkqcalOzOtx+l6TGBRjej+c7URcwYBfr7t -XTAzbP+vnpaJovZyZT1eekr0OLzMpnjx4HvRvzL+NxauRpn6KfabsTfZlk8nrs4I -UdSjeukj1Iz8rGQilHdN/4dVJ3KzrlHVkVTBSjmMUQKBgQDaVXZnhAScfdiKeZbO -rdUAWcnwfkDghtRuAmzHaRM/FhFBEoVhdSbBuu+OUyBnIw/Ra4o2ePuEBcKIUiQO -w2tnE1CY5PPAcjw+OCSpvzy5xxjaqaRbm9BJp3FTeEYGLXERnchPpHg/NpexuF22 -QOJ+FrysPyNMxuQp47ZwO9WT3QKBgQDDlSGjq/eeWxemwf7ZqMVlRyqsdJsgnCew -DkC62IGiYCBDfeEmndN+vcA/uzJHYV4iXiqS3aYJCWGaZFMhdIhIn5MgULvO1j5G -u/MxuzaaNPz22FlNCWTLBw4T1HOOvyTL+nLtZDKJ/BHxgHCmur1kiGvvZWrcCthD -afLEmseqrwKBgBuLZKCymxJTHhp6NHhmndSpfzyD8RNibzJhw+90ZiUzV4HqIEGn -Ufhm6Qn/mrroRXqaIpm0saZ6Q4yHMF1cchRS73wahlXlE4yV8KopojOd1pjfhgi4 -o5JnOXjaV5s36GfcjATgLvtqm8CkDc6MaQaXP75LSNzKysYuIDoQkmVRAoGAAghF -rja2Pv4BU+lGJarcSj4gEmSvy/nza5/qSka/qhlHnIvtUAJp1TJRkhf24MkBOmgy -Fw6YkBV53ynVt05HsEGAPOC54t9VDFUdpNGmMpoEWuhKnUNQuc9b9RbLEJup3TjA -Avl8kPR+lzzXbtQX7biBLp6mKp0uPB0YubRGCN8CgYA0JMxK0x38Q2x3AQVhOmZh -YubtIa0JqVJhvpweOCFnkq3ebBpLsWYwiLTn86vuD0jupe5M3sxtefjkJmAKd8xY -aBU7QWhjh1fX4mzmggnbjcrIFbkIHsxwMeg567U/4AGxOOUsv9QUn37mqycqRKEn -YfUyYNLM6F3MmQAOs2kaHw== ------END PRIVATE KEY----- diff --git a/deploy/local_install/mediacms.service b/deploy/local_install/mediacms.service deleted file mode 100644 index 3a1d8236..00000000 --- a/deploy/local_install/mediacms.service +++ /dev/null @@ -1,13 +0,0 @@ -[Unit] -Description=MediaCMS uwsgi - -[Service] -ExecStart=/home/mediacms.io/bin/uwsgi --ini /home/mediacms.io/mediacms/deploy/local_install/uwsgi.ini -ExecStop=/usr/bin/killall -9 uwsgi -RestartSec=3 -#ExecRestart=killall -9 uwsgi; sleep 5; /home/sss/bin/uwsgi --ini /home/sss/wordgames/uwsgi.ini -Restart=always - - -[Install] -WantedBy=multi-user.target diff --git a/deploy/local_install/mediacms_logrorate b/deploy/local_install/mediacms_logrorate deleted file mode 100644 index c4fc3c6b..00000000 --- a/deploy/local_install/mediacms_logrorate +++ /dev/null @@ -1,7 +0,0 @@ -/home/mediacms.io/mediacms/logs/*.log { - weekly - missingok - rotate 7 - compress - notifempty -} diff --git a/deploy/local_install/nginx.conf b/deploy/local_install/nginx.conf deleted file mode 100644 index c13f6772..00000000 --- a/deploy/local_install/nginx.conf +++ /dev/null @@ -1,38 +0,0 @@ -user www-data; -worker_processes auto; -pid /run/nginx.pid; - -events { - worker_connections 10240; -} - - worker_rlimit_nofile 20000; #each connection needs a filehandle (or 2 if you are proxying) -http { - proxy_connect_timeout 75; - proxy_read_timeout 12000; - client_max_body_size 5800M; - sendfile on; - tcp_nopush on; - tcp_nodelay on; - keepalive_timeout 10; - types_hash_max_size 2048; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log; - - gzip on; - gzip_disable "msie6"; - - log_format compression '$remote_addr - $remote_user [$time_local] ' - '"$request" $status $body_bytes_sent ' - '"$http_referer" "$http_user_agent" "$gzip_ratio"'; - - gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; - - include /etc/nginx/conf.d/*.conf; - include /etc/nginx/sites-enabled/*; -} - diff --git a/deploy/local_install/selinux-mediacms.te b/deploy/local_install/selinux-mediacms.te deleted file mode 100644 index 66f40b88..00000000 --- a/deploy/local_install/selinux-mediacms.te +++ /dev/null @@ -1,34 +0,0 @@ -module selinux-mediacms 1.0; - -require { - type init_t; - type var_t; - type redis_port_t; - type postgresql_port_t; - type httpd_t; - type httpd_sys_content_t; - type httpd_sys_rw_content_t; - class file { append create execute execute_no_trans getattr ioctl lock open read rename setattr unlink write }; - class dir { add_name remove_name rmdir }; - class tcp_socket name_connect; - class lnk_file read; -} - -#============= httpd_t ============== - -allow httpd_t var_t:file { getattr open read }; - -#============= init_t ============== -allow init_t postgresql_port_t:tcp_socket name_connect; - -allow init_t redis_port_t:tcp_socket name_connect; - -allow init_t httpd_sys_content_t:dir rmdir; - -allow init_t httpd_sys_content_t:file { append create execute execute_no_trans ioctl lock open read rename setattr unlink write }; - -allow init_t httpd_sys_content_t:lnk_file read; - -allow init_t httpd_sys_rw_content_t:dir { add_name remove_name rmdir }; - -allow init_t httpd_sys_rw_content_t:file { create ioctl lock open read setattr unlink write }; diff --git a/deploy/local_install/uwsgi.ini b/deploy/local_install/uwsgi.ini deleted file mode 100644 index 7889003e..00000000 --- a/deploy/local_install/uwsgi.ini +++ /dev/null @@ -1,27 +0,0 @@ -[uwsgi] - -chdir = /home/mediacms.io/mediacms/ -virtualenv = /home/mediacms.io -module = cms.wsgi - -uid=www-data -gid=www-data - -processes = 2 -threads = 2 - -master = true - -socket = 127.0.0.1:9000 -#socket = /home/mediacms.io/mediacms/deploy/uwsgi.sock - - -workers = 2 - - -vacuum = true - -logto = /home/mediacms.io/mediacms/logs/errorlog.txt - -disable-logging = true -buffer-size=32768 diff --git a/deploy/local_install/uwsgi_params b/deploy/local_install/uwsgi_params deleted file mode 100644 index 5abf809b..00000000 --- a/deploy/local_install/uwsgi_params +++ /dev/null @@ -1,16 +0,0 @@ -uwsgi_param QUERY_STRING $query_string; -uwsgi_param REQUEST_METHOD $request_method; -uwsgi_param CONTENT_TYPE $content_type; -uwsgi_param CONTENT_LENGTH $content_length; - -uwsgi_param REQUEST_URI $request_uri; -uwsgi_param PATH_INFO $document_uri; -uwsgi_param DOCUMENT_ROOT $document_root; -uwsgi_param SERVER_PROTOCOL $server_protocol; -uwsgi_param REQUEST_SCHEME $scheme; -uwsgi_param HTTPS $https if_not_empty; - -uwsgi_param REMOTE_ADDR $remote_addr; -uwsgi_param REMOTE_PORT $remote_port; -uwsgi_param SERVER_PORT $server_port; -uwsgi_param SERVER_NAME $server_name; diff --git a/docs/dev_exp.md b/docs/dev_exp.md index 9caa4d02..926f72c5 100644 --- a/docs/dev_exp.md +++ b/docs/dev_exp.md @@ -23,7 +23,7 @@ and will start all services required for MediaCMS, as Celery/Redis for asynchron For Django, the changes from the image produced by docker-compose.yaml are these: * Django runs in debug mode, with `python manage.py runserver` -* uwsgi and nginx are not run +* gunicorn and nginx are not run * Django runs in Debug mode, with Debug Toolbar * Static files (js/css) are loaded from static/ folder * corsheaders is installed and configured to allow all origins diff --git a/requirements.txt b/requirements.txt index 5757d976..7e70d178 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ django-allauth==65.4.1 PyLTI1p3==2.0.0 cryptography>=41.0.0 psycopg[binary,pool]==3.2.4 -uwsgi==2.0.31 +gunicorn==23.0.0 django-redis==5.4.0 celery==5.4.0 drf-yasg==1.21.8