Hyppää sisältöön

Palvelimen konfigurointi

Oletusarvoista Docker-kuvaa käyttäen kaikki tarvittava konfigurointi voidaan tehdä selaimesta. Kuitenkin, riippuen käyttöönotosta, voi olla tarpeen mukauttaa palvelimen konfigurointia.

Tällä sivulla luetellaan kaikki menetelmät konfiguroinnin muuttamiseksi ja kaikki olemassa olevat konfigurointivaihtoehdot.

Konfigurointitiedosto vs. ympäristömuuttujat

Asetusten osalta voit käyttää joko konfigurointitiedostoa tai ympäristömuuttujia.

Kun käytät Docker Compose -pohjaista asetusta, voit sisällyttää konfigurointitiedoston lisäämällä seuraavan luettelokohdan volumes:-avaimen alle grampsweb:-lohkoon:

      - /path/to/config.cfg:/app/config/config.cfg
missä /path/to/config.cfg on polku konfigurointitiedostoon palvelimesi tiedostojärjestelmässä (oikealla puolella viitataan polkuun säilössä, eikä sitä saa muuttaa).

Kun käytetään ympäristömuuttujia,

  • etuliite jokaiselle asetukselle on GRAMPSWEB_ saadaksesi ympäristömuuttujan nimen
  • Käytä kaksoisalaviivoja sisäkkäisille sanakirja-asetuksille, esim. GRAMPSWEB_THUMBNAIL_CACHE_CONFIG__CACHE_DEFAULT_TIMEOUT asettaa arvon THUMBNAIL_CACHE_CONFIG['CACHE_DEFAULT_TIMEOUT'] konfigurointivaihtoehdolle

Huomaa, että ympäristön kautta asetetut konfigurointivaihtoehdot ovat etusijalla konfigurointitiedostossa oleviin verrattuna. Jos molemmat ovat läsnä, ympäristömuuttuja "voittaa".

Olemassa olevat konfigurointiasetukset

Seuraavat konfigurointivaihtoehdot ovat olemassa.

Pakolliset asetukset

Avain Kuvaus
TREE Käytettävän sukupuuyhteyden nimi. Näytä käytettävissä olevat puut komennolla gramps -l. Jos puuta tällä nimellä ei ole, uusi tyhjää puuta luodaan.
SECRET_KEY Salainen avain Flaskille. Salaisuutta ei saa jakaa julkisesti. Sen muuttaminen mitätöi kaikki pääsytunnukset.
USER_DB_URI Käyttäjädatabasen tietokannan URL. Mikä tahansa SQLAlchemy-yhteensopiva URL on sallittu.

Info

Voit luoda turvallisen salaisen avaimen esim. komennolla

python3 -c "import secrets;print(secrets.token_urlsafe(32))"

Valinnaiset asetukset

Avain Kuvaus
MEDIA_BASE_DIR Polku, jota käytetään media-tiedostojen perushakemistona, joka ohittaa Grampsissa asetetun media-perushakemiston. Kun käytetään S3, sen on oltava muotoa s3://<bucket_name>
SEARCH_INDEX_DB_URI Tietokannan URL hakemistolle. Vain sqlite tai postgresql ovat sallittuja taustajärjestelmiä. Oletusarvo on sqlite:///indexdir/search_index.db, luoden SQLite-tiedoston indexdir-kansioon suhteessa polkuun, josta skripti ajetaan
STATIC_PATH Polku staattisten tiedostojen tarjoamiseen (esim. staattinen verkkosivuston etupää)
BASE_URL Perus-URL, josta API on saavutettavissa (esim. https://mygramps.mydomain.com/). Tämä on tarpeen esim. oikeiden salasanan palautuslinkkien rakentamiseksi
CORS_ORIGINS Alkuperät, joista CORS-pyynnöt ovat sallittuja. Oletusarvoisesti kaikki on estetty. Käytä "*" salliaksesi pyynnöt mistä tahansa verkkotunnuksesta.
EMAIL_HOST SMTP-palvelimen isäntä (esim. salasanan palautussähköpostien lähettämiseen)
EMAIL_PORT SMTP-palvelimen portti. oletusarvo on 465
EMAIL_HOST_USER SMTP-palvelimen käyttäjätunnus
EMAIL_HOST_PASSWORD SMTP-palvelimen salasana
EMAIL_USE_TLS Vanha (käytä sen sijaan EMAIL_USE_SSL tai EMAIL_USE_STARTTLS). Boolean, käytetäänkö TLS:ää sähköpostien lähettämiseen. Oletusarvo on True. Käytettäessä STARTTLS:ää, aseta tämä False ja käytä eri porttia kuin 25.
EMAIL_USE_SSL Boolean, käytetäänkö implisiittistä SSL/TLS:ää SMTP:ssä (v3.6.0+). Oletusarvo on True, jos EMAIL_USE_TLS ei ole nimenomaisesti asetettu. Käytetään tyypillisesti portin 465 kanssa.
EMAIL_USE_STARTTLS Boolean, käytetäänkö eksplisiittistä STARTTLS:ää SMTP:ssä (v3.6.0+). Oletusarvo on False. Käytetään tyypillisesti portin 587 tai 25 kanssa.
DEFAULT_FROM_EMAIL "From" osoite automatisoiduille sähköposteille
THUMBNAIL_CACHE_CONFIG Sanakirja, jossa on asetuksia pienoiskuvavälimuistille. Katso Flask-Caching mahdollisista asetuksista.
REQUEST_CACHE_CONFIG Sanakirja, jossa on asetuksia pyyntövälimuistille. Katso Flask-Caching mahdollisista asetuksista.
PERSISTENT_CACHE_CONFIG Sanakirja, jossa on asetuksia pysyvälle välimuistille, jota käytetään esim. telemetriaan. Katso Flask-Caching mahdollisista asetuksista.
CELERY_CONFIG Asetukset Celery-taustatehtäväjonolle. Katso Celery mahdollisista asetuksista.
REPORT_DIR Väliaikainen hakemisto, johon Gramps-raporttien suorittamisen tulokset tallennetaan
EXPORT_DIR Väliaikainen hakemisto, johon Gramps-tietokannan vientitulokset tallennetaan
REGISTRATION_DISABLED Jos True, estä uusien käyttäjien rekisteröinti (oletusarvo False)
DISABLE_TELEMETRY Jos True, poista käytöstä tilastollinen telemetria (oletusarvo False). Katso telemetria lisätietoja varten.
PILLOW_MAX_IMAGE_PIXELS Asettaa PIL.Image.MAX_IMAGE_PIXELS-parametrin, joka osoittaa, kuinka monta pikseliä käsitellyssä kuvassa voi olla. Katso dokumentaatio lisätietoja varten.

Info

Käytettäessä ympäristömuuttujia konfiguroinnissa, boolean-vaihtoehtojen kuten EMAIL_USE_TLS on oltava joko merkkijono true tai false (kokoherkkiä!).

Asetukset vain PostgreSQL-taustatietokannalle

Tämä on tarpeen, jos olet määrittänyt Gramps-tietokannan toimimaan PostgreSQL-lisäosan kanssa.

Avain Kuvaus
POSTGRES_USER Käyttäjänimi tietokantayhteydelle
POSTGRES_PASSWORD Salasana tietokannan käyttäjälle

Asetukset, jotka ovat tärkeitä useiden puiden isännöinnissä

Seuraavat asetukset ovat tärkeitä useiden puiden isännöinnissä.

Avain Kuvaus
MEDIA_PREFIX_TREE Boolean, käytetäänkö erillistä alikansiota jokaisen puun media-tiedostoille. Oletusarvo on False, mutta vahvasti suositellaan käyttämään True usean puun asetuksessa
NEW_DB_BACKEND Tietokannan taustajärjestelmä, jota käytetään uusille sukupuuille. Sen on oltava yksi seuraavista: sqlite, postgresql tai sharedpostgresql. Oletusarvo on sqlite.
POSTGRES_HOST PostgreSQL-palvelimen isäntänimi, jota käytetään uusien puiden luomiseen, kun käytetään usean puun asetusta SharedPostgreSQL-taustajärjestelmällä
POSTGRES_PORT PostgreSQL-palvelimen portti, jota käytetään uusien puiden luomiseen, kun käytetään usean puun asetusta SharedPostgreSQL-taustajärjestelmällä

Asetukset OIDC-todennusta varten

Nämä asetukset ovat tarpeen, jos haluat käyttää OpenID Connect (OIDC) -todennusta ulkoisten tarjoajien kanssa. Yksityiskohtaisia asennusohjeita ja esimerkkejä varten katso OIDC-todennus.

Avain Kuvaus
OIDC_ENABLED Boolean, otetaanko OIDC-todennus käyttöön. Oletusarvo on False.
OIDC_ISSUER OIDC-palveluntarjoajan myöntäjä-URL (muille OIDC-palveluntarjoajille)
OIDC_CLIENT_ID OAuth-asiakastunnus (muille OIDC-palveluntarjoajille)
OIDC_CLIENT_SECRET OAuth-asiakassalaisuus (muille OIDC-palveluntarjoajille)
OIDC_NAME Mukautettu näyttönimi palveluntarjoajalle. Oletusarvo on "OIDC"
OIDC_SCOPES OAuth-alueet. Oletusarvo on "openid email profile"
OIDC_USERNAME_CLAIM Vaatimus, jota käytetään käyttäjänimenä. Oletusarvo on "preferred_username"
OIDC_OPENID_CONFIG_URL Valinnainen: URL OpenID Connect -konfigurointipäätteelle (jos ei käytetä standardia /.well-known/openid-configuration)
OIDC_DISABLE_LOCAL_AUTH Boolean, estetäänkö paikallinen käyttäjänimi/salasana-todennus. Oletusarvo on False
OIDC_AUTO_REDIRECT Boolean, ohjataanko automaattisesti OIDC:hen, kun vain yksi palveluntarjoaja on määritetty. Oletusarvo on False

Sisäänrakennetut OIDC-palveluntarjoajat

Sisäänrakennettuja palveluntarjoajia (Google, Microsoft, GitHub) varten käytä näitä asetuksia:

Avain Kuvaus
OIDC_GOOGLE_CLIENT_ID Asiakastunnus Google OAuth:lle
OIDC_GOOGLE_CLIENT_SECRET Asiakassalaisuus Google OAuth:lle
OIDC_MICROSOFT_CLIENT_ID Asiakastunnus Microsoft OAuth:lle
OIDC_MICROSOFT_CLIENT_SECRET Asiakassalaisuus Microsoft OAuth:lle
OIDC_GITHUB_CLIENT_ID Asiakastunnus GitHub OAuth:lle
OIDC_GITHUB_CLIENT_SECRET Asiakassalaisuus GitHub OAuth:lle

OIDC-roolien kartoitus

Nämä asetukset mahdollistavat OIDC-ryhmien/roolien kartoituksen identiteettipalveluntarjoajastasi Gramps Web -käyttäjärooleihin:

Avain Kuvaus
OIDC_ROLE_CLAIM Vaatimuksen nimi OIDC-todistuksessa, joka sisältää käyttäjän ryhmät/roolit. Oletusarvo on "groups"
OIDC_GROUP_ADMIN Ryhmän/roolin nimi OIDC-palveluntarjoajastasi, joka vastaa Grampsin "Admin" -roolia
OIDC_GROUP_OWNER Ryhmän/roolin nimi OIDC-palveluntarjoajastasi, joka vastaa Grampsin "Owner" -roolia
OIDC_GROUP_EDITOR Ryhmän/roolin nimi OIDC-palveluntarjoajastasi, joka vastaa Grampsin "Editor" -roolia
OIDC_GROUP_CONTRIBUTOR Ryhmän/roolin nimi OIDC-palveluntarjoajastasi, joka vastaa Grampsin "Contributor" -roolia
OIDC_GROUP_MEMBER Ryhmän/roolin nimi OIDC-palveluntarjoajastasi, joka vastaa Grampsin "Member" -roolia
OIDC_GROUP_GUEST Ryhmän/roolin nimi OIDC-palveluntarjoajastasi, joka vastaa Grampsin "Guest" -roolia

Asetukset vain AI-ominaisuuksia varten

Nämä asetukset ovat tarpeen, jos haluat käyttää AI-pohjaisia ominaisuuksia, kuten keskustelua tai semanttista hakua.

Avain Kuvaus
LLM_BASE_URL Perus-URL OpenAI-yhteensopivalle keskustelu-API:lle. Oletusarvo on None, mikä käyttää OpenAI API:ta.
LLM_MODEL Malli, jota käytetään OpenAI-yhteensopivassa keskustelu-API:ssa. Jos ei asetettu (oletusarvo), keskustelu on pois käytöstä. Versiosta v3.6.0 alkaen AI-avustaja käyttää Pydantic AI:ta työkalujen kutsumismahdollisuuksilla.
VECTOR_EMBEDDING_MODEL Sentence Transformers malli, jota käytetään semanttisen haun vektoriupotuksiin. Jos ei asetettu (oletusarvo), semanttinen haku ja keskustelu ovat pois käytöstä.
LLM_MAX_CONTEXT_LENGTH Merkkiraja sukupuun kontekstille, joka annetaan LLM:lle. Oletusarvo on 50000.
LLM_SYSTEM_PROMPT Mukautettu järjestelmäkehotus LLM-keskusteluavustajalle (v3.6.0+). Jos ei asetettu, käytetään oletusarvoista sukututkimusoptimoitua kehotusta.

Esimerkkikonfigurointitiedosto

Minimalistinen konfigurointitiedosto tuotantoa varten voisi näyttää tältä: ```python TREE="My Family Tree" BASE_URL="https://mytree.example.com" SECRET_KEY="..." # salainen avain USER_DB_URI="sqlite:////path/to/users.sqlite" EMAIL_HOST="mail.example.com" EMAIL_PORT=465 EMAIL_USE_SSL=True # Käytä implisiittistä SSL:ää portille 465 EMAIL_HOST_USER="gramps@example.com" EMAIL_HOST_PASSWORD="..." # SMTP-salasanasi DEFAULT_FROM_EMAIL="gramps@example.com"