From 95b249b253ec58806a9d0530a80052a9b045639d Mon Sep 17 00:00:00 2001 From: bach Date: Wed, 19 Mar 2025 15:56:20 +0100 Subject: [PATCH] celery --- Readme.md | 104 +++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 83 insertions(+), 21 deletions(-) diff --git a/Readme.md b/Readme.md index f0fb473..dd67a5d 100644 --- a/Readme.md +++ b/Readme.md @@ -85,6 +85,7 @@ REDIS_HOST="127.0.0.1" EMAIL_URL="smtp://glitchtip@yourdomain.net" DEFAULT_FROM_EMAIL="glitchtip@yourdomain.net" GLITCHTIP_DOMAIN="http://your.domain.tld" +IS_CELERY="TRUE" DEBUG="TRUE" ``` @@ -92,6 +93,8 @@ DEBUG="TRUE" #### migrate db ```shell +cd /opt/glitchtip/glitchtip-backend +source .venv/bin/activate export $(cat .env | xargs) ./manage.py migrate ``` @@ -103,6 +106,14 @@ mkdir /opt/glitchtip/glitchtip-backend/{static,media} ./manage.py collectstatic ``` +#### super user +```shell +cd /opt/glitchtip/glitchtip-backend +source .venv/bin/activate +export $(cat .env | xargs) +./manage.py createsuperuser --email "${DEFAULT_FROM_EMAIL}" +``` + ### services #### gunicorn @@ -195,47 +206,48 @@ server { server { listen [::]:443 ssl http2; listen 443 ssl http2; - server_name your.domain.tld; - access_log /var/log/nginx/your.domain.tld.access.log; - error_log /var/log/nginx/your.domain.tld.error.log; + server_name frontlog.figli.io; + access_log /var/log/nginx/frontlog.figli.io.access.log; + error_log /var/log/nginx/frontlog.figli.io.error.log; - ssl_certificate /etc/letsencrypt/live/your.domain.tld/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/your.domain.tld/privkey.pem; - ssl_dhparam /etc/nginx/ssl/certs/your.domain.tld/dhparam.pem; + ssl_certificate /etc/letsencrypt/live/frontlog.figli.io/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/frontlog.figli.io/privkey.pem; + ssl_dhparam /etc/nginx/ssl/certs/frontlog.figli.io/dhparam.pem; add_header Strict-Transport-Security max-age=15768000; + root /opt/glitchtip/glitchtip-backend/static/; + index index.html; + + location / { + #alias /opt/glitchtip/glitchtip-backend/static/; + try_files $uri $uri/ /index.html; + expires 1h; + add_header Pragma public; + add_header Cache-Control "public"; + } + location ~ /\.git { deny all; } - location / { - alias /opt/glitchtip/glitchtip-backend/static/browser/; - try_files $uri $uri/index.html /index.html; - expires 1h; - add_header Pragma public; - add_header Cache-Control "public"; + location /static/ { + root /opt/glitchtip/glitchtip-backend/; } + location /media/ { - alias /opt/glitchtip/glitchtip-backend/media/; + alias /opt/glitchtip/glitchtip-backend/media/; } location ~ ^/(api|admin|_health|rest-auth)/ { proxy_pass http://unix:/opt/glitchtip/runtime/socket; - proxy_redirect off; + #proxy_redirect off; 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; } - #location / { - # proxy_pass http://unix:/opt/glitchtip/runtime/socket; - # 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; - #} } @@ -249,6 +261,56 @@ systemctl restart nginx ## Celery +```shell +vim /etc/systemd/system/glitchtip-celery-beat.service +``` +```ini +[Unit] +Description=glitchtip celery beat +After=network.target + +[Service] +EnvironmentFile=/opt/glitchtip/glitchtip-backend/.env +User=glitchtip +Group=glitchtip +RuntimeDirectory=glitchtip +WorkingDirectory=/opt/glitchtip/glitchtip-backend +ExecStart=/opt/glitchtip/glitchtip-backend/.venv/bin/celery --app "glitchtip" beat --loglevel info --pidfile=/opt/glitchtip/runtime/celery-beat.pid --logfile=/opt/glitchtip/celery-beat.log --schedule /opt/glitchtip/celerybeat-schedule + +PrivateTmp=true +Restart=always + +[Install] +WantedBy=multi-user.target +``` +```shell +vim /etc/systemd/system/glitchtip-celery-worker.service +``` +```ini +[Unit] +Description=glitchtip celery worker +After=network.target + +[Service] +EnvironmentFile=/opt/glitchtip/glitchtip-backend/.env +User=glitchtip +Group=glitchtip +RuntimeDirectory=glitchtip +WorkingDirectory=/opt/glitchtip/glitchtip-backend +ExecStart=/opt/glitchtip/glitchtip-backend/.venv/bin/celery --app "glitchtip" worker --loglevel info --pidfile=/opt/glitchtip/runtime/celery-worker.pid --logfile=/opt/glitchtip/celery-worker.log +PrivateTmp=true +Restart=always + +[Install] +WantedBy=multi-user.target +``` + +```shell +systemctl daemon-reload +systemctl enable glitchtip-celery-beat glitchtip-celery-worker +systemctl start glitchtip-celery-beat glitchtip-celery-worker +``` + ## sources - https://glitchtip.com/documentation/install#installing-without-docker