Moonshine

Egy régivágású blog

Néznek bennünket kultúrnépek. Látják képtelenségünket a haladásra, látják, hogy szamojéd erkölcsökkel terpeszkedünk okvetlenkedünk Európa közepén, mint egy kis itt felejtett középkor, látják, hogy üresek és könnyűk vagyunk, ha nagyot akarunk csinálni zsidót ütünk, ha egy kicsit már józanodni kezdünk rögtön sietünk felkortyantani bizonyos ezeréves múlt kiszínezett dicsőségének édes italából, látják, hogy semmittevők és mihasznák vagyunk, nagy népek sziklavára, a parlament, nekünk csak arra jó, hogy lejárassuk. Mi lesz ennek a vége szeretett úri véreim? Mert magam is ősmagyar volnék s nem handlézsidó, mint ahogy ti címeztek mindenkit aki különb mint ti. A vége az lesz, hogy úgy kitessékelnek bennünket innen mintha itt sem lettünk volna.

Legyünk ez egyszer számítók. Kerekedjünk föl s menjünk vissza Ázsiába. Ott nem hallunk kellemetlenül igazmondó demokratákat. Vadászunk, halászunk, verjük a csöndes hazai kártyajátékot, s elmélkedhetünk ama bizonyos szép ezredéves álomról.

Menjünk vissza, szeretett úri véreim. Megöl itt bennünket a betű, a vasút, meg ez a sok zsidó, aki folyton ösztökél, hogy menjünk előre. Fel a sallanggal, fringiával, szentelt olvasókkal, kártyákkal, kulacsokkal, agarakkal, versenylovakkal, és ősökkel! Menjünk vissza Ázsiába!.”

Ady Endre

Nagyváradi Napló – 1902. január 31.

Sokáig hezitáltam, hogy beleugorjak-e, az early access videok alapján túl összetettnek tűnt. Aztán a megjelenés körüli hype megcsapott és beleugrottam.

Nem bántam meg :)

Abszolut hozza azt a hangulatot mint annak idején az első rész, csak mostani kinézettel. Eddig 32 órát játszottam vele, ahogy követem a médiát, nekem még van 150 óra a játékban. Szépen komótosan haladok benne, a lore-t kutatgatom közben a wikikben, dnd szabálykönyvet böngészek, képregényeket olvasok, szóval szépen belemerülök a metába is :)

(Apropó képregények. Jézus, Mária. A korai dnd iszonyat blőd. Minsc a Baldur’s Gate 1-ből egy idióta. Konkrétan. Mindenesetre próbálom viccesre venni ezeket a képregényeket, mert ha komolyan venném akkor messze kéne szaladni az egész dnd-től)

Alapvetően ez alapján a leírás alapján csináltam: https://github.com/felx/mastodon-documentation/blob/master/Running-Mastodon/Docker-Guide.md

OS: Ubuntu 22.04.2 LTS

Szükséges csomagok telepítése

OS:

apt install docker.io build-essential nginx

install docker compose

mkdir -p ~/.docker/cli-plugins/
curl -SL https://github.com/docker/compose/releases/download/v2.3.3/docker-compose-linux-x86_64 -o ~/.docker/cli-plugins/docker-compose
chmod +x ~/.docker/cli-plugins/docker-compose
export DOCKER_BUILDKIT=1

Mastodon telepítése

git clone https://github.com/tootsuite/mastodon

cd mastodon
cp .env.production.sample .env.production
docker compose build
sudo chown -R 991:991 public
docker compose run --rm web rake mastodon:setup
docker compose down
 

A mastodon:setup lépés végén kiírja a konzolra a kulcs-érték párokat, azt ki kell másolni és betenni az .env.productions fájlba.

Az .env.production fájl tartalma ilyesmi lesz:

LOCAL_DOMAIN=mastodon.example.com
SINGLE_USER_MODE=false
SECRET_KEY_BASE=ljkljkljlakjdlkjaaks
VAPID_PRIVATE_KEY=ihlhlhlkjhljk=
VAPID_PUBLIC_KEY=kjhkhjhkjhkjhkjhkjhkjhkjhkjhkj=
DB_HOST=db
DB_PORT=5432
DB_NAME=postgres
DB_USER=postgres
DB_PASS=
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
SMTP_SERVER=smtp.example.com
SMTP_PORT=587
SMTP_LOGIN=smtptuser@smtp.example.com
SMTP_PASSWORD=MySmTpP4ssw0rd
SMTP_AUTH_METHOD=plain
SMTP_OPENSSL_VERIFY_MODE=none
SMTP_ENABLE_STARTTLS=auto
SMTP_FROM_ADDRESS=Mastodon <notifications@mastodon.example.com>		

Mastodon instance indítása

docker compose up -d

Reverse proxy config

map $http_upgrade $connection_upgrade {
  default upgrade;
  ''      close;
}

server {
  listen 80;
  listen [::]:80;
  server_name mastodon.example.com;
  root /home/ubuntu/mastodon/public;
  # Useful for Let's Encrypt
  location /.well-known/acme-challenge/ { allow all; }
  location / { return 301 https://$host$request_uri; }
}

server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name mastodon.example.com;

  #ssl_protocols TLSv1.2;
  #ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
  #ssl_prefer_server_ciphers on;
  ssl_session_cache shared:SSL:10m;
  ssl_protocols TLSv1.2 TLSv1.3;
  ssl_prefer_server_ciphers off;

  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_certificate     /etc/letsencrypt/live/mastodon.example.com/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/mastodon.example.com/privkey.pem;
  ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

  keepalive_timeout    70;
  sendfile             on;
  client_max_body_size 80m;

  root /home/ubuntu/live/public;

  gzip on;
  gzip_disable "msie6";
  gzip_vary on;
  gzip_proxied any;
  gzip_comp_level 6;
  gzip_buffers 16 8k;
  gzip_http_version 1.1;
  gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

  add_header Strict-Transport-Security "max-age=31536000";

  location / {
    try_files $uri @proxy;
  }

  location ~ ^/(emoji|packs|system/accounts/avatars|system/media_attachments/files) {
    add_header Cache-Control "public, max-age=31536000, immutable";
    try_files $uri @proxy;
  }
  
  location /sw.js {
    add_header Cache-Control "public, max-age=0";
    try_files $uri @proxy;
  }

  location @proxy {
    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 https;
    proxy_set_header Proxy "";
    proxy_pass_header Server;

    proxy_pass http://127.0.0.1:3000;
    proxy_buffering off;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    tcp_nodelay on;
  }

  location /api/v1/streaming {
    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 https;
    proxy_set_header Proxy "";

    proxy_pass http://127.0.0.1:4000;
    proxy_buffering off;
    proxy_redirect off;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $connection_upgrade;

    tcp_nodelay on;
  }

  error_page 500 501 502 503 504 /500.html;
}

#tech #mastodon

Mint mindig, amikor egy új eszközt kaparintok a kezembe fellelkesülök és azonnal írni akarok valami alkalmazst, scriptet, akármit amivel egyszerűbbé tudnám tenni az életemet. (persze ez a lelkesültség elég hamar lelohad. sajnos.)

Na, de. Csak meg kéne oldani, hogy az Obisidianban megírt blogpostomat automágikusan tudjam publikálni a Moonshine-ra.

Lehetőleg nekem kéne megírni és nem rákeresni az interneteken, hogy megoldotta-e már valaki.

#ötlet #programozás