அமைப்புகள்

Antimatter தனது அமைப்புகளை எங்கே வைக்கிறது, அவற்றை மாற்றும் மூன்று வழிகள் (System Console, சூழல் மாறிகள், amctl), மற்றும் பதிவுகள் எங்கே செல்கின்றன.

அமைப்புகள் எங்கே இருக்கின்றன

ஒவ்வொரு சர்வர் அமைப்பும் ஒரு பிரிவு (section) மற்றும் ஒரு விசை (key) ஆகியவற்றால் ஆன பெயரைக் கொண்டுள்ளது, எடுத்துக்காட்டாக ServiceSettings.SiteURL அல்லது EmailSettings.SMTPServer. இவை இணைந்து ஒரே ஒரு அமைப்பை உருவாக்குகின்றன, இது இரண்டு இடங்களில் ஒன்றில் சேமிக்கப்படுகிறது:

  • தரவுத்தளத்தில். தளத்தின் compose கோப்பு AM_CONFIG-ஐ PostgreSQL இணைப்பு URL-ஆக அமைக்கிறது, எனவே அமைப்பு தரவுத்தளத்தில் ஒரு வரி (row) ஆக இருக்கிறது மற்றும் கண்டெய்னர் (container) டிஸ்கில் எதுவும் வைக்காது. ஒரே தரவுத்தளத்தைப் பகிர்ந்து கொள்ளும் பல சர்வர்கள் தங்கள் அமைப்புகளையும் பகிர்ந்து கொள்கின்றன.
  • ஒரு கோப்பில். AM_CONFIG இல்லாமல், சர்வர்து bin/ வடிவியலுக்கு அருகிலுள்ள config/config.json கோப்பை படிக்கிறது (Docker இமேஜில் /antimatter/config/config.json). Antimatter-docker-இன் ரிலீஸ் ஆர்கைவ் மற்றும் ப்ரொடக்சன் கோம்போஸ் கோப்புகள் இவ்வாறு செயல்படுகின்றன; .deb மற்றும் .rpm பாக்கேஜ்களும் இவ்வாறே, அவற்றின் கோப்பு /etc/antimatter/config/config.json ஆகும். இந்த கோப்பு சர்வரின் பயனருக்கு மட்டும் படிக்கக்கூடியதாக இருக்க வேண்டும்: அதில் கடவுச்சொற்கள் மற்றும் கீஸ்கள் உள்ளன.

AM_CONFIG (அல்லது antimatter கட்டளையின் --config ஃளாக்) ஒரு கோப்புப் பாதை அல்லது postgres:// URL-ஐ ஏற்கிறது. நீங்கள் விட்டுவிடும் அமைப்புகள் அவற்றின் இயல்பு மதிப்பை (default value) எடுக்கின்றன.

ஒரு கோப்பிலிருந்து ஒரு இருக்கும் அமைப்பை தரவுத்தளத்திற்கு நகர்த்த, சர்வரில் இதை இயக்கவும், பின்னர் AM_CONFIG-ஐ அதே URL-ஆக அமைத்து சர்வரை தொடங்கவும்:

amctl --local config migrate /opt/antimatter/config/config.json \
    "postgres://antimatter:PASSWORD@localhost:5432/antimatter?sslmode=disable&connect_timeout=10"

சூழல் மாறிகள்

எந்த அமைப்பையும் ஒரு சூழல் மாறியாக (environment variable) வழங்கலாம். சூழல் மாறிகள் சேமிக்கப்பட்ட அமைப்பை விட முன்னுரிமை பெறுகின்றன, இது பரவல் (deployment) உடன் தொடர்புடையவற்றிற்கு நல்ல பொருத்தமாக இருக்கிறது: தரவுத்தளம், தள URL, கோப்பு சேமிப்பு, போர்ட்கள்.

பெயரிடும் விதி

AM_ என எழுதவும், பின்னர் பிரிவு, பின்னர் விசை, பெரிய எழுத்துக்களில் (capital letters) மற்றும் அடிக்கோடுகள் (underscores) மூலம் பிரிக்கவும். ஒரு பிரிவு அல்லது விசை பெயரின் உள்ளே உள்ள சொற்கள் பிரிக்கப்படாது:

அமைப்புமாறி
ServiceSettings.SiteURLAM_SERVICESETTINGS_SITEURL
SqlSettings.DataSourceAM_SQLSETTINGS_DATASOURCE
EmailSettings.SMTPServerAM_EMAILSETTINGS_SMTPSERVER
PrivacySettings.EnableUserBlockingAM_PRIVACYSETTINGS_ENABLEUSERBLOCKING
  • உண்மை (true) மற்றும் பொய் (false) அமைப்புகள் true அல்லது false ஐ எடுக்கின்றன; எண்கள் சுத்த எண்களாக இருக்கின்றன.
  • பட்டியல் (list) அமைப்புகள் அவற்றின் மதிப்புகளை இடைவெளிகளால் (spaces) பிரித்து எடுக்கின்றன, எடுத்துக்காட்டாக AM_SERVICESETTINGS_TRUSTEDPROXYIPHEADER="X-Forwarded-For X-Real-IP".
  • பொருட்களாக (objects) உள்ள அமைப்புகள் JSON-ஐ எடுக்கின்றன. செயல்களுக்கு (apps) மட்டுமே உள்ள அத்தகைய மாறி AM_PLUGINSETTINGS_PLUGINS, மற்றும் இது ஒவ்வொரு செயலின் அமைப்புகளையும் ஒரே நேரத்தில் மாற்றுகிறது: செயல் அமைப்புகளை System Console-இல் அல்லது amctl மூலம் அமைக்கவும் (கீழே பார்க்கவும்).
  • பழைய Mattermost அமைப்புகள் MM_ முன்னொட்டைப் பயன்படுத்துகின்றன, எடுத்துக்காட்டாக MM_SQLSETTINGS_DATASOURCE. இது இன்னும் ஒரு பழைய விருப்பப் பெயராகச் செயல்படுகிறது. இரண்டும் அமைக்கப்பட்டால், AM_ மாறி முன்னுரிமை பெறுகிறது.

ஒரு மாறியால் வழங்கப்பட்ட அமைப்பு அமைப்புக் கனசோலில் (System Console) பூட்டப்பட்டிருக்கும்; “இந்த அமைப்பு ஒரு சூழல் மாறியால் அமைக்கப்பட்டது. அமைப்புக் கனசோலில் இதை மாற்ற முடியாது.” என்ற குறிப்புடன். இது சேமிக்கப்பட்ட அமைப்பில் எழுதப்படுவதில்லை; மாரியை நீக்கினால், சேமிக்கப்பட்ட மதிப்பு மீண்டும் பொருந்தும்.

Docker Compose உடன்

antimatter சேவையின் environment: கீழ் மாறிகளைச் சேர்த்து, அல்லது compose.yaml அருகில் உள்ள compose.override.yaml கோப்பில் சேர்த்து (Compose இதை தானாகப் படிக்கும், பதிவிறக்கப்பட்ட கோப்பின் புதுப்பிப்புகளிலும் இது நிலைத்திருக்கும்):

services:
  antimatter:
    environment:
      AM_EMAILSETTINGS_SMTPSERVER: smtp.example.com
      AM_EMAILSETTINGS_SMTPPORT: "587"
      AM_LOGSETTINGS_CONSOLELEVEL: INFO

மாற்றங்களைப் பயன்படுத்த docker compose up -d ஐ இயக்கு; இது கண்டைனரை மீண்டும் உருவாக்கும்.

ஆப்ஸ்கள் படிக்கும் மாறிகள்

சில மாறிகள் அமைப்புகள் அல்ல, அவற்றிற்கு அமைப்பு கன்சோலில் புலம் இல்லை: AM_CONFIG (அமைப்பு எங்கே உள்ளது), மற்றும் AM_AI_ENCRYPTION_KEY மற்றும் AM_AI_ENCRYPTION_PREVIOUS_KEYS — மாதிரி இணைப்புகளின் API கீஸ்களை மறைகுறியாக்கும் கீ (பார்க்க AI).

சில ஆப்ஸ்கள் தங்கள் சொந்த மாறிகளைப் படிக்கின்றன, antimatter சேவையில் அமைக்கப்பட்டவை: Calls ஆப் AM_CALLS_* ஐப் படிக்கும் (அழைப்புகள் மற்றும் குரல் காண்க), GIFs ஆப் AM_GIFS_SERVICE_URL, AM_GIFS_API_KEY மற்றும் AM_GIFS_UPLOAD_KEY ஐப் படிக்கும் (இணைக்கப்பட்ட ஆப்ஸ்கள் காண்க).

அமைப்புக் கனசோல்

அமைப்பு கன்சோல்து வலை செயலியின் நிர்வாக பகுதி, அமைப்பு நிர்வாகிகளுக்காக. அதை திறக்க, செயலியின் ரெயிலின் மேலே உங்கள் படத்தை கிளிக் செய்து அமைப்பு கன்சோல்து ஐ தேர்ந்தெடுங்கள், அல்லது https://chat.example.com/admin_console ஐ அணுகவும். அதன் பக்கவாட்டுப் பட்டையில் அனைத்து பக்கங்களையும் தேடும் அமைப்புகள்தை தேடு பெட்டி உள்ளது.

The System Console, with its sidebar of sections on the left and the SAML 2.0 settings page on the right.
அமைப்புக் கனசோல். பக்கவாட்டுப் பட்டை பக்கங்களை அறிக்கைகள், பயனர் மேலாண்மை, சூழல் போன்ற பிரிவுகளாகக் குழுவிக்கிறது.

இதன் பிரிவுகள்:

  • அறிக்கைகள்: புள்ளிவிவரங்கள் மற்றும் சர்வர் பதிவுகள்.
  • பயனர்ப் நிர்வாகம்: பயனர்கள், குழுக்கள், சமூகங்கள் (குழுக்கள் என்ற பெயரில் பட்டியலிடப்படுகின்றன), சேனல்கள், அனுமதிகள் மற்றும் நிர்வாகப் பொறுப்புகளைப் பகிர்வது.
  • அமைப்பு அத்தரிப்புகள்: தனிப்பயன் சுயவரவு அத்தரிகளும், அத்தரிப்பு அடிப்படையிலான அணுகலும்.
  • சூழல்: வலை சர்வர், தரவுத்தளம், கோப்பு சேமிப்பு, படப் புகைப்படம், SMTP, தள்ளல் அறிவிப்புகள், விகிதக் கட்டுப்பாடு, பதிவு, அமர்வு நீளங்கள், செயல்திறன் கண்காணிப்பு.
  • தள அமைப்பு: பிராண்டிங், பயனர்கள் மற்றும் குழுக்கள், அறிவிப்புகள், பதிவுகள், கோப்புப் பகிர்வு மற்றும் மற்ற சர்வர்-அகல செயல்பாடுகள்.
  • அங்கீகாரம்: பதிவு, மின்னஞ்சல் மற்றும் கடவுச்சொல் உள்நுழைவு, MFA, AD/LDAP, SAML 2.0, OAuth 2.0, OpenID Connect மற்றும் விருந்தினர் அணுகல்.
  • AI: மாதிரி இணைப்புகள் மற்றும் உள்வெட்டு AI சேவைகள் (மறுஎழுத்து, சுருக்கங்கள், தானியங்கி மொழிபெயர்ப்பு, உரையை குரலாக மாற்றுதல்). பார்க்க AI.
  • பிளக்-இன்கள்: ஆப் மேலாண்மை மற்றும் ஒவ்வொரு நிறுவப்பட்ட ஆப்பின் அமைப்புகளும்.
  • இணைப்புகள்: வெப்கூக்ஸ், ஸ்லாஷ் கட்டளைகள், பாட் கணக்குகள், GIFs, உரையை குரலாக மாற்றுதல், CORS.
  • சட்டப்படி செயல்பாடு: தரவு வைப்பு, சட்டப்படி ஏற்றுமதி மற்றும் கண்காணிப்பு, ஆடிட் பதிவுகள், தனிப்பயன் சேவை விதிமுறைகள்.
  • சோதனை: மாற்றப்படக்கூடிய அம்சங்கள்.

இந்த வழிகாட்டியில், ஒரு அமைப்பு அதன் அமைப்பு கன்சோலில் உள்ள பாதை, பின்னர் அதன் பெயர், பின்னர் அதன் அமைப்பு விசை என்ற வரிசையில் எழுதப்படுகிறது. எடுத்துக்காட்டாக, அமைப்பு கன்சோல் › தள அமைப்பு › பயனர்கள் மற்றும் குழுக்கள் › புறக்கணிப்பு, தடை மற்றும் செய்தி கோரிக்கைகளை இயக்கு (PrivacySettings.EnableUserBlocking).

பெரும்பாலான மாற்றங்கள், நீங்கள் சேமி என்பதைக் கிளிக் செய்தவுடன் உடனடியாகப் பொருந்தும். சில (கேட்கும் முகவரி, சில தரவுத்தளம் மற்றும் கேஷ் அமைப்புகள்) மீண்டும் இயக்கம் தேவை, மேலும் அந்தப் பக்கம் அதைக் குறிப்பிடுகிறது.

பணிப்பரப்பு அல்லது சமூகம்து

ஒவ்வொரு சமூகத்திற்கும் ஒரு வகை உள்ளது, அது அதன் சில இயல்புநிலைகளை அமைக்கிறது:

  • சமூகம்து, பொதுவான அல்லது ஹாபி சமூகங்களுக்காக: அதன் சேனல்களில் அழைப்புகள் அணைக்கப்பட்டிருக்கும் (மக்கள் குரல் சேனல்களில் பேசுகின்றனர்), மற்றும் அதன் நிர்வாகிகள் மட்டுமே, சேனல்களை நிர்வகிக்கும் பங்குகளும், சேனல்களை காப்பகப்படுத்தும்.
  • பணிப்பரப்பு, நிறுவனம் அல்லது நிறுவனத்திற்காக: அதன் சேனல்களில் அழைப்புகள் இயக்கப்பட்டிருக்கும், மற்றும் சேனலின் நிர்வாகிகள் (அதை உருவாக்கியவர், மற்றும் அவர்கள் நிர்வாகிகளாக்கியவர்கள்) அதை காப்பகப்படுத்தும்.

அமைப்பு கன்சோல்து › தள அமைப்பு › பயனர்கள் மற்றும் குழுக்கள் › புதிய சமூகங்களின் வகை (TeamSettings.DefaultCommunityKind, AM_TEAMSETTINGS_DEFAULTCOMMUNITYKIND) என்பது அப்போது முதல் உருவாக்கப்படும் சமூகங்களின் வகை: community (இயல்புநிலை) அல்லது workplace. சமூகத்தை உருவாக்கும்போது தேர்ந்தெடுக்கப்பட்ட ஒரு அமைப்பு முன்மாதிரி அதன் சொந்த வகையை அமைக்கும். ஒவ்வொரு சமூகத்தின் நிர்வாகிகளும் பின்னர் அதன் வகையை மாற்றலாம், குழு அமைப்புகள் › சேனல்கள் › சமூகத்தின் வகை இல்.

நிறுவனத்திற்கு, முதல் சமூகத்தை உருவாக்கும் முன் அல்லது 0.9.0-க்கு பழைய சேவையகத்தை மேம்படுத்தும் முன், இதை பணிப்பரப்பு என அமைக்கவும். மேம்படுத்தும்போது, அந்த நேரத்தில் அமைப்பில் உள்ள மதிப்பு அனைத்து பழைய சமூகங்களுக்கும் வழங்கப்படும் (0.9.0-க்கு மேம்படுத்துதல் பார்க்கவும்).

amctl கட்டளை வரி கருவி

amctl பயனர்கள், சமூகங்கள், சேனல்கள், செயலிகள், அமைப்புகள், பணிகள் மற்றும் பலவற்றை கட்டளை வரி மூலம் சர்வரை நிர்வகிக்கிறது. இது சர்வரிடம் இரண்டு வழிகளில் ஒன்றில் தொடர்பு கொள்கிறது.

உள்ளூர் முறை, சர்வரில்

உள்ளூர் முறை (Local mode) amctl உள்நுழைவு இல்லாமல் Unix சாக்கெட் மூலம் சேவையகத்துடன் தொடர்பு கொள்ள அனுமதிக்கிறது. Docker இமேஜிலும், .deb மற்றும் .rpm பாக்கேஜ்களிலும் இது இயக்கப்பட்டுள்ளது. ஆர்கைவிலிருந்து நிறுவப்பட்ட சேவையகத்தில், ServiceSettings.EnableLocalMode மூலம் (AM_SERVICESETTINGS_ENABLELOCALMODE=true) இதை இயக்கவும். டிஃபால்டாக சாக்கெட் /var/tmp/antimatter_local.socket ஆகும் (ServiceSettings.LocalModeSocketLocation).

# with Docker Compose
docker compose exec antimatter amctl --local system status
# with a release archive
sudo -u antimatter /opt/antimatter/bin/amctl --local system status
# with the .deb or .rpm package
sudo -u antimatter amctl --local system status
சாகெட்டைப் பயன்படுத்தக்கூடியவர்களும், ஹோஸ்ட்டில் docker compose exec ஐ இயக்கக்கூடியவர்களும் முழுமையான அமைப்பு நிர்வாகி உரிமைகளைப் பெறுவார்கள்.

தொலைபேசி, கணக்குடன்

எந்த மெஷினிலிருந்தும், அமைப்பு நிர்வாகி கணக்கைப் (அல்லது தனிப்பட்ட அணுகல் டோக்கனை) பயன்படுத்தி உள்நுழைந்து, அந்த சர்வருக்கு எதிராக கட்டளைகளை இயக்கவும்:

amctl auth login https://chat.example.com --name prod --username admin
amctl system status

அமைப்பு கட்டளைகள்

கட்டளைஇது என்ன செய்கிறது
amctl config get ServiceSettings.SiteURLஒரு அமைப்பை அச்சிடுகிறது.
amctl config set TeamSettings.EnableOpenServer falseஒரு அமைப்பை மாற்றுகிறது. பட்டியல் அமைப்புகள் பல மதிப்புகளை ஏற்கின்றன.
amctl config patch settings.jsonஅமைப்புகளின் JSON கோப்பை அமைப்புகளில் இணைக்கிறது.
amctl config showமுழு அமைப்பையும் JSON ஆக அச்சிடுகிறது.
amctl config editஉங்கள் எடிட்டரில் ($EDITOR) அமைப்புகளைத் திறக்கிறது.
amctl config resetஅமைப்புகளை அவற்றின் இயல்புநிலைக்கு மீட்டமைக்கிறது.
amctl config reloadசர்வருக்கு வெளியே செய்யப்பட்ட மாற்றத்திற்குப் பிறகு, சேமிக்கப்பட்ட இடத்திலிருந்து அமைப்புகளை மறுபுதுப்பிக்கிறது.

செயலி அமைப்புகள் PluginSettings.Plugins.<app id> கீழ் உள்ளன, விசைகள் சிறிய எழுத்துக்களில். எடுத்துக்காட்டாக, Docker ஹோஸ்ட்டிலிருந்து GIFs செயலியின் சேவை URL மற்றும் விசையை அமைக்க:

docker compose exec -T antimatter amctl --local config patch /dev/stdin <<'EOF'
{"PluginSettings": {"Plugins": {"com.antimatterchat.gifs": {
  "serviceurl": "http://gifs:8080/v2",
  "apikey": "the GIFS_API_KEY of your .env"
}}}}
EOF

மற்ற பயனுள்ள கட்டளைகள்: amctl user create, amctl user deactivate, amctl team create, amctl plugin list, amctl plugin enable, amctl system supportpacket மற்றும் amctl logs. ஒவ்வொரு கட்டளையின் விருப்பங்களுக்கும் amctl help <command> ஐ இயக்கவும்.

பதிவுகள்

சேவையகம் தனது பதிவுகளை இரண்டு இடங்களில் எழுதுகிறது; ஒவ்வொன்றும் தனித்தனி நிலை (DEBUG, INFO, WARN அல்லது ERROR) கொண்டது. இவை அமைப்பு கன்சோல் › சூழல் › பதிவு இல் அமைக்கப்படுகின்றன:

இலக்குஅமைப்புகள்இயல்புநிலை அமைப்புகள்
கன்சோல் (standard output)பதிவுகளை கன்சோலுக்கு வெளியிடவும் (LogSettings.EnableConsole), கன்சோல் பதிவு நிலை (LogSettings.ConsoleLevel), கன்சோல் பதிவுகளை JSON ஆக வெளியிடவும் (LogSettings.ConsoleJson)இயக்கப்பட்டது, DEBUG, JSON
ஒரு கோப்பு, antimatter.logபதிவுகளை கோப்பில் வெளியிடு (LogSettings.EnableFile), கோப்பு பதிவு நிலை (LogSettings.FileLevel), கோப்பு பதிவு இடம் (LogSettings.FileLocation)இயக்கப்பட்டது, INFO, bin/ இன் அருகில் உள்ள logs/ கோப்புறை

100 MB அளவுக்கு லாக் கோப்புகள் சுழற்றப்படுகின்றன (rotated) மற்றும் பழையவை சுருக்கப்படுகின்றன (compressed).

இதழின் compose கோப்பு கோப்பு லாக்கிங்கை (file logging) அணைக்கிறது (AM_LOGSETTINGS_ENABLEFILE=false), எனவே லாக்கள் கன்டெய்னரின் ஆட்டபட்டில் மட்டுமே இருக்கும்:

docker compose logs -f antimatter
docker compose logs --since 1h antimatter | grep -i error

கன்சோல் நிலை (console level) டிஃபால்டாக DEBUG ஆகும், இது விரிவானது. பிஸியான சேவையகத்தில், AM_LOGSETTINGS_CONSOLELEVEL=INFO என அமைக்கவும். ரிலீஸ் ஆர்கைவின் மற்றும் பாக்கேஜ்களின் config.json இல் இது ஏற்கனவே INFO என அமைக்கப்பட்டுள்ளது. systemd-இன் கீழ் ரிலீஸ் ஆர்கைவ் இருந்தால், கன்சோல் வெளியீடு ஜர்னலுக்கு (journalctl -u antimatter) செல்லும், கோப்பு /opt/antimatter/logs/antimatter.log இல் இருக்கும். பாக்கேஜ்கள் கோப்பு பதிவு (file logging) ஐ அணைக்கின்றன, எனவே அவற்றின் பதிவுகள் ஜர்னலில் மட்டுமே இருக்கும்.

கோப்பு பதிவு இயக்கப்பட்டுள்ளபோது, அமைப்பு நிர்வாகிகள் அமைப்பு கன்சோல் › அறிக்கைகள் › சேவையகப் பதிவுகள் இல் அல்லது amctl logs மூலம் சமீபத்திய பதிவு வரிசைகளைப் படிக்க முடியும்.