Անցնել պարունակությանը

Mastodon

Այս հոդվածում

Տեղեկատվություն

Mastodon-ը՝ ազատ և բաց կոդով դեցենտրալիզացված սոցիալական հարթակ է: Կենտրոնացված առևտրային հարթակների հակադրությամբ, Mastodon-ը վերահսկվում է որևէ մեկ կազմակերպության կողմից:

Mastodon. Հիմնական հնարավորություններ

  • Mastodon-ը թույլ է տալիս օգտատերերին բաժանորդագրվել և շփվել այլ օգտատերերի հետ ցանկացած միացված սերվերից:
  • Հարթակը առաջարկում է հանրային գրառումների հոսքեր՝ օգտատերերին հետաքրքիր բովանդակություն գտնելու համար: Տեղական հոսքը ցուցադրում է ձեր սերվերի գրառումները, իսկ ֆեդերացված հոսքը՝ ձեր սերվերի բոլոր հանրային գրառումները, որոնք հայտնի են ձեր սերվերին:
  • Օգտատերերը կարող են փոխազդել գրառումների հետ ուղղակիորեն հոսքում կամ ընդլայնված դիտման ռեժիմում՝ պատասխանելով, կիսվելով, ավելացնելով նախընտրելիների մեջ, նշելով կամ օգտագործելով լրացուցիչ մենյուն:
  • Mastodon-ը ուղարկում է ծանուցումներ տարբեր փոխազդեցության իրադարձությունների համար, որոնք կապված են ձեր պրոֆիլի և գրառումների հետ: Այս ծանուցումները կարելի է ֆիլտրել ըստ տեսակի:
  • Օգտատիրոջը բաժանորդագրվելու համար պարզապես սեղմեք նրա պրոֆիլի Follow կոճակը: Կարող եք նաև միացնել ծանուցումները ձեր բաժանորդագրությունների նոր գրառումների համար:
  • Mastodon-ի որոնման ֆունկցիան թույլ է տալիս գտնել օգտատերեր, հեշթեգներ և գրառումներ հղման միջոցով: Պիտակավորված որոնման համակարգի տեղակայումից հետո կարող եք որոնել ձեր սեփական գրառումները և նախընտրելիները:
  • Mastodon-ում գաղտնի գրառումները տեսանելի են միայն բաժանորդներին: Դրանք ցուցադրվում են առանձին խոսակցության սյունակում:
  • Բաժանորդագրությունների ցուցակները կարելի է օգտագործել միայն գրառումների հոսքը դիտելու համար:

Տեղակայման հնարավորություններ

ID Ծրագրային ապահովման անվանում Համատեղելի ՕՀ VM BM VGPU GPU Նվազագույն CPU (միջուկներ) Նվազագույն RAM (ԳԲ) Նվազագույն HDD/SSD (ԳԲ) Սեփական դոմեն Ակտիվ
59 Mastodon Ubuntu 22.04 + + + + 2 2 - Ոչ ՊԱՏՎԻՐԵԼ

Տեղակայման հնարավորությունների մասին տեղեկատվության համար, տեսեք այս հղումը

Նշում

Եթե այլ կերպ նշված չէ, լռելյայն մենք տեղակայում ենք ծրագրային ապահովման վերջին թողարկման տարբերակը՝ զարգացնողի կայքից կամ օպերացիոն համակարգի պահեստներից:

Սկսել Mastodon-ի տեղակայումից հետո

Գրանցման ժամանակ նշված էլ. հասցեին կուղարկվի ծանուցում, որ սերվերը պատրաստ է աշխատանքի համար՝ պատվերի վճարումից հետո: Այն կպարունակի VPS-ի IP հասցեն, ինչպես նաև մուտքի և գաղտնաբառի տվյալները: Մեր ընկերության հաճախորդները կառավարում են սերվերի և API կառավարման վահանակի՝ Invapi համակարգի սարքավորումները:

Կարող եք գտնել լիազորման տվյալները սերվերի կառավարման վահանակի Configuration >> Tags թերթիկում կամ ուղարկված էլ. նամակում:

  • Հղում Mastodon վահանակին մուտք գործելու համար՝ վեբ ինտերֆեյսով: webpanel պիտակում:
  • Login և Password սերվերին միանալու համար: Ուղարկվում է էլ. հասցեին՝ սերվերի պատրաստ լինելուց հետո՝ ծրագրային ապահովման տեղակայումից հետո:
  • Login և Password Mastodon վեբ ինտերֆեյսում լիազորվելու համար սահմանվում են ձեռքով՝ հաշիվ ստեղծելիս՝ վարչի կոնսոլի միջոցով:

Վեբ ինտերֆեյսին մուտք գործելու հղումը կլինի՝ https://mastodon{Server_ID_from_Invapi}.hostkey.in

Կոնֆիգուրացիայի փոփոխություն

Mastodon կոնֆիգուրացիան փոխելու համար՝ օգտագործեք tootctl և rails օգնականները:

  • Հաշվի կարգավորումներ, ստեղծել, փոփոխել, իրավունքներ տալ և այլն:
  • SMTP սերվերի կարգավորումներ:
  • Օգտատերերի գրանցման կարգավորումներ:

Տեղեկատվություն

Ավելի մանրամասն տեղեկատվության համար՝ օգնականների օգտագործման մասին, տեսեք զարգացնողի փաստաթղթերը:

Օգտագործման օրինակ

  1. Միացեք սերվերին SSH-ով:
    ssh root@<server_ip>
    
  2. Մուտք գործեք Mastodon վեբ հավելվածի կոնտեյներ: Գտեք և միացեք mastodon_web_1 կոնտեյներին:

    docker exec -it mastodon_web_1 bash
    

  3. Նոր օգտատեր ստեղծելու համար օգտագործեք tootctl accounts create հրամանը: Նշեք օգտատերի անունը, էլ. հասցեն և --confirmed դրոշակը՝ հաշվի հաստատման համար:

    RAILS_ENV=production bin/tootctl accounts create new_username --email [email protected] --confirmed
    
    Փոխարինեք new_username-ը ձեր ցանկացած օգտատերի անվան հետ և [email protected]-ը՝ օգտատիրոջ իրական էլ. հասցեով: Այս հրամանը կատարելուց հետո օգտատերը կստեղծվի: Համոզվեք, որ պահպանում եք էկրանին ցուցադրված գաղտնաբառը:

Վարչի իրավունքների տալ և օգտատիրոջ հաստատել

Օգտատիրոջ ստեղծումից հետո անհրաժեշտ է գտնել նրան տվյալների բազայում՝ իրավունքները և կարգավիճակը փոխելու համար:

  1. Մեկնարկեք Rails կոնսոլը:
    RAILS_ENV=production bin/rails console
    
  2. Գտեք օգտատիրոջը՝ էլ. հասցեով կամ օգտատերի անվան հետ:
    user = User.find_by(email: '[email protected]')  # կամ: User.find_by(username: 'new_username')
    
  3. թարմացրեք նրա կարգավիճակը:

    user.update(approved: true)
    
    Այս գործողությունը կհեռացնի ծանուցումը Your application is pending review by our staff... վարչի վահանակից:

  4. Տվեք նրան վարչի դեր:

    user.update(role: UserRole.find_by(name: 'Admin'))
    

  5. Ստուգեք:
    user.reload
    
    user.role           # => "Admin"
    
    user.approved       # => true
    
  6. Ելք կոնսոլից:
    exit
    

Փոստային սերվերի կարգավորում

Եթե անհրաժեշտ է կարգավորել կամ փոխել փոստային սերվերը, կատարեք.

  1. Բացեք կոնֆիգուրացիայի ֆայլը:

    nano /opt/mastodon/.env.production
    
    2. Կարգավորեք SMTP պարամետրերը (օրինակ՝ MailHog-ի համար):

    # Sending mail
    # ------------
    SMTP_SERVER=mailhog
    SMTP_PORT=1025
    SMTP_LOGIN=
    SMTP_PASSWORD=
    SMTP_FROM_ADDRESS=notifications@your_domain
    SMTP_AUTH_METHOD=none
    SMTP_OPENSSL_VERIFY_MODE=none
    SMTP_ENABLE_STARTTLS=false
    
    3. Վերականգնեք Mastodon կոնտեյներները Նոր կարգավորումները կիրառելու համար վերականգնեք Mastodon կոնտեյներները:

    cd /opt/mastodon
    
    docker-compose restart
    
    4. Ստուգեք էլ. փոստի ֆունկցիոնալությունը - MailHog-ի համար: բացեք վեբ ինտերֆեյսը http://your_server:8025 - Ստուգեք օրագրերը:
    docker-compose -f /opt/mastodon/docker-compose.yml logs sidekiq | grep -i mail
    
    - Փորձարկեք: գրանցեք նոր օգտատիրոջ և ստուգեք էլ. նամակների ստացումը

Նշում

Docker կոնտեյներների ստուգում: Եթե չեք համոզված, թե որ կոնտեյներներն են աշխատում, կատարեք.

 docker ps
Համոզվեք, որ Mastodon կոնտեյներները (mastodon_web_1, mastodon_db_1 և այլն) աշխատում են:

Տեղեկատվություն

Ավելի մանրամասն տեղեկատվություն կոնֆիգուրացիայի կարգավորումների մասին՝ Զարգացնողի փաստաթղթեր:

Տեղեկատվություն

Ավելի մանրամասն տեղեկատվություն setup.sh-ի հետ աշխատելու մասին՝ Զարգացնողի փաստաթղթեր:

Mastodon սերվերի դոմենի անվան փոփոխություն

Տեղեկատվություն

Այս ուղեցույցում օգտագործվում է skaz.online որպես օրինակ դոմեն: Սկզբում Mastodon-ը կարգավորվում է դոմենով, ինչպիսին է mastodon<server_ID>.hostkey.in: Փոխարինեք skaz.online-ը ձեր իրական դոմենով բոլոր կոնֆիգուրացիայի օրինակներում:

Հիմնական ֆայլեր և թղթապանակներ

Ֆայլ/Թղթապանակ Որն է փոխվում
/opt/mastodon/.env.production Միջավայրի փոփոխականներ, դոմեններ
/data/nginx/user_conf.d/*.conf Nginx կոնֆիգուրացիա նոր դոմենի համար
/etc/letsencrypt/live/ SSL վկայականներ (եթե օգտագործում եք certbot)
Docker Compose ֆայլեր Դոմենը docker-compose.yml-ում կամ փոփոխականներ
SMTP կոնֆիգուրացիա թարմացրեք դոմենի հետ կապված հասցեները

Դոմենի անունը փոխելու համար կատարեք հետևյալ քայլերը.

  1. Գրանցեք ձեր սեփական դոմենը, օրինակ՝ mastodon.mydomain.com:

  2. Կարգավորեք DNS գրառումները այս դոմենի համար.

    • Սահմանեք A-գրառում, որը ուղղված է Mastodon սերվերի IP հասցեին:
    • Կարգավորեք MX գրառումը՝ ուղղված փոստային սերվերին:

    Տեղեկատվություն

    DNS կառավարում

  3. Ավելացրեք PTR գրառում IP հասցեի կարգավորումներում Invapi-ում: !!! info "Տեղեկատվություն" Ավելի մանրամասն տեղեկատվություն PTR գրառումների կարգավորման մասին Invapi-ում՝ այստեղ:

  4. թարմացրեք Mastodon միջավայրի փոփոխականները Խմբագրեք /opt/mastodon/.env.production ֆայլը՝ փոխարինելով ընթացիկ արժեքը (օրինակ՝ mastodon<server_ID>.hostkey.in) ձեր նոր դոմենով:

    # Նախկին:
    # LOCAL_DOMAIN=mastodon<server_ID>.hostkey.in
    
    
    # թարմացված:
    LOCAL_DOMAIN=skaz.online
    WEB_DOMAIN=skaz.online
    
    5. Կարգավորեք Nginx-ը HTTPS աջակցությամբ

    5.1 Ստեղծեք Nginx կոնֆիգուրացիա Կարևոր է: Ստեղծեք նոր կոնֆիգուրացիայի ֆայլ՝ փոխարինելով հինը: Հին կոնֆիգուրացիաները կարող են պարունակել տարբեր proxy_pass հրահանգներ, ինչը կարող է հանգեցնել խափանումների: Ստեղծեք Nginx կոնֆիգուրացիայի ֆայլ /data/nginx/user_conf.d/skaz.online.conf հետևյալ բովանդակությամբ.

    server {
        listen 80;
        server_name skaz.online;
        return 301 https://$host$request_uri;
    }
    server {
        listen 443 ssl;
        listen [::]:443 ssl;
        server_name skaz.online;
    
    
        # SSL վկայականներ
        ssl_certificate         /etc/letsencrypt/live/skaz.online/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/skaz.online/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/skaz.online/chain.pem;
        ssl_dhparam /etc/letsencrypt/dhparams/dhparam.pem;
    
    
        # Հիմնական Mastodon հավելված (բանալի 3000)
        location / {
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:3000;
            real_ip_header X-Forwarded-For;
            # WebSocket աջակցություն
            proxy_http_version 1.1;
            proxy_set_header X-Scheme $scheme;
            proxy_buffering off;
        }
    
    
        # Mastodon Streaming API (բանալի 4000)
        location ^~ /api/v1/streaming {
            proxy_set_header X-Forwarded-Proto https;
            proxy_set_header X-Forwarded-Ssl on;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://127.0.0.1:4000;
            real_ip_header X-Forwarded-For;
            # WebSocket աջակցություն
            proxy_http_version 1.1;
            proxy_set_header X-Scheme $scheme;
            proxy_buffering off;
        }
    }
    
    5.2 Ստացեք SSL վկայական Ստուգեք վկայականը.
    docker exec -it mastodon-nginx-1 ls /etc/letsencrypt/live/
    
    Եթե վկայականը բացակայում է, ստացեք այն.
    docker compose stop nginx
    
    docker compose run --rm nginx certbot certonly --standalone -d skaz.online
    
    docker compose start nginx
    

  5. Մաքրեք հակասական կոնֆիգուրացիաները

Կարևոր է! Հեռացրեք հին Nginx կոնֆիգուրացիաները, քանի որ մի քանի .conf ֆայլեր կարող են առաջացնել հակասություններ: Հեռացրեք հին կոնֆիգուրացիան (օրինակ՝ mastodon<server_ID>.hostkey.in-ի համար)

rm /data/nginx/user_conf.d/mastodon<server_ID>*.conf
Կամ վերանվանեք՝ պահպանելու համար պահեստային պատճեն

mv /data/nginx/user_conf.d/mastodon<server_ID>.hostkey.in.conf /data/nginx/user_conf.d/mastodon<server_ID>.hostkey.in.conf.backup

Հակասությունների պատճառներ:

  • Կրկնվող listen 443 ssl հրահանգները առաջացնում են սխալ duplicate listen options
  • Հին կոնֆիգուրացիաները կարող են ունենալ տարբեր proxy_pass հասցեներ կամ բանալիներ
  • Nginx-ը կարող է սխալ մեկնաբանել հարցումները մի քանի սերվերային բլոկների դեպքում

  • Վերականգնեք ծառայությունները Փաթեթի պարունակող թղթապանակում docker-compose.yml, կատարեք.

    docker compose down
    
    docker compose up -d
    

  • Ստուգեք ֆունկցիոնալությունը Փորձարկում հրամանի տողից

    curl -Ik https://skaz.online
    
    Սպասվող պատասխան: HTTP/1.1 200 OK Ստուգեք բրաուզերում Բացեք դոմենը բրաուզերում՝ Mastodon գլխավոր էջը պետք է բեռնվի:

Վարչի վահանակի սկզբնական կարգավորումներ

Վարչի վահանակին մուտք գործելու համար հետևեք webpanel պիտակի հղմանը, սեղմեք Log In կոճակը և մուտքագրեք նախկինում սահմանված լիազորման տվյալները:

Սերվերի կանոնների կառավարում

Այս դեցենտրալիզացված սոցիալական ցանցի յուրաքանչյուր առանձին սերվերի վարիչները և մոդերատորները սահմանում են Mastodon-ի կանոնները: Կանոնները կառավարելու համար անցեք Administration >> Server Rules:

Կանոններ սահմանելու հիմնական սկզբունքներ.

  • Համոզվեք, որ կանոնները լիարժեք են և համապատասխանում են ընդհանուր ընդունված ստանդարտներին՝ օգտատերերին չհեռացնելու համար:
  • Չափազանց պարզ նշեք արգելված բովանդակության տեսակները, ինչպիսիք են դաժանությունը, բռնությունը և անօրինական գործունեությունը, և պարզաբանեք NSFW բովանդակության ընդունելի մակարդակները:
  • Նշեք ընթացակարգերը զգուշացումների, արգելափակումների կամ կանոնների խախտողների սահմանափակումների համար, ինչպես նաև սպառազինական գործողություններ և ժամանակի սահմաններ:
  • Սերվերի կանոնները պետք է հեշտությամբ հասանելի լինեն բոլոր օգտատերերի համար և հրապարակայնորեն ցուցադրվեն գրանցման ժամանակ:
  • Կարևոր է պարբերաբար վերանայել և թարմացնել կանոնները՝ սերվերի աճի հետ մեկտեղ, և ներգրավել համայնքը մոդերացման և բարելավման գործընթացում:

Օգտատերերի հրավեր

Mastodon-ը ունի մի քանի թերթիկներ հոսքում՝ բաժանորդագրությունները կառավարելու և նոր օգտատերերին հրավիրելու համար.

  • Follows and Followers - այս թերթիկում ցուցադրվում են հաշիվները, որոնցին ընթացիկ օգտատերը բաժանորդագրված է, և հոսքը կցուցադրի այս օգտատերերի գրառումները: Բացի այդ, այս թերթիկում ցուցակված են նաև այն անձինք, ովքեր բաժանորդագրված են այս հաշվին, ինչը Mastodon-ում հանդիսանում է լսարան:
  • Invite people - ֆունկցիան թույլ է տալիս օգտատերերին հրավիրել ընկերներին և ծանոթներին իրենց սոցիալական ցանց: Այս տեքստը նկարագրում է միակ հղման ստեղծումը, որը կարելի է կիսվել՝ թույլ տալով այլ օգտատերերին միանալ Mastodon սերվերին:

.

Նշում

Mastodon-ի հիմնական կարգավորումների մասին մանրամասն տեղեկատվության համար տեսեք զարգացնողների փաստաթղթերը:

Mastodon սերվեր պատվիրել API-ի միջոցով

question_mark
Is there anything I can help you with?
question_mark
AI Assistant ×