diff --git a/Dockerfile b/Dockerfile index f6ed87ec..bd0561bc 100644 --- a/Dockerfile +++ b/Dockerfile @@ -34,7 +34,8 @@ ADD start.sh /srv/start.sh RUN chmod +x /srv/start.sh ADD import-disqus.sh /srv/import-disqus.sh -RUN chmod +x /srv/import-disqus.sh +ADD restore-backup.sh /srv/restore-backup.sh +RUN chmod +x /srv/import-disqus.sh /srv/restore-backup.sh WORKDIR /srv EXPOSE 8080 diff --git a/app/main.go b/app/main.go index 54e3f25a..9827469e 100644 --- a/app/main.go +++ b/app/main.go @@ -30,11 +30,11 @@ var opts struct { DevPasswd string `long:"dev-passwd" env:"DEV_PASSWD" default:"" description:"development mode password"` Dbg bool `long:"dbg" env:"DEBUG" description:"debug mode"` - BackupLocation string `long:"backup" env:"BACKUP_PATH" default:"./var" description:"backups location"` + BackupLocation string `long:"backup" env:"BACKUP_PATH" default:"./var/backup" description:"backups location"` MaxBackupFiles int `long:"max-back" env:"MAX_BACKUP_FILES" default:"10" description:"max backups to keep"` - SessionStore string `long:"session" env:"SESSION_STORE" default:"./var" description:"path to session store directory"` - AvatarStore string `long:"avatars" env:"AVATAR_STORE" default:"./var/avatars" description:"path to avatars directory"` + SessionStore string `long:"session" env:"SESSION_STORE" default:"./var/session" description:"session store location"` + AvatarStore string `long:"avatars" env:"AVATAR_STORE" default:"./var/avatars" description:"avatars location"` StoreKey string `long:"store-key" env:"STORE_KEY" default:"secure-store-key" description:"store key"` GoogleCID string `long:"google-cid" env:"REMARK_GOOGLE_CID" description:"Google OAuth client ID"` diff --git a/app/store/bolt.go b/app/store/bolt.go index 2bbacd50..65062c8b 100644 --- a/app/store/bolt.go +++ b/app/store/bolt.go @@ -453,7 +453,7 @@ func (b *BoltDB) User(siteID string, userID string, limit int) (comments []Comme return comments, totalComments, err } -// Get for locator.URL and commentID string +// Get returns comment for locator.URL and commentID string func (b *BoltDB) Get(locator Locator, commentID string) (comment Comment, err error) { bdb, err := b.db(locator.SiteID) diff --git a/restore-backup.sh b/restore-backup.sh new file mode 100644 index 00000000..1d604c7c --- /dev/null +++ b/restore-backup.sh @@ -0,0 +1,11 @@ +#!/bin/sh +echo "import backup file $1 to site $2" + +echo "unpack $1" +gunzip -c /srv/var/backup/$1 >/tmp/backup.remark + +size=${stat -c "%s" /tmp/backup.remark} +echo "source file size ${size}" + +curl -X POST -H "Content-Type: application/json" -d @/tmp/backup.remark "http://127.0.0.1:8081/api/v1/admin/import?site=${2}&provider=native" +rm -fq /tmp/backup.remark diff --git a/start.sh b/start.sh index 3b87cb73..84f10d02 100755 --- a/start.sh +++ b/start.sh @@ -6,10 +6,6 @@ echo "prepare environment" sed -i "s|BASE_URL:\"[^\"]*\"|BASE_URL:\"${REMARK_URL}\"|g" /srv/web/*.js sed -i "s|var baseurl = '[^']*';|var baseurl = '${REMARK_URL}';|g" /srv/web/*.html -# copy default avatar -mkdir -p /srv/var/avatars -cp -nv /srv/web/remark.image /srv/var/avatars/remark.image - echo "start remark42 server" /sbin/su-exec ${USER} /srv/remark