cd umsme
curl https://install.meteor.com/ | sh
Kopiera settings.json_example
till private/settings.json
och anpassa, sen är det bara att köra:
meteor
Sen fört skapa en build som passar din arkitektur, t.ex:
meteor build ../umsme-build --architecture os.linux.x86_64
Men innan du gör detta se till att du har tre tomma filer: settings.json
, users.json
och eventuellt members.csv
i private katalogen. Detta för att dessa ska finnas i ett index som gör att de går att slå upp i driftmiljön.
Se till att du har node (version 12), npm och mongodb installerat i din driftmiljö. Packa sen upp paketet på lämpligt ställe, förslagsvis genom att ha ett intialiseringsscript (install.sh
) som ser ut som:
#/bin/bash
mkdir app
rm -rf bundle
tar xfz umsme.tar.gz
cd bundle/programs/server/assets/
rm -rf app
ln -s ../../../../app .
cd ..
npm install
I katalogen app kan du lägga in filerna settings.json
, users.json
och members.csv
utan att de påverkas av att du installerar nya paket.
Skapa sen skriptet run.sh
som du lägger parallellt med installeringsscriptet:
#/bin/sh
cd bundle
PORT=3000 \
MAIL_URL=smtp://user:[email protected]:587?tls.rejectUnauthorized=false \
MONGO_URL=mongodb://localhost:27017/umsme ROOT_URL=https://umsme.uppsalamakerspace.se \
node main.js
Se sektionen om maila från systemet nedan om hur MAIL_URL
ska sättas.
Katalogen private
ska ligga under bundle/server
, den används både för konfiguration (settings.json
), användarhanteirng (users.json
) och import av data (members.csv
).
Användarhantering sker genom en fil private/user.json
som ser ut som:
[
{username: 'john', password: '12345'}
]
Om du tar bort användare från denna fil kommer de tas bort från databasen, det är också möjligt att ändra lösen genom att ändra i denna fil. Om filen inte finns så kommer varken användare läggas till eller tas bort. Däremot kommer då det skrivas ut i konsolen vilka användare som finns.
Integration med Swedbank görs via ett separat bibliotek umsme-bank. Efter att det installeras bör man ändra i settings.json för att peka ut rooten i REST api:et. Det är två värden som behöver sättas:
"bankproxy": "http://localhost:8000/",
"syncNrOfTransactions": 20,
För att det ska gå att skicka mail måste man sätta miljövariabeln MAIL_URL
. Det enklaste är att man sätter variabeln i samma kommando som man sätter igång meteor, så vi modifierar kommandot ovan till att vara:
MAIL_URL=smtp://username:[email protected]:587?tls.rejectUnauthorized=false meteor --settings settings.json
Där username
typiskt är en email som [email protected]
.
Observera att man kan också slå av mailskickning i settings.json genom följande nyckelvärde:
"deliverMails": false
Vi använder mongodump och mongorestore. Först måste man se till att ha dessa verktyg installerade, via apt blir der:
sudo apt install mongo-tools
Nedam är ett exempel på hur man gör en backup namngiven som ett visst datum (2020-01-30):
mongodump -h 127.0.0.1 --port 3001 --forceTableScan -d umsme -o backup/2020-01-30
För att återställa motsvarande backup med mongorestore:
mongorestore -h 127.0.0.1 --port 3001 --drop -d umsme backup/2020-01-30/meteor
Observera att namnet för databasen ovan är satt till umsme, vilket är det föreslagna namnet i en driftsatt version, i utvecklarläget kommer defaultnamnet vara meteor
.
Om du av någon anledning vill börja om från början kan du stänga ner applikationen och sen:
meteor reset
Därefter är det bara att starta igen.
Om du kör i driftsatt läge får ta bort databasen via:
mongo
> use umsme
> db.dropDatabase()
För att förenkla finns det nu två scripts, backup.sh och restore.sh i backup foldern. Backup scriptet tar inget argument då det automatiskt genererar en dump med ett namn som ser ut som ett ISO datum, t.ex. 2020-02-02T12:11
. Restore scriptet tar namnet (ISO datumet) som argument, t.ex.:
cd backup
./restore.sh 2020-02-02T12\:11
Förslagsvis kör man backup scriptet en gång per natt. Då backuppens storlek är approximativt 1kb per medlem, så är storleken på dumpen liten. Ett år av dumpar för 200 medlemmar blir då cirka 70MB, dvs. att rensa dumpar pga diskutrymme är inte nödvändigt. Eventuellt blir det mer med många skickade meddelanden. Detta bör undersökas efter ett år.
Notera även här att namnet på databasen är namngiven till umsme
, i en default (icke driftsatt) meteor miljö är namnet istället meteor
.