Installation of Snac2 on Artix Linux
2026-05-20
Installation of snac2 on Artix Linux +Nginx +Dinit
useradd -m -s /bin/bash snac passwd snac usermod -aG wheel snac su - snac mkdir src cd src git clone https://codeberg.org/grunfink/snac2.git cd snac2 make sudo make install snac init ~/data
snac init will ask these questions:
Host name: your.server.domain
Path prefix: leave empty
Network address: 127.0.0.1
Port: 8001
add user
snac adduser ~/data
In /home/snac/data/server.json edit these settings:
admin_email
admin_account
title
short_description
and add this line:
"proxy_media: true
As root, create the dinit script: /etc/dinit.d/snac2
type = process
run-as = snac
command = /usr/local/bin/snac httpd /home/snac/data
depends-on = NetworkManager
restart = true
smooth-recovery = yes
log-type = file
logfile = /var/log/dinit/snac2.log
enable snac2
dinitcl enable snac2
NGINX Media caching
Nginx configuration
see comam.es.
Use $host not $http_host (gixy)
in /etc/nginx/nginx.conf http section add:
proxy_cache_path /var/cache/nginx/snac_cache levels=1:2 keys_zone=snac:10m max_size=1g inactive=1440m use_temp_path=off;
make cache folder
mkdir -p /var/cache/nginx/snac_cache
/etc/nginx/sites-available/example.com
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/example.com/privkey.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers HIGH:!aNULL:!MD5;
# openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
ssl_dhparam /etc/ssl/certs/dhparam.pem;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
location / {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
}
location ~ ^/.+/s/ {
proxy_cache snac;
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_cache_valid 200 1d;
proxy_cache_valid 404 1h;
proxy_ignore_headers "Cache-Control" "Expires";
proxy_cache_use_stale error timeout updating http_500 http_502 http_503 http_504;
proxy_cache_lock on;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
add_header X-Proxy-Cache $upstream_cache_status;
}
}
server {
listen 80;
listen [::]:80;
server_name example.com;
return 301 https://$host$request_uri;
}
add pleroma relay
see relaylist.com
su - snac snac adduser ~/data relay snac follow ~/data relay https://relay.toot.io/actor