Treoracha cumraíochta¶
Suiteáil Weblate¶
Ag brath ar do shocrú agus ar an taithí atá agat, roghnaigh modh suiteála oiriúnach duit:
Suiteáil ag baint úsáide as Docker, molta le haghaidh socruithe táirgeachta.
Suiteáil Virtualenv, molta le haghaidh socruithe táirgeachta:
Suiteáil ó fhoinsí, molta le haghaidh forbartha.
Forbhreathnú ar ailtireacht¶
- Freastalaí gréasáin
Láimhseáil iarratais HTTP isteach, Comhaid statacha a sheirbheáil.
- Oibrithe soilire
Tascanna cúlra ag baint úsáide as Soilire a fhorghníomhú anseo.
Ag brath ar d'ualach oibre, b'fhéidir gur mhaith leat líon na n-oibrithe a shaincheapadh.
Bain úsáid as nód tiomnaithe agus Weblate á scálaiú go cothrománach.
- Freastalaí WSGI
Freastalaí WSGI a fhreastalaíonn ar leathanaigh ghréasáin d’úsáideoirí.
Bain úsáid as nód tiomnaithe agus Weblate á scálaiú go cothrománach.
- Bunachar Sonraí
Freastalaí bunachar sonraí PostgreSQL chun an t-ábhar go léir a stóráil, féach Socrú bunachar sonraí le haghaidh Weblate.
Bain úsáid as nód bunachair shonraí tiomnaithe do shuímh ina bhfuil na céadta milliún focal óstaithe.
- Stóras Sonraí
Stóras sonraí eochrach/luach amhail freastalaí Valkey nó Redis le haghaidh taisce agus scuaine tascanna, féach Tascanna cúlra ag baint úsáide as Soilire.
Bain úsáid as nód tiomnaithe agus Weblate á scálaiú go cothrománach.
- Córas comhaid
Stóráil córais comhaid chun stórtha VCS agus sonraí úsáideoirí uaslódáilte a stóráil. Tá sé seo roinnte ag na próisis go léir.
Úsáid stóras líonraithe agus Weblate á scálaiú go cothrománach.
- Freastalaí ríomhphoist
Freastalaí SMTP le haghaidh ríomhphoist amach, féach Ríomhphoist amach a chumrú. Is féidir é a sholáthar go seachtrach.
Hint
Tá PostgreSQL agus Valkey san áireamh i Suiteáil ag baint úsáide as Docker, rud a fhágann go bhfuil an suiteáil níos éasca.
Riachtanais bogearraí¶
Córas oibriucháin¶
Is eol go n-oibríonn Weblate ar Linux, FreeBSD agus macOS. Is dócha go n-oibreoidh córais eile cosúil le Unix freisin.
Ní thacaítear le Weblate ar Windows. Ach b’fhéidir go n-oibreoidh sé fós agus glactar le paistí go sona sásta.
See also
Forbhreathnú ar ailtireacht cur síos ar ailtireacht fhoriomlán Weblate agus na seirbhísí riachtanacha.
Cleithiúlachtaí Python¶
Tá Weblate scríofa i Python agus tacaíonn sé le Python 3.12 nó níos nuaí. Is féidir leat spleáchais a shuiteáil ag baint úsáide as pip nó ó do phacáistí dáilte, tá an liosta iomlán ar fáil i requirements.txt.
Na spleáchais is suntasaí:
- Django
- Soilire
- Translate Toolkit
- aistritheoir-aimsitheoir
- Údar Sóisialta Python
- Fráma REST Django
Sonróir spleáchais roghnach |
Pacáistí Python |
Gné gréasáin |
|---|---|---|
|
||
|
||
|
||
|
Google Cloud Translation Advanced le tacaíocht gluais |
|
|
||
|
||
|
PostgreSQL, féach Socrú bunachar sonraí le haghaidh Weblate |
|
|
Tuarascálacha earráide a bhailiú agus monatóireacht a dhéanamh ar fheidhmíocht |
|
|
||
|
IDP SAML 2 a chomhtháthú isteach sa Ghréasán |
|
|
Riachtanach le haghaidh Nuashonraigh comhad POT (Sphinx) |
|
|
Comhtháthú Weblate a óstáil |
|
|
freastalaí wsgi do Weblate |
|
|
Nuair a shuiteáil tú ag baint úsáide as pip, is féidir leat a shonrú go díreach gnéithe inmhianaithe nuair a shuiteáil:
uv pip install "weblate[Postgres,Amazon,SAML]"
Nó is féidir leat Weblate a shuiteáil leis na gnéithe roghnacha go léir:
uv pip install "weblate[all]"
Nó is féidir leat Weblate a shuiteáil gan aon ghnéithe roghnacha:
uv pip install weblate
Fabhtcheartú suiteála pip¶
ERROR: Dependency 'gobject-introspection-2.0' is required but not found.Ní féidir leis an bpacáiste
PyGobjectsuiteáilte leabharlann GObject Introspection comhoiriúnach a aimsiú -gobject-introspection-2.0.Ní thacaíonn Weblate le leaganacha níos sine a thuilleadh.
ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)Is é is cúis leis seo ná neamh-chomhoiriúnacht na bpacáistí dénártha a dháiltear trí PyPI leis an dáileadh. Chun aghaidh a thabhairt air seo, ní mór duit an pacáiste ar do chóras a atógáil:
uv pip install --force-reinstall --no-binary :all: cffi
error: ‘xmlSecKeyDataFormatEngine’ undeclared (first use in this function); did you mean ‘xmlSecKeyDataFormat’?Is fadhb aitheanta í seo den phacáiste xmlsec, féach https://github.com/xmlsec/python-xmlsec/issues/314 le do thoil.
lxml & xmlsec libxml2 library version mismatchCaithfear na pacáistí
lxmlagusxmlseca thógáil i gcoinnelibxml2amháin. Ba chóir duit iad a thógáil go háitiúil chun an fhadhb seo a sheachaint:uv pip install --force-reinstall --no-binary xmlsec --no-binary lxml lxml xmlsec
Riachtanais chórais eile¶
Ní mór na spleáchais seo a leanas a shuiteáil ar an gcóras:
Git- Pango, Cairo agus comhaid ceanntásca gaolmhara agus sonraí inbhreathnaitheachta GObject
https://cairographics.org/, https://www.gtk.org/docs/architecture/pango, féach Pango agus Caireo
git-review(roghnach do thacaíocht Gerrit)git-svn(roghnach le haghaidh tacaíochta Subversion)tesseract(ag teastáil ach amháin más rud é nach bhfuil tesserocr rothaí dénártha ar fáil le do chóras)
Spleáchais Tógála-am¶
Chun cuid de na Cleithiúlachtaí Python a thógáil b'fhéidir go mbeadh ort a gcuid spleáchais a shuiteáil. Braitheann sé seo ar conas a shuiteáil tú iad, mar sin féach ar phacáistí aonair le haghaidh doiciméadú. Ní bheidh siad sin de dhíth ort má tá Rothaí réamhthógtha in úsáid agat agus tú ag suiteáil le pip nó nuair a úsáideann tú pacáistí dáileacháin.
Pango agus Caireo¶
Úsáideann Weblate Pango agus Cairo chun giuirléidí mapa giotán a rindreáil (féach Ag tógáil an phobail aistriúcháin) agus chun seiceálacha a dhéanamh (féach Clónna a bhainistiú). Chun ceangail Python a shuiteáil i gceart dóibh siúd is gá duit leabharlanna córais a shuiteáil ar dtús - teastaíonn Cairo agus Pango araon, a dteastaíonn GLib uathu dá bharr. Ba cheart iad sin go léir a shuiteáil le comhaid forbartha agus sonraí inbhreathnaitheachta GObject.
Riachtanais crua-earraí¶
Ba cheart go n-oibreodh Weblate ar aon chrua-earraí comhaimseartha gan fadhbanna, seo a leanas an chumraíocht íosta a theastaíonn chun Weblate a rith ar óstach amháin (Weblate, bunachar sonraí agus freastalaí gréasáin):
3 GB RAM
2 chroílár LAP
1 GB de spás stórála
Note
Bíonn éagsúlacht mhór ag baint le riachtanais iarbhír do shuiteáil Weblate bunaithe ar mhéid na n-aistriúchán a bhainistítear ann.
Úsáid cuimhne¶
An níos mó cuimhne is amhlaidh is fearr - úsáidtear é le haghaidh taisceadh ar gach leibhéal (córas comhaid, bunachar sonraí agus Weblate). Maidir leis na céadta comhpháirteanna aistriúcháin, moltar 4 GB RAM ar a laghad.
Hint
Maidir le córais a bhfuil níos lú cuimhne acu ná mar a mholtar, moltar Socrú Soilire aonphróisis.
Úsáid LAP¶
Méadaíonn go leor úsáideoirí comhthráthacha an méid croíleacáin LAP atá ag teastáil.
Úsáid stórála¶
Is é an gnáthúsáid stórála bunachar sonraí ná thart ar 300 MB in aghaidh an 1 milliún focal óstaithe.
Ní hionann an spás stórála a theastaíonn le haghaidh stórtha clónáilte, ach déanann Weblate iarracht a méid a choinneáil íosta trí chlóin éadomhain a dhéanamh.
Nóid¶
Maidir le suíomhanna beaga agus meánmhéide (na milliúin focal óstáilte), is féidir gach comhpháirteanna Weblate (féach Forbhreathnú ar ailtireacht) a reáchtáil ar nód amháin.
Nuair a fhásann tú go dtí na céadta milliún focal óstaithe, moltar nód tiomnaithe a bheith agat don bhunachar sonraí (féach Socrú bunachar sonraí le haghaidh Weblate).
Sínithe eisiúna á bhfíorú¶
Sínítear go cripteagrafach le heisiúint an tsuímh ghréasáin ag baint úsáide as Sínithe Sigstore. Tá na sínithe ceangailte leis an scaoileadh GitHub.
Is féidir an fíorú a dhéanamh trí úsáid a bhaint as pacáiste sigstore. Fíoraíonn an sampla seo a leanas síniú eisiúint 5.4:
sigstore verify github \
--cert-identity https://github.com/WeblateOrg/weblate/.github/workflows/setup.yml@refs/tags/weblate-5.4 \
--bundle Weblate-5.4-py3-none-any.whl.sigstore \
Weblate-5.4-py3-none-any.whl
Ceadanna córas comhaid¶
Caithfidh an próiseas Weblate a bheith in ann léamh agus scríobh chuig an eolaire ina gcoinníonn sé sonraí - DATA_DIR. Ba chóir go mbeadh gach comhad laistigh den eolaire seo faoi úinéireacht agus inscríofa ag an úsáideoir a reáchtáil gach próiseas Weblate (de ghnáth WSGI agus Soilire, féach Freastalaí ag rith agus Tascanna cúlra ag baint úsáide as Soilire).
Cuireann an chumraíocht réamhshocraithe iad sa chrann céanna leis na foinsí Weblate, ach b'fhéidir gurbh fhearr leat iad seo a bhogadh go suíomh níos fearr mar: /var/lib/weblate.
Déanann Weblate iarracht na heolairí seo a chruthú go huathoibríoch, ach teipfidh air nuair nach bhfuil cead aige é sin a dhéanamh.
The configured CACHE_DIR also has to be writable by the Weblate
process and has to allow executing generated helper files. Do not mount
CACHE_DIR with the noexec option.
Ba cheart duit a bheith cúramach freisin agus tú ag rith Orduithe bainistíochta, mar ba cheart iad a rith faoin úsáideoir céanna atá Weblate féin ag rith, nó d'fhéadfadh ceadanna ar roinnt comhad a bheith mícheart.
Sa choimeádán Docker, caithfidh gach comhad sa toirte /app/data a bheith faoi úinéireacht ag an úsáideoir weblate taobh istigh den choimeádán (UID 1000).
See also
Socrú bunachar sonraí le haghaidh Weblate¶
Moltar Weblate a rith le freastalaí bunachar sonraí PostgreSQL.
Tacaítear le PostgreSQL 13 agus níos airde. Moltar PostgreSQL 15 nó níos nuaí.
See also
Naisc bunachar sonraí¶
Sa chumraíocht réamhshocraithe, coinníonn gach próiseas Weblate nasc leanúnach leis an mbunachar sonraí. Feabhsaíonn naisc leanúnacha freagarthacht Weblate, ach d'fhéadfadh go mbeadh níos mó acmhainní ag teastáil ón bhfreastalaí Téigh i gcomhair CONN_MAX_AGE agus: Persistent connections le haghaidh tuilleadh eolais.
Tá an líon nasc seo a leanas ar a laghad ag teastáil ó Weblate:
\((4 \times \mathit{nCPUs}) + 2\) le haghaidh próisis Soilire
\(\mathit{nCPUs} + 1\) d'oibrithe WSGI
Baineann sé seo le mainneachtainí coimeádán Docker agus cumraíochtaí mar shampla a sholáthraítear sa doiciméadú seo, ach athrófar na huimhreacha nuair a shaincheapann tú méid oibrithe WSGI nó nuair a choigeartóidh tú comhthreomhar Soilire.
Ní mór an teorainn iarbhír do líon na nasc bunachar sonraí a bheith níos airde chun cuntas a thabhairt sna cásanna seo a leanas:
Teastaíonn a nasc ó Orduithe bainistíochta freisin.
Má mharaítear próiseas cáis (mar shampla ag maor OOM), d’fhéadfadh sé go gcuirfeadh sé bac ar an nasc atá ann cheana féin go dtí an teorainn ama.
PostgreSQL¶
Is gnách gurb é PostgreSQL an rogha is fearr do shuíomhanna atá bunaithe ar Django. Is é an bunachar sonraí tagartha a úsáidtear chun ciseal bunachar sonraí Django a chur i bhfeidhm.
Note
Úsáideann Weblate síneadh trigram a chaithfear a shuiteáil ar leithligh i gcásanna áirithe. Cuardaigh postgresql-contrib nó pacáiste den chineál céanna.
See also
Bunachar sonraí a chruthú i PostgreSQL¶
De ghnáth is smaoineamh maith é Weblate a rith i mbunachar sonraí ar leith, agus cuntas úsáideora ar leith:
# If PostgreSQL was not installed before, set the main password
sudo -u postgres psql postgres -c "\password postgres"
# Create a database user called "weblate"
sudo -u postgres createuser --superuser --pwprompt weblate
# Create the database "weblate" owned by "weblate"
sudo -u postgres createdb -E UTF8 -O weblate weblate
Hint
Mura dteastaíonn uait an t-úsáideoir Weblate a dhéanamh ina shár-úsáideoir in PostgreSQL, is féidir é sin a fhágáil ar lár. Sa chás sin beidh ort cuid de na céimeanna aistrithe a dhéanamh de láimh mar úsáidfidh sár-úsáideoir PostgreSQL sa scéimre Weblate:
CREATE EXTENSION IF NOT EXISTS pg_trgm;
CREATE EXTENSION IF NOT EXISTS btree_gin;
Weblate a chumrú chun PostgreSQL a úsáid¶
An snippet settings.py do PostgreSQL:
DATABASES = {
"default": {
# Database engine
"ENGINE": "django.db.backends.postgresql",
# Database name
"NAME": "weblate",
# Database user
"USER": "weblate",
# Configures name of the PostgreSQL role to alter during the database migration
# "ALTER_ROLE": "weblate",
# Database password
"PASSWORD": "password",
# Set to empty string for localhost
"HOST": "database.example.com",
# Set to empty string for default
"PORT": "",
# Persistent connections
"CONN_MAX_AGE": None,
"CONN_HEALTH_CHECKS": True,
}
}
Feidhmíonn an t-aistriú bunachar sonraí ALTER ROLE ar an ról bunachar sonraí a úsáideann Weblate. I bhformhór na gcásanna, tagann ainm an róil leis an ainm úsáideora. I socruithe níos casta tá ainm an róil difriúil ón ainm úsáideora, agus gheobhaidh tú earráid maidir le ról nach bhfuil ann cheana féin le linn aistriú an bhunachair sonraí (psycopg2.errors.UndefinedObject: role "weblate@hostname" is not exist). Is eol go dtarlóidh sé seo le Bunachar Sonraí Azure do PostgreSQL, ach níl sé teoranta don timpeallacht seo. Socraigh ALTER_ROLE le do thoil chun ainm an róil ar cheart do Weblate a athrú le linn aistriú an bhunachair sonraí a athrú.
See also
Cumraíochtaí eile¶
Ríomhphoist amach a chumrú¶
Seolann Weblate r-phoist ar ócáidí éagsúla - chun cuntais a ghníomhachtú agus ar fhógraí éagsúla a chumraíonn úsáideoirí. Chuige seo teastaíonn rochtain ar fhreastalaí SMTP air.
Cumraítear socrú an fhreastalaí ríomhphoist ag baint úsáide as na socruithe seo EMAIL_HOST, EMAIL_HOST_PASSWORD, EMAIL_USE_TLS, EMAIL_USE_SSL, EMAIL_HOST_USER and EMAIL_PORT. Tá a n-ainmneacha féinmhínithe go leor, ach is féidir leat tuilleadh faisnéise a fháil i ndoiciméadú Django.
Hint
Sa chás go bhfaigheann tú earráid faoi fhíordheimhniú nach dtacaítear leis (mar shampla SMTP AUTH extension not supported by server), is dóichí gur nasc neamhshlán is cúis leis agus go ndiúltaíonn an freastalaí fíordheimhniú a dhéanamh ar an mbealach seo. Bain triail as EMAIL_USE_TLS a chumasú sa chás sin.
Rith taobh thiar seachfhreastalaí droim ar ais¶
Braitheann roinnt gnéithe i Weblate ar cheanntásca HTTP cearta a chur chuig Weblate. Agus seachfhreastalaí droim ar ais á úsáid agat, déan cinnte go gcuirtear an fhaisnéis riachtanach ar aghaidh i gceart.
Chun an chumraíocht seo a dhífhabhtú, is féidir leat féachaint ar HTTP environment i Tuarascáil feidhmíochta.
- Seoladh IP an chliaint
Tá sé seo ag teastáil le haghaidh Teorainn rátaí nó Loga iniúchta.
Déanann Weblate parsáil ar an seoladh IP ón
REMOTE_ADDR, atá socraithe ag an láimhseálaí WSGI. D’fhéadfadh sé seo a bheith folamh (nuair a úsáidtear soicéad le haghaidh WSGI) nó seoladh seachfhreastalaí droim ar ais a bheith ann, mar sin teastaíonn ceanntásc HTTP breise le seoladh IP cliaint ó Weblate.Ba cheart go mbeadh
IP_BEHIND_REVERSE_PROXYleordhóthanach do na socruithe is gnách, ach b'fhéidir go mbeadh ortIP_PROXY_HEADERagusIP_PROXY_OFFSETa choigeartú chomh maith (bain úsáid asWEBLATE_IP_PROXY_HEADERagusWEBLATE_IP_PROXY_OFFSETsa choimeádán Docker).Hint
Ní féidir an chumraíocht seo a chasadh air de réir réamhshocraithe, mar go gceadódh sé bréagadóireacht seoltaí IP ar shuiteálacha nach bhfuil seachfhreastalaí droim ar ais cumraithe i gceart acu.
- Ainm óstach an fhreastalaí
Ba chóir go mbeadh an ceanntásc Host ag teacht leis an méid atá cumraithe mar
SITE_DOMAIN. D’fhéadfadh go mbeadh gá le cumraíocht bhreise i do sheachfhreastalaí droim ar ais (mar shampla bain úsáid asProxyPreserveHost Onle haghaidh Apache nóproxy_set_header Host $host;le nginx).Hint
Is minic a bhíonn earráidí teipthe fíoraithe CSRF mar gheall ar neamhréir idir an ceanntásc Host agus an
SITE_DOMAINcumraithe.- Prótacal cliant
Mura gcuirtear an prótacal ceart i bhfeidhm, d’fhéadfadh sé go mbeadh Weblate i lúb atreoraithe agus é ag iarraidh an cliant a uasghrádú go HTTPS. Cinntigh go bhfuil sé nochta i gceart ag an seachfhreastalaí droim ar ais mar X-Forwarded-Proto.
Ansin ní mór an ceanntásc seo a chumrú i
SECURE_PROXY_SSL_HEADER(settings.py) nóWEBLATE_SECURE_PROXY_SSL_HEADER(timpeallacht Docker).Important
Tá luach an cheanntásca íogair ó thaobh cás de sa chumraíocht, mar sin níl
WEBLATE_SECURE_PROXY_SSL_HEADER=HTTP_X_FORWARDED_PROTO,httpsagusWEBLATE_SECURE_PROXY_SSL_HEADER=HTTP_X_FORWARDED_PROTO,HTTPSinmhalartaithe.Hint
Má tá earráid "An iomarca atreoruithe" á fáil agat ón mbrabhsálaí, is dóichí gur easaontas idir an prótacal iarbhír (HTTPS) agus an méid a fheiceann Weblate is cúis leis seo.
Changed in version 5.13: Déantar ceanntásca seachfhreastalaí an phrótacail a láimhseáil go huathoibríoch ag gunicorn sa chumraíocht réamhshocraithe, ach tá cumraíocht níos sláine ag freastalaithe WSGI eile agus teastaíonn socruithe sainráite chuige seo uathu.
Ó Weblate 5.13 i leith, tá granian á úsáid ag an gcoimeádán Docker agus teastaíonn cumraíocht shoiléir
WEBLATE_SECURE_PROXY_SSL_HEADERanois.
See also
seachfhreastalaí HTTP¶
Feidhmíonn Weblate orduithe VCS agus glacann siad leo cumraíocht seachfhreastalaí ón gcomhshaol. Is é an cur chuige a mholtar socruithe seachfhreastalaí a shainiú in settings.py:
import os
os.environ["http_proxy"] = "http://proxy.example.com:8080"
os.environ["HTTPS_PROXY"] = "http://proxy.example.com:8080"
Cumraíocht a choigeartú¶
See also
Cóipeáil weblate/settings_example.py chuig weblate/settings.py agus é a choigeartú chun do shocrú a mheaitseáil. Is dócha gur mhaith leat na roghanna seo a leanas a choigeartú:
ADMINS
Liosta de riarthóirí láithreáin a gheobhaidh fógraí nuair a théann rud éigin mícheart, mar shampla fógraí ar chumaisc theipthe, nó earráidí Django.
Seolann an fhoirm teagmhála r-phost orthu seo freisin ach amháin má tá
ADMINS_CONTACTcumraithe.
ALLOWED_HOSTS
Ní mór duit é seo a shocrú chun liosta a dhéanamh de na hóstach a bhfuil do shuíomh ceaptha freastal orthu. Mar shampla:
ALLOWED_HOSTS = ["demo.weblate.org"]Nó is féidir leat saoróg a chur san áireamh:
ALLOWED_HOSTS = ["*"]
SESSION_ENGINE
Cumraigh conas a stórálfar do sheisiúin. Sa chás go gcoinníonn tú inneall réamhshocraithe an bhunachair shonraí, ba cheart duit na nithe seo a leanas a sceidealú: weblate clearsessions chun seansonraí seisiúin a bhaint den bhunachar sonraí.
Más Valkey nó Redis atá in úsáid agat mar thaisce (féach Cumraigh an taisce) moltar é a úsáid le haghaidh seisiún chomh maith:
SESSION_ENGINE = "django.contrib.sessions.backends.cache"
DATABASES
Nascacht le freastalaí bunachar sonraí, seiceáil doiciméadú Django le haghaidh tuilleadh sonraí.
DEBUG
Díchumasaigh é seo d'aon fhreastalaí táirgeachta. Agus an modh dífhabhtaithe cumasaithe, taispeánfaidh Django rianaithe cúltaca i gcás earráide d'úsáideoirí, agus nuair a dhíchumasaíonn tú é, seolfar earráidí trí ríomhphost chuig
ADMINS(féach thuas).Moillíonn modh dífhabhtaithe Weblate freisin, toisc go stórálann Django i bhfad níos mó faisnéise go hinmheánach sa chás seo.
See also
DEFAULT_FROM_EMAIL
Seoladh ríomhphoist seoltóra le haghaidh r-phoist atá ag dul as oifig, mar shampla r-phoist clárúcháin.
See also
SECRET_KEY
An eochair a úsáideann Django chun roinnt faisnéise a shíniú i bhfianáin, féach Django eochair rúnda le haghaidh tuilleadh eolais.
See also
SERVER_EMAIL
R-phost a úsáidtear mar sheoladh seoltóra chun r-phoist a sheoladh chuig an riarthóir, mar shampla fógraí ar chumaisc theip.
See also
An bunachar sonraí a líonadh¶
Nuair a bheidh do chumraíocht réidh, is féidir leat migrate a rith chun struchtúr an bhunachair shonraí a chruthú. Anois, ba cheart go mbeifeá in ann tionscadail aistriúcháin a chruthú leis an gcomhéadan riaracháin.
Nuair a bheidh tú críochnaithe, ba cheart duit an Tuairisc feidhmíochta a sheiceáil sa chomhéadan riaracháin, a thabharfadh leideanna duit maidir le cumraíocht féideartha neamh-optamach ar do shuíomh.
See also
Socrú táirgeachta¶
Le haghaidh socrú táirgeachta ba cheart duit na coigeartuithe a thuairiscítear sna hailt seo a leanas a dhéanamh. Spreagfaidh na socruithe is tábhachtaí rabhadh, a léirítear le comhartha sceimhle sa bharra uachtarach má tá tú sínithe isteach mar shárúsáideoir:
Moltar freisin seiceálacha arna dtionscnamh ag Django a iniúchadh (cé go mb’fhéidir nach mbeadh ort iad go léir a shocrú):
weblate check --deploy
Is féidir leat an seicliosta céanna a athbhreithniú freisin ag Tuarascáil feidhmíochta sa Comhéadan bainistíochta.
See also
Díchumasaigh mód dífhabhtaithe¶
Díchumasaigh modh dífhabhtaithe Django (DEBUG) trí:
DEBUG = False
Agus modh dífhabhtaithe ar siúl, stórálann Django gach fiosrúchán a rinneadh agus taispeánann sé cúlrianta earráidí d'úsáideoirí, rud nach bhfuil ag teastáil i socrú táirgeachta.
See also
Riarthóirí a chumrú i gceart¶
Socraigh na seoltaí riaracháin cearta chuig an socrú ADMINS chun a shainiú cé a gheobhaidh r-phoist ar eagla go n-éireoidh rud éigin mícheart ar an bhfreastalaí, mar shampla:
ADMINS = ("Your Name <your_email@example.com>",)
See also
Socraigh fearann suímh ceart¶
Coigeartaigh ainm agus fearann an tsuímh sa chomhéadan riaracháin, nó ní oibreoidh naisc i RSS nó ríomhphoist clárúcháin. Tá sé seo cumraithe ag baint úsáide as SITE_DOMAIN ar cheart ainm fearainn an tsuímh a bheith ann.
Changed in version 4.2: Sular eisíodh 4.2 úsáideadh creat suíomhanna Django ina ionad sin, féach The “sites” framework.
Cumraigh HTTPS i gceart¶
Moltar go láidir Weblate a rith ag baint úsáide as an bprótacal HTTPS criptithe. Tar éis duit é a chumasú, ba cheart duit ENABLE_HTTPS a shocrú sna socruithe:
ENABLE_HTTPS = True
Hint
B'fhéidir gur mhaith leat HSTS a shocrú freisin, féach SSL/HTTPS le haghaidh tuilleadh sonraí.
Socraigh i gceart SECURE_HSTS_SECONDS¶
Má sheirbheáltar do shuíomh thar SSL, caithfidh tú smaoineamh ar luach a shocrú le haghaidh SECURE_HSTS_SECONDS sna settings.py chun slándáil iompair docht HTTP a chumasú. De réir réamhshocraithe tá sé socraithe go 0 mar a thaispeántar thíos.
SECURE_HSTS_SECONDS = 0
Má shocraítear é ar luach slánuimhir neamh-nialas, socraíonn an django.middleware.security.SecurityMiddleware an ceanntásc HTTP Strict Transport Security ar gach freagra nach bhfuil ann cheana é.
Warning
Má shocraítear é seo go mícheart, féadtar do shuíomh a bhriseadh go dochúlaithe (go ceann tamaill). Léigh an doiciméadú HTTP Strict Transport Security ar dtús.
Bain úsáid as inneall bunachar sonraí cumhachtach¶
Úsáid PostgreSQL le haghaidh timpeallacht táirgeachta, féach Socrú bunachar sonraí le haghaidh Weblate le haghaidh tuilleadh faisnéise.
Bain úsáid as an suíomh cóngarach chun an freastalaí bunachar sonraí a rith, nó d'fhéadfadh an fheidhmíocht líonraithe nó iontaofacht do thaithí Weblate a mhilleadh.
Seiceáil feidhmíocht an fhreastalaí bunachar sonraí nó tweak a chumraíocht, mar shampla ag baint úsáide as PGTune.
Cumraigh an taisce¶
Más féidir, bain úsáid as Valkey nó Redis ó Django tríd an athróg chumraíochta CACHES a choigeartú, mar shampla:
CACHES = {
"default": {
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "redis://127.0.0.1:6379/0",
# If redis is running on same host as Weblate, you might
# want to use unix sockets instead:
# 'LOCATION': 'unix:///var/run/redis/redis.sock?db=0',
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
},
}
}
Hint
Sa chás go n-athraíonn tú socruithe don taisce, b'fhéidir go mbeadh ort iad a choigeartú le haghaidh Soilire chomh maith, féach Tascanna cúlra ag baint úsáide as Soilire.
See also
Taisce avatar¶
Chomh maith le taisceadh Django, déanann Weblate caching avatars. Moltar taisce ar leith, comhad-thacaithe a úsáid chun na críche seo:
CACHES = {
"default": {
# Default caching backend setup, see above
"BACKEND": "django_redis.cache.RedisCache",
"LOCATION": "unix:///var/run/redis/redis.sock?db=0",
"OPTIONS": {
"CLIENT_CLASS": "django_redis.client.DefaultClient",
"PARSER_CLASS": "redis.connection.HiredisParser",
},
},
"avatar": {
"BACKEND": "django.core.cache.backends.filebased.FileBasedCache",
"LOCATION": os.path.join(DATA_DIR, "avatar-cache"),
"TIMEOUT": 604800,
"OPTIONS": {
"MAX_ENTRIES": 1000,
},
},
}
Cumraigh seoladh r-phoist¶
Ní mór do Weblate r-phoist a sheoladh roinnt uaireanta, agus ba cheart go mbeadh an seoladh seoltaí ceart ag na r-phoist seo, cumraigh le do thoil SERVER_EMAIL agus DEFAULT_FROM_EMAIL chun teacht le do thimpeallacht, mar shampla:
SERVER_EMAIL = "admin@example.org"
DEFAULT_FROM_EMAIL = "weblate@example.org"
Note
Chun seoladh ríomhphoist a dhíchumasú trí Weblate tacair EMAIL_BACKEND chuig django.core.mail.backends.dummy.EmailBackend.
Díchumasóidh sé seo seachadadh ríomhphoist gach lena n-áirítear clárú nó r-phoist athshocraithe pasfhocail.
Ceadaíodh socrú na n-óstach¶
Éilíonn Django ALLOWED_HOSTS chun liosta d'ainmneacha fearainn a shealbhú ceadaítear do shuíomh a sheirbheáil, rud a fhágfaidh sé folamh bac ar aon iarratais.
Sa chás nach bhfuil sé seo cumraithe le do fhreastalaí HTTP a mheaitseáil, gheobhaidh tú earráidí mar Ceanntásc neamhbhailí HTTP_HOST: '1.1.1.1'. Seans go mbeidh ort '1.1.1.1' a chur le ALLOWED_HOSTS.
Hint
Ar an gcoimeádán Docker, tá sé seo ar fáil mar WEBLATE_ALLOWED_HOSTS.
Django eochair rúnda¶
Úsáideann Django an socrú SECRET_KEY chun fianáin a shíniú, agus ba cheart duit do luach féin a ghiniúint i ndáiríre seachas an ceann ón socrú samplach a úsáid.
Is féidir leat eochair nua a ghiniúint ag baint úsáide as weblate-generate-secret-key seolta le Weblate.
See also
Tascanna cothabhála a rith¶
Chun feidhmíocht is fearr a fháil, is smaoineamh maith roinnt tascanna cothabhála a reáchtáil sa chúlra. Déanann sé seo go huathoibríoch ó Tascanna cúlra ag baint úsáide as Soilire agus clúdaíonn sé na tascanna seo a leanas:
Seiceáil sláinte cumraíochta (in aghaidh na huaire).
Athruithe atá ar feitheamh (in aghaidh na huaire) a dhéanamh, féach Geallann leisciúil agus
commit_pending.Foláirimh chomhpháirt a nuashonrú (laethúil).
Nuashonraigh cianbhrainsí (go h-oíche), féach
AUTO_UPDATE.Cúltaca cuimhne aistriúcháin go JSON (go laethúil), féach
dump_memory.Tascanna cothabhála lántéacs agus bunachar sonraí (tascanna laethúla agus seachtainiúla), féach
cleanuptrans.
Logánú córais agus ionchódú¶
Ba cheart logaí an chórais a chumrú chuig na cinn atá in ann UTF-8. Ar fhormhór dáiltí Linux is é seo an socrú réamhshocraithe. Ar eagla nach bhfuil sé amhlaidh ar do chóras, athraigh logaí go leagan UTF-8 le do thoil.
Mar shampla trí /etc/default/locale a chur in eagar agus socrú ann LANG="C.UTF-8".
I gcásanna áirithe tá cumraíocht ar leith ag na seirbhísí aonair le haghaidh locales. Athraíonn sé seo idir dáileadh agus freastalaithe gréasáin, mar sin seiceáil doiciméadú do phacáistí freastalaí gréasáin chuige sin.
Úsáideann Apache ar Ubuntu /etc/apache2/envvars:
export LANG='en_US.UTF-8'
export LC_ALL='en_US.UTF-8'
Úsáideann Apache ar CentOS /etc/sysconfig/httpd (nó /opt/rh/httpd24/root/etc/sysconfig/httpd):
LANG='en_US.UTF-8'
Sócmhainní cliaint a chomhbhrú¶
Tagann Weblate le dornán comhaid JavaScript agus CSS. Ar chúiseanna feidhmíochta is maith iad a chomhbhrú sula gcuirtear chuig cliant iad. I gcumraíocht réamhshocraithe déantar é seo ar an eitilt ar chostas beag forchostais. Ar shuiteálacha móra, moltar modh comhbhrú as líne a chumasú. Ní mór é seo a dhéanamh sa chumraíocht agus ní mór an comhbhrú a spreagadh ar gach uasghrádú Weblate.
Tá an lasc cumraíochta simplí trí django.conf.settings.COMPRESS_OFFLINE a chumasú agus django.conf.settings.COMPRESS_OFFLINE_CONTEXT a chumasú (tá an ceann deireanach san áireamh sa chumraíocht shamplach cheana féin):
COMPRESS_OFFLINE = True
Ar gach imscaradh ní mór duit na comhaid a chomhbhrú chun an leagan reatha a mheaitseáil:
weblate compress
Hint
Tá an ghné seo cumasaithe cheana féin ag íomhá oifigiúil an Docker.
Freastalaí ag rith¶
Hint
Sa chás nach bhfuil taithí agat ar na seirbhísí a gcuirtear síos orthu thíos, b'fhéidir gur mhaith leat triail a bhaint as Suiteáil ag baint úsáide as Docker.
Beidh roinnt seirbhísí ag teastáil uait chun Weblate a rith, is é atá sa socrú molta:
Freastalaí bunachar sonraí (féach Socrú bunachar sonraí le haghaidh Weblate)
Freastalaí taisce (féach Cumraigh an taisce)
Freastalaí gréasáin tosaigh le haghaidh comhaid statacha agus foirceannadh SSL (féach Comhaid statacha a sheirbheáil)
Freastalaí WSGI le haghaidh ábhar dinimiciúil (féach Cumraíocht shamplach do NGINX agus uWSGI)
Soilire chun tascanna cúlra a fhorghníomhú (féach Tascanna cúlra ag baint úsáide as Soilire)
Note
Tá roinnt spleáchais idir na seirbhísí, mar shampla ba chóir go mbeadh taisce agus bunachar sonraí ar siúl agus próisis Soilire nó uwsgi á gcur ar bun.
I bhformhór na gcásanna, reáchtálfaidh tú na seirbhísí go léir ar fhreastalaí aonair (fíorúil), ach i gcás go bhfuil do shuiteáil ualach trom, is féidir leat na seirbhísí a roinnt. Is é an t-aon teorainn leis seo ná go dteastaíonn rochtain ó fhreastalaithe Soilire agus Wsgi ar DATA_DIR.
Note
Ní mór an próiseas WSGI a chur i gcrích faoin úsáideoir céanna agus an próiseas Soilire, nó déanfar comhaid sa DATA_DIR a stóráil le húinéireacht mheasctha, rud a fhágfaidh go mbeidh saincheisteanna am rite ann.
Féach freisin Ceadanna córas comhaid agus Tascanna cúlra ag baint úsáide as Soilire.
Freastalaí gréasáin a rith¶
Níl aon difríocht idir Rith Weblate agus aon chlár eile atá bunaithe ar Django a rith. De ghnáth déantar Django a fhorghníomhú mar WSGI nó fcgi (féach samplaí le haghaidh freastalaithe gréasáin éagsúla thíos).
Note
The sample configuration files shown below are maintained in the Weblate
source tree under weblate/examples/. They are included in source
distributions and in this documentation, but Python wheels only install
runtime files. When installing Weblate from PyPI, get the matching source
distribution or source checkout before copying these examples.
Chun críocha tástála, is féidir leat an freastalaí gréasáin ionsuite in Django a úsáid:
weblate runserver
Warning
NÁ ÚSÁID AN FREAGRACH SEO I SUÍOMH TÁIRGEADH. Ní dheachaigh sé trí iniúchtaí slándála nó tástálacha feidhmíochta. Féach freisin doiciméadú Django ar runserver.
Hint
Ní fhreastalaíonn an freastalaí ionsuite Django ach comhaid statach nuair a bhíonn DEBUG cumasaithe mar go bhfuil sé beartaithe le haghaidh forbartha amháin. Le húsáid i dtáirgeadh, féach socruithe WSGI le do thoil:
Comhaid statacha a sheirbheáil¶
Changed in version 5.15.2: Ní úsáidtear /media/ a thuilleadh chun scáileáin a sheirbheáil.
Ní mór do Django a chomhaid statacha a bhailiú in aon eolaire amháin. Chun é sin a dhéanamh, rith weblate collectstatic --noinput. Déanfaidh sé seo na comhaid statacha a chóipeáil isteach in eolaire atá sonraithe ag an socrú STATIC_ROOT (réamhshocraithe é seo chuig eolaire statach taobh istigh de CACHE_DIR).
Moltar comhaid statacha a sheirbheáil go díreach ó do fhreastalaí gréasáin, ba cheart duit é a úsáid le haghaidh na gcosán seo a leanas:
/static/Freastalaíonn sé ar chomhaid statacha do Weblate agus don chomhéadan riaracháin (ó shainithe ag
STATIC_ROOT)./favicon.icoBa chóir é a athscríobh chun riail a athscríobh chun freastalaí
/static/favicon.ico.
See also
Beartas slándála ábhair¶
Cumasaíonn cumraíocht réamhshocraithe Weblate weblate.middleware.SecurityMiddleware lárearraí a shocraíonn ceanntásca HTTP a bhaineann le slándáil mar Content-Security-Policy nó X-XSS-Protection. Socraítear iad seo de réir réamhshocraithe chun oibriú le Weblate agus a chumraíocht, ach d’fhéadfadh go mbeadh gá le saincheaptha le do thimpeallacht.
Cumraíocht shamplach do NGINX agus Granian¶
Ritheann an chumraíocht seo a leanas Weblate ag baint úsáide as Granian, an freastalaí gréasáin NGINX:
#
# nginx configuration for Weblate
#
# You will want to change:
#
# - server_name
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match your Python version
# - change weblate user to match your Weblate user
#
server {
listen 80;
server_name weblate;
# Not used
root /var/www/html;
location ~ ^/favicon.ico$ {
# CACHE_DIR/static/favicon.ico
alias /home/weblate/data/cache/static/favicon.ico;
expires 30d;
}
location /static/ {
# CACHE_DIR/static/
alias /home/weblate/data/cache/static/;
expires 30d;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8888;
proxy_read_timeout 3600;
}
}
Cumraíocht shamplach do NGINX agus Gunicorn¶
The following configuration runs Weblate using Gunicorn under the NGINX webserver
(weblate/examples/weblate.nginx.gunicorn.conf in the source tree):
#
# nginx configuration for Weblate
#
# You will want to change:
#
# - server_name
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match your Python version
# - change weblate user to match your Weblate user
#
server {
listen 80;
server_name weblate;
# Not used
root /var/www/html;
location ~ ^/favicon.ico$ {
# CACHE_DIR/static/favicon.ico
alias /home/weblate/data/cache/static/favicon.ico;
expires 30d;
}
location /static/ {
# CACHE_DIR/static/
alias /home/weblate/data/cache/static/;
expires 30d;
}
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_pass http://unix:/run/gunicorn.sock;
proxy_read_timeout 3600;
}
}
Cumraíocht shamplach do NGINX agus uWSGI¶
Chun freastalaí gréasáin táirgeachta a rith, bain úsáid as an fillteán WSGI atá suiteáilte le Weblate (nuair atá timpeallacht Python in úsáid, suiteáiltear é mar ~/weblate-env/lib/python3.14/site-packages/weblate/wsgi.py). Ná déan dearmad an cosán cuardaigh Python a shocrú chuig do thimpeallacht Python chomh maith (mar shampla, ag baint úsáide as virtualenv = /home/user/weblate-env in uWSGI).
Ritheann an chumraíocht seo a leanas Weblate mar uWSGI faoi fhreastalaí gréasáin NGINX.
Configuration for NGINX (weblate/examples/weblate.nginx.conf in the source tree):
#
# nginx configuration for Weblate
#
# You will want to change:
#
# - server_name
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match your Python version
# - change weblate user to match your Weblate user
#
server {
listen 80;
server_name weblate;
# Not used
root /var/www/html;
location ~ ^/favicon.ico$ {
# CACHE_DIR/static/favicon.ico
alias /home/weblate/data/cache/static/favicon.ico;
expires 30d;
}
location /static/ {
# CACHE_DIR/static/
alias /home/weblate/data/cache/static/;
expires 30d;
}
location / {
include uwsgi_params;
# Needed for long running operations in admin interface
uwsgi_read_timeout 3600;
# Adjust based to uwsgi configuration:
uwsgi_pass unix:///run/uwsgi/app/weblate/socket;
# uwsgi_pass 127.0.0.1:8080;
}
}
Configuration for uWSGI (weblate/examples/weblate.uwsgi.ini in the source tree):
#
# uWSGI configuration for Weblate
#
# You will want to change:
#
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change python3.12 to match your Python version
# - change weblate user to match your Weblate user
#
[uwsgi]
plugins = python3
master = true
protocol = uwsgi
socket = 127.0.0.1:8080
wsgi-file = /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/wsgi.py
# Add path to Weblate checkout if you did not install
# Weblate by pip
# python-path = /path/to/weblate
# Path to the Python environment
virtualenv = /home/weblate/weblate-env
# Needed for OAuth/OpenID
buffer-size = 8192
# Reload when consuming too much of memory
reload-on-rss = 250
# Increase number of workers for heavily loaded sites
workers = 8
# Enable threads for Sentry error submission
enable-threads = true
# Child processes do not need file descriptors
close-on-exec = true
# Avoid default 0000 umask
umask = 0022
# Run as weblate user
uid = weblate
gid = weblate
# Enable harakiri mode (kill requests after some time)
# harakiri = 3600
# harakiri-verbose = true
# Enable uWSGI stats server
# stats = :1717
# stats-http = true
# Do not log some errors caused by client disconnects
ignore-sigpipe = true
ignore-write-errors = true
disable-write-exception = true
See also
Cumraíocht shamplach le haghaidh Apache¶
Moltar prefork MPM a úsáid agus WSGI á úsáid le Weblate.
The following configuration runs Weblate as WSGI, you need to have enabled
mod_wsgi (weblate/examples/apache.conf in the source tree):
#
# VirtualHost for Weblate
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match Python version mod-wsgi is compiled for
# - change weblate user to match your Weblate user
#
<VirtualHost *:80>
ServerAdmin admin@weblate.example.org
ServerName weblate.example.org
# CACHE_DIR/static/favicon.ico
Alias /favicon.ico /home/weblate/data/cache/static/favicon.ico
# CACHE_DIR/static/
Alias /static/ /home/weblate/data/cache/static/
<Directory /home/weblate/data/cache/static/>
Require all granted
</Directory>
# Path to your Weblate Python environment
WSGIDaemonProcess weblate python-home=/home/weblate/weblate-env user=weblate request-timeout=600
WSGIProcessGroup weblate
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias / /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/wsgi.py process-group=weblate
WSGIPassAuthorization On
<Directory /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Note
Tá Python 3 ag teastáil ó Weblate, mar sin cinntigh go bhfuil leagan Python 3 den modwsgi á rith agat. De ghnáth bíonn sé ar fáil mar phacáiste ar leith, mar shampla libapache2-mod-wsgi-py3.
Úsáid an leagan comhoiriúnach Python chun Weblate a shuiteáil.
Cumraíocht shamplach le haghaidh Apache agus Gunicorn¶
The following configuration runs Weblate in Gunicorn and Apache 2.4
(weblate/examples/apache.gunicorn.conf in the source tree):
#
# VirtualHost for Weblate using gunicorn on localhost:8000
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change weblate user to match your Weblate user
#
<VirtualHost *:443>
ServerAdmin admin@weblate.example.org
ServerName weblate.example.org
# CACHE_DIR/static/favicon.ico
Alias /favicon.ico /home/weblate/data/cache/static/favicon.ico
# CACHE_DIR/static/
Alias /static/ /home/weblate/data/cache/static/
<Directory /home/weblate/data/cache/static/>
Require all granted
</Directory>
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/https_cert.cert
SSLCertificateKeyFile /etc/apache2/ssl/https_key.pem
SSLProxyEngine On
ProxyPass /favicon.ico !
ProxyPass /static/ !
ProxyPass / http://localhost:8000/
ProxyPassReverse / http://localhost:8000/
ProxyPreserveHost On
</VirtualHost>
Cumraíocht shamplach chun Granian a thosú¶
Tá spleáchas roghnach wsgi ag Weblate (féach Cleithiúlachtaí Python) a shuiteálfaidh gach rud atá uait chun Granian a rith. Agus Weblate á shuiteáil agat is féidir leat é a shonrú mar:
uv pip install Weblate[all,wsgi]
Nuair a bheidh Granian suiteáilte agat, is féidir leat é a rith. De ghnáth déantar é seo ag leibhéal an chórais. Taispeánann na samplaí seo a leanas tosú trí systemd:
[Unit]
Description=granian daemon
After=network.target
[Service]
User=weblate
Group=weblate
WorkingDirectory=/home/weblate/weblate-env/
Environment="DJANGO_SETTINGS_MODULE=weblate.settings"
RuntimeDirectory=granian
ExecStart=/home/weblate/weblate-env/bin/granian \
--no-ws \
--workers-max-rss 350 \
--interface wsgi \
--workers 2 \
--backpressure 16 \
--runtime-threads 8 \
--runtime-mode mt \
--port 8888 \
weblate.wsgi:application
[Install]
WantedBy=multi-user.target
~
Cumraíocht shamplach chun Gunicorn a thosú¶
Caithfear Gunicorn a shuiteáil ar leithligh:
uv pip install gunicorn
Nuair a bheidh Gunicorn suiteáilte agat, is féidir leat é a rith. Déantar é seo de ghnáth ag leibhéal an chórais. Léiríonn na samplaí seo a leanas tosú trí systemd:
[Unit]
Description=gunicorn socket
[Socket]
ListenStream=/run/gunicorn.sock
[Install]
WantedBy=sockets.target
[Unit]
Description=gunicorn daemon
Requires=gunicorn.socket
After=network.target
[Service]
User=weblate
Group=weblate
WorkingDirectory=/home/weblate/weblate-env/
Environment="DJANGO_SETTINGS_MODULE=weblate.settings"
ExecStart=/home/weblate/weblate-env/bin/gunicorn \
--preload \
--timeout 3600 \
--graceful-timeout 3600 \
--worker-class=gthread \
--workers=2 \
--threads=16 \
--bind unix:/run/gunicorn.sock \
weblate.wsgi:application
[Install]
WantedBy=multi-user.target
See also
Ag rith Weblate faoin gcosán¶
Moltar prefork MPM a úsáid agus WSGI á úsáid le Weblate.
A sample Apache configuration to serve Weblate under /weblate. Again using
mod_wsgi (weblate/examples/apache-path.conf in the source tree):
#
# VirtualHost for Weblate, running under /weblate path
#
# You will want to change:
#
# - ServerAdmin and ServerName
# - change /home/weblate/weblate-env to location where Weblate Python environment is placed
# - change /home/weblate/data to match your DATA_DIR
# - change /home/weblate/data/cache to match your CACHE_DIR
# - change python3.12 to match Python version mod-wsgi is compiled for
# - change weblate user to match your Weblate user
#
<VirtualHost *:80>
ServerAdmin admin@weblate.example.org
ServerName weblate.example.org
# CACHE_DIR/static/favicon.ico
Alias /weblate/favicon.ico /home/weblate/data/cache/static/favicon.ico
# CACHE_DIR/static/
Alias /weblate/static/ /home/weblate/data/cache/static/
<Directory /home/weblate/data/cache/static/>
Require all granted
</Directory>
# Path to your Weblate Python environment
WSGIDaemonProcess weblate python-home=/home/weblate/weblate-env user=weblate request-timeout=600
WSGIProcessGroup weblate
WSGIApplicationGroup %{GLOBAL}
WSGIScriptAlias /weblate /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/wsgi.py process-group=weblate
WSGIPassAuthorization On
<Directory /home/weblate/weblate-env/lib/python3.12/site-packages/weblate/>
<Files wsgi.py>
Require all granted
</Files>
</Directory>
</VirtualHost>
Ina theannta sin, beidh or weblate/settings.py a choigeartú:
URL_PREFIX = "/weblate"
Tascanna cúlra ag baint úsáide as Soilire¶
Úsáideann Weblate Soilire chun tascanna rialta agus cúlra a dhéanamh. Tá tú ceaptha seirbhís Soilire a rith a dhéanfaidh iad seo. Mar shampla, tá sé freagrach as na hoibríochtaí seo a leanas a láimhseáil (níl an liosta seo iomlán):
Crúcaí gréasáin a fháil ó sheirbhísí seachtracha (féach Crúcaí fógra).
Tascanna cothabhála rialta a reáchtáil mar chúltacaí, glantacháin, breiseáin laethúla nó nuashonruithe (féach Weblate a thacú agus a bhogadh,
BACKGROUND_TASKS, Breiseáin).Rith Aistriúchán uathoibríoch.
Fógraí achoimre á seoladh.
Oibríochtaí costasacha a dhíluchtú ón bpróiseas WSGI.
Athruithe ar feitheamh a dhéanamh (féach Geallann leisciúil).
Seo mar a bheadh socrú tipiciúil ag baint úsáide as Valkey nó Redis mar chúltaca:
CELERY_TASK_ALWAYS_EAGER = False
CELERY_BROKER_URL = "redis://localhost:6379"
CELERY_RESULT_BACKEND = CELERY_BROKER_URL
See also
You should also start the Celery worker to process the tasks and start scheduled tasks. For debugging or development, this can be done directly on the command-line:
celery --app=weblate.utils worker --beat --queues=celery,notify,memory,translate,backup
Note
Ní mór an próiseas Soilire a chur i gcrích faoin úsáideoir céanna leis an bpróiseas WSGI, nó déanfar comhaid sa DATA_DIR a stóráil le húinéireacht mheasctha, rud a fhágann go n-eascróidh am rite.
Féach freisin Ceadanna córas comhaid agus Freastalaí ag rith.
Tascanna Soilire a chur i gcrích sa WSGI ag baint úsáide as mód fonn¶
Note
Beidh tionchar dian feidhmíochta aige seo ar an gcomhéadan gréasáin, agus brisfidh sé gnéithe ag brath ar thruicear rialta (mar shampla athruithe ar feitheamh a dhéanamh, fógraí díolama, nó cúltacaí).
Le haghaidh forbartha, b'fhéidir gur mhaith leat cumraíocht fonn a úsáid, a phróiseálann na tascanna go léir atá i bhfeidhm:
CELERY_TASK_ALWAYS_EAGER = True
CELERY_BROKER_URL = "memory://"
CELERY_TASK_EAGER_PROPAGATES = True
Rith Soilire mar sheirbhís córais¶
Most likely you will want to run Celery as a daemon and that is covered by
Daemonization. For the most common Linux setup using
systemd, adapt the example files listed below. These examples are maintained in
the Weblate source tree under weblate/examples/; Python wheels do not
install these deployment samples.
Aonad Córais atá le cur mar /etc/systemd/system/celery-weblate.service:
[Unit]
Description=Celery Service (Weblate)
After=network.target
[Service]
Type=forking
User=weblate
Group=weblate
EnvironmentFile=/etc/default/celery-weblate
WorkingDirectory=/home/weblate
RuntimeDirectory=celery
RuntimeDirectoryPreserve=restart
LogsDirectory=celery
ExecStart=/bin/sh -c '${CELERY_BIN} multi start ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
ExecStop=/bin/sh -c '${CELERY_BIN} multi stopwait ${CELERYD_NODES} \
--pidfile=${CELERYD_PID_FILE}'
ExecReload=/bin/sh -c '${CELERY_BIN} multi restart ${CELERYD_NODES} \
-A ${CELERY_APP} --pidfile=${CELERYD_PID_FILE} \
--logfile=${CELERYD_LOG_FILE} --loglevel=${CELERYD_LOG_LEVEL} ${CELERYD_OPTS}'
[Install]
WantedBy=multi-user.target
Cumraíocht comhshaoil le cur mar /etc/default/celery-weblate:
# Name of nodes to start
CELERYD_NODES="celery notify memory backup translate"
# Absolute or relative path to the 'celery' command:
CELERY_BIN="/home/weblate/weblate-env/bin/celery"
# App instance to use
# comment out this line if you don't use an app
CELERY_APP="weblate.utils"
# Extra command-line arguments to the worker. You might need to customize
# concurrency depending on the available resources and Weblate usage. Increase
# the concurrency if you get weblate.E019 error, decrease it if you are on a
# low-resource system.
CELERYD_OPTS="--beat:celery --queues:celery=celery --concurrency:celery=2 --prefetch-multiplier:celery=4 \
--queues:notify=notify --concurrency:notify=2 --prefetch-multiplier:notify=10 \
--queues:memory=memory --concurrency:memory=2 --prefetch-multiplier:memory=10 \
--queues:translate=translate --concurrency:translate=4 --prefetch-multiplier:translate=4 \
--queues:backup=backup --concurrency:backup=1 --prefetch-multiplier:backup=2"
# Logging configuration
# - %n will be replaced with the first part of the nodename.
# - %I will be replaced with the current child process index
# and is important when using the prefork pool to avoid race conditions.
CELERYD_PID_FILE="/run/celery/weblate-%n.pid"
CELERYD_LOG_FILE="/var/log/celery/weblate-%n%I.log"
CELERYD_LOG_LEVEL="INFO"
Cumraíocht bhreise chun logaí Celery a rothlú ag baint úsáide as logrotate le cur mar /etc/logrotate.d/celery:
/var/log/celery/*.log {
weekly
missingok
rotate 12
compress
notifempty
}
Tascanna tréimhsiúla ag baint úsáide as buille Soilire¶
Tagann Weblate le socrú ionsuite do thascanna sceidealaithe. Stóráiltear an sceideal tascanna sa bhunachar sonraí agus déanann an deamhan buille Soilire na tascanna a fhorghníomhú.
Hint
Is féidir leat tascanna breise a shainiú i settings.py, mar shampla féach Geallann leisciúil.
Monatóireacht ar stádas soilire¶
Is féidir leat fad reatha na scuainí tascanna Celery a fháil sa Comhéadan bainistíochta nó is féidir leat celery_queues a úsáid ar an líne ordaithe. Ar eagla go n-éireoidh an scuaine ró-fhada, gheobhaidh tú earráid chumraíochta sa chomhéadan riaracháin freisin.
Warning
Ní dhéantar na hearráidí Soilire de réir réamhshocraithe a logáil isteach ach amháin sa loga Soilire agus níl siad le feiceáil don úsáideoir. Más mian leat forbhreathnú a bheith agat ar theipeanna dá leithéid, moltar Tuarascálacha earráide a bhailiú agus monatóireacht a dhéanamh ar fheidhmíocht a chumrú.
Socrú Soilire aonphróisis¶
I gcás go bhfuil cuimhne an-teoranta agat, b'fhéidir gur mhaith leat líon na bpróiseas Weblate a laghdú. Is féidir gach tasc Soilire a chur i gcrích in aon phróiseas amháin ag baint úsáide as:
celery --app=weblate.utils worker --beat --queues=celery,notify,memory,translate,backup --pool=solo
Is féidir suiteáil a úsáideann Docker a chumrú chun socrú Soilire aonphróisis a úsáid trí CELERY_SINGLE_PROCESS a shocrú.
Warning
Beidh tionchar suntasach feidhmíochta aige seo ar Weblate.
Monatóireacht ar Ghréasán¶
Soláthraíonn Weblate an URL /healthz/ le húsáid i seiceálacha simplí sláinte, mar shampla ag baint úsáide as Kubernetes. Tá seiceáil sláinte ionsuite ag an gcoimeádán Docker ag baint úsáide as an URL seo.
Chun monatóireacht a dhéanamh ar mhéadracht Weblate is féidir leat GET /api/metrics/ críochphointe API a úsáid.
Tuarascálacha earráide a bhailiú agus monatóireacht a dhéanamh ar fheidhmíocht¶
Is féidir le Weblate, mar aon bhogearraí eile, teip. Chun stáit teipe úsáideacha a bhailiú molaimid seirbhísí tríú páirtí a úsáid chun faisnéis den sórt sin a bhailiú. Tá sé seo an-úsáideach i gcás go dteipfeadh ar thascanna Soilire, rud a d’fhágfadh nach ndéanfadh ach earráid a thuairisciú do na logaí agus ní thabharfaí fógra duit fúthu. Tá tacaíocht ag Weblate do na seirbhísí seo a leanas:
R-phost¶
Is é an uirlis chumraíochta réamhshocraithe Weblate atá ag Django ná ríomhphoist a sheoladh nuair a tharlaíonn earráidí freastalaí trí django.utils.log.AdminEmailHandler. Seo an socrú is lú iarrachta, ach ba cheart duit roghanna eile a mheas ar chúiseanna príobháideachta, toisc go bhféadfadh sonraí íogaire a bheith sna ríomhphoist earráide. Is féidir leat tuilleadh a léamh faoi sin i Security implications.
Chun an t-iompar seo a dhíchumasú, bain mail_admins as an LOGGING i socruithe Weblate, nó díchumasaigh WEBLATE_ADMIN_NOTIFY_ERROR i dtimpeallacht Docker.
Sentry¶
Tá tacaíocht ionsuite ag Weblate do Sentry. Chun é a úsáid, is leor SENTRY_DSN a shocrú sa settings.py:
SENTRY_DSN = "https://id@your.sentry.example.com/"
Is féidir sentry a úsáid freisin chun monatóireacht a dhéanamh ar fheidhmíocht Weblate trí rianta agus próifílí a bhailiú le haghaidh céatadán sainithe oibríochtaí. Is féidir é seo a chumrú le SENTRY_TRACES_SAMPLE_RATE agus SENTRY_PROFILES_SAMPLE_RATE.
Barra Rolla¶
Tá tacaíocht ionsuite ag Weblate do Rollbar. Chun é a úsáid, is leor treoracha a leanúint maidir le fógra Rollbar notifier do Python.
I mbeagán focal, ní mór duit a choigeartú settings.py:
# Add rollbar as last middleware:
MIDDLEWARE = [
# … other middleware classes …
"rollbar.contrib.django.middleware.RollbarNotifierMiddleware",
]
# Configure client access
ROLLBAR = {
"access_token": "POST_SERVER_ITEM_ACCESS_TOKEN",
"environment": "development" if DEBUG else "production",
"branch": "main",
"root": "/absolute/path/to/code/root",
}
Tá gach rud eile comhtháite go huathoibríoch, baileoidh tú earráidí taobh an fhreastalaí agus an chliaint anois.
Note
Áiríonn logáil earráide eisceachtaí freisin a láimhseáladh go galánta, ach a d’fhéadfadh fadhb a léiriú - mar theip ar pharsáil comhad uaslódáilte.
Bainistíocht loga Graylog¶
Added in version 5.9.
Is féidir Weblate a chumrú le logáil trí úsáid a bhaint as prótacal GELF TCP. Forbraíodh é seo do chomhtháthú Graylog, ach is féidir é a úsáid le haon ardán logála comhlíontach.
Tá an pláta coire cumraíochta san áireamh i Cumraíocht samplach, le haghaidh Docker is féidir é seo a chumrú le WEBLATE_LOG_GELF_HOST.
Weblate á aistriú go freastalaí eile¶
Ba cheart go mbeadh sé éasca go leor Gréasán a aistriú go freastalaí eile, ach stórálann sé sonraí i gcúpla áit ar cheart duit a aistriú go cúramach. Is é an cur chuige is fearr ná Weblate a stopadh don imirce.
Bunachar sonraí a aistriú¶
Is é an cur chuige is simplí ná uirlisí dúchasacha bunachar sonraí a úsáid, toisc gurb iad is éifeachtaí de ghnáth (m.sh. pg_dump). Nó is féidir leat macasamhlú a úsáid má thacaíonn do bhunachar sonraí leis.
See also
Imirce idir bunachair shonraí a bhfuil cur síos orthu in Aistriú ó bhunachair shonraí eile go PostgreSQL.
Taisclanna VCS a aistriú¶
Ní mór na stórtha VCS atá stóráilte faoi DATA_DIR a aistriú freisin. Is féidir leat iad a chóipeáil go simplí nó rsync a úsáid chun an t-aistriú a dhéanamh ar bhealach níos éifeachtaí.
Nótaí eile¶
Ná déan dearmad seirbhísí eile a d'fhéadfadh a bheith in úsáid ag Weblate a bhogadh, amhail Valkey, Redis, poist Cron nó córais chúltaca fíordheimhnithe saincheaptha.