Mediatuotteiden isännöinti S3:ssa¶
Sen sijaan, että perhepuun mediatuotteet isännöitäisiin samalla palvelimella kuin Gramps-tietokanta, ne voidaan myös isännöidä Amazon S3:ssa tai muussa API-yhteensopivassa objektivarastointipalvelussa. Tämä vähentää merkittävästi Gramps Web -palvelimen tallennus- ja liikennetarpeita.
Todennusten valmistelu¶
AWS (tai muu objektivarastointipalvelu) -tililläsi, hanki access key ID ja secret access key (haluat ehkä ensin luoda erillisen käyttäjän, jolla on turvallisuuspolitiikka, joka sallii vain pääsyn S3:een).
Mediatuotteiden lataaminen¶
Ladataaksesi olemassa olevat mediatuotteesi S3:een, voit Linuxilla käyttää paikallista Gramps-asennusta S3 Media Uploader -lisäosalla, jonka voit asentaa suoraan Gramps-työpöydältä. Joitakin lisäasetuksia kuitenkin tarvitaan.
Lisäosa käyttää taustalla boto3 Python-kirjastoa. Sinun on asennettava se ensin komennolla
python3 -m pip install boto3
Komentorivillä vie access key ID ja salainen avain oikeisiin ympäristömuuttujiin:
export AWS_ACCESS_KEY_ID=my_access_key_id
export AWS_SECRET_ACCESS_KEY=my_secret_access_key
Nyt voit käynnistää lataustyökalun suorittamalla seuraavan komennon,
gramps -O "My Family Tree" -a tool \
-p "name=s3uploader,bucket_name=my_bucket_name"
korvaten "My Family Tree" perhepuusi nimellä ja my_bucket_name S3-bucketisi täydellä nimellä. Tarvitset omistetun S3-bucketin Gramps Web -instanssillesi. Jos bucketia ei vielä ole, S3 Uploader -lisäosa yrittää luoda sen.
Gramps Webin konfigurointi¶
Käyttääksesi uutta S3-buckettia mediavarastona Gramps Webille, aseta yksinkertaisesti MEDIA_BASE_DIR konfigurointivaihtoehto arvoon s3://my_bucket_name.
Kun käytät Docker Composea, helpoin vaihtoehto on lisätä kaikki ympäristömuuttujat env-lohkoon:
env:
AWS_ACCESS_KEY_ID: my_access_key_id
AWS_SECRET_ACCESS_KEY: my_secret_access_key
MEDIA_BASE_DIR: s3://my_bucket_name
AWS_DEFAULT_REGION: eu-central-1
Jos haluat käyttää S3-yhteensopivaa objektivarastoa, joka ei ole AWS (esim. GCP tai paikallista testausta varten), aseta AWS_ENDPOINT_URL ympäristömuuttuja.
Mediatuotteiden synkronointi¶
Pitääksesi mediatuotteet synkronoituna paikallisen Gramps-asennuksen ja S3:een isännöityjen Gramps Web -mediatuotteiden välillä, Gramps Web Sync Addon tukee tiedostojen synkronointia Web API:n kautta.