mirror of
https://github.com/Ocelot-Social-Community/Ocelot-Social.git
synced 2025-12-13 07:46:06 +00:00
74 lines
2.6 KiB
Markdown
74 lines
2.6 KiB
Markdown
# Styleguide Deployment
|
|
|
|
You can use the webhook template `webhook.conf.template` and the `deploy-styleguide.sh` script in `deployment/styleguide/` for an automatic deployment from a (github) webhook.
|
|
|
|
For this to work follow these steps (using alpine):
|
|
|
|
Setup webhook service
|
|
```sh
|
|
apk add webhook
|
|
cp deployment/styleguide/hooks.json.template deployment/styleguide/hooks.json
|
|
vi deployment/styleguide/hooks.json
|
|
# adjust content of .github/webhooks/hooks.json
|
|
# replace all variables accordingly
|
|
|
|
# copy webhook service file
|
|
cp deployment/styleguide/webhook.template /etc/init.d/webhook
|
|
vi /etc/init.d/webhook
|
|
# adjust content of /etc/init.d/webhook
|
|
chmod +x /etc/init.d/webhook
|
|
|
|
service webhook start
|
|
rc-update add webhook boot
|
|
```
|
|
|
|
Setup nginx
|
|
```sh
|
|
vi /etc/nginx/http.d/default.conf
|
|
|
|
# contents of /etc/nginx/http.d/default.conf
|
|
server {
|
|
listen 80 default_server;
|
|
listen [::]:80 default_server;
|
|
|
|
root /var/www/localhost/htdocs;
|
|
|
|
# The github payload is quite big sometimes, hence those two lines can prevent an reoccurring error message on nginx
|
|
client_body_buffer_size 10M;
|
|
client_max_body_size 10M;
|
|
|
|
location / {
|
|
index index.html;
|
|
try_files $uri $uri/ /index.html;
|
|
}
|
|
|
|
location /hooks/ {
|
|
proxy_http_version 1.1;
|
|
proxy_set_header Upgrade $http_upgrade;
|
|
proxy_set_header Connection 'upgrade';
|
|
proxy_set_header X-Forwarded-For $remote_addr;
|
|
proxy_set_header X-Real-IP $remote_addr;
|
|
proxy_set_header Host $host;
|
|
|
|
proxy_pass http://127.0.0.1:9000/hooks/;
|
|
proxy_redirect off;
|
|
}
|
|
}
|
|
# contents of /etc/nginx/http.d/default.conf
|
|
|
|
service nginx reload
|
|
|
|
# delete htdocs/ folder to allow creation of symlink
|
|
rm -r /var/www/localhost/htdocs
|
|
```
|
|
|
|
For the github webhook configure the following:
|
|
|
|
| Field | Value |
|
|
|------------------------------------------------------|-----------------------------------------------|
|
|
| Payload URL | https://styleguide.ocelot.social/hooks/github |
|
|
| Content type | application/json |
|
|
| Secret | A SECRET |
|
|
| SSL verification | Enable SSL verification |
|
|
| Which events would you like to trigger this webhook? | Send me everything. |
|
|
| Active | [x] | |