-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Export from Wekan Sandstorm grain .zip file
This is useful for example if you get Board not found error
Using Ubuntu 18.04 or Mint 19.1 or Ubuntu for Windows Subsystem for Linux:
sudo apt-get install zip unzip p7zip-full wget
cd
wget https://releases.wekan.team/dev/repair/meteor-repair.7z
7z x meteor-repair.7z
https://docs.mongodb.com/v3.2/tutorial/install-mongodb-on-ubuntu/
Use Sandstorm arrow down button to download Wekan grain in .zip file to your home directory.
unzip "YOUR-GRAIN-NAME-HERE.zip"
.meteor/packages/meteor-tool/1.6.0_1/mt-os.linux.x86_64/dev_bundle/mongodb/bin/mongod --dbpath "./YOUR-GRAIN-NAME-HERE/data/wiredTigerDb" --repair
Currently Wekan uses Meteor 1.6.0.1. In .meteor/packages/meteor-tool/ directory is also some 1.8.x version for upcoming Wekan version using Meteor 1.8.x. This .meteor directory has been generated by installing meteor from www.meteor.com and then upgrading some existing or new app with for example meteor update --release 1.6.0.1
so that correct version of Meteor is downloaded.
sudo systemctl stop mongod
sudo su
cd /var/lib
mv mongodb mongodb-original
cp -pR "/home/YOUR-USERNAME/YOUR-GRAIN-NAME-HERE/data/wiredTigerDb" .
mv wiredTigerDb mongodb
chown mongodb:mongodb mongodb -R
systemctl start mongod
exit
mongo
show dbs
use meteor
show collections
db.users.find();
exit
mongodump --db meteor
Save this to dump-json.sh
and then chmod +x dump-json.sh && ./dump.sh meteor filesdir
Script is originally from this Rocket.Chat issue
#!/bin/bash
if [ ! $1 ]; then
echo " Example of use: $0 database_name [dir_to_store]"
exit 1
fi
db=$1
out_dir=$2
if [ ! $out_dir ]; then
out_dir="./"
else
mkdir -p $out_dir
fi
tmp_file="fadlfhsdofheinwvw.js"
echo "print('_ ' + db.getCollectionNames())" > $tmp_file
cols=`mongo $db $tmp_file | grep '_' | awk '{print $2}' | tr ',' ' '`
for c in $cols
do
mongoexport -d $db -c $c -o "$out_dir/exp_${db}_${c}.json"
done
rm $tmp_file
It's also possible to restore JSON files like described at stackoverflow this way, but because userIDs etc can be different, there is no mapping to other users, so you may need to change JSON files some way:
for file in *.json; do c=${file#*exp_yourdbname_}; c=${c%.json}; mongoimport --db yourdbname --collection "${c}" --file "${file}"; done
Download NoSQLBooster GUI webpage
If you download AppImage for Linux, run it with:
chmod +x nosqlbooster4mongo*.AppImage
./nosqlbooster... (full filename here)
It can install NoSQLbooster to Linux Menu/Programming/NoSQLBooster for MongoDB.
With it connect to localhost:27017
Double click cfs_gridfs.attachments.files
and right click filename and Download file.
a) Restore data to Standalone Wekan Snap
b) Figure out how to make Sandstorm grain .zip file
In .zip file database files are in directory data/wiredTigerDb/
In Wekan Snap, database files are in directory /var/snap/wekan/common
- if you have other data there, rename common directory to other name first.
In Snap:
sudo chown root:root /var/snap/wekan/common -R
In Snap:
sudo snap start wekan.mongodb
Try does Standalone Wekan work with that database
sudo snap start wekan.mongodb
sudo snap start wekan.wekan
or both wekan and database at once
sudo snap start wekan
Wekan Snap: Connect it to address localhost:27019
Wekan Docker: If you have MongoDB exposed to outside Docker, Connect with Robo3T to address localhost:27017
. Otherwise you first need to copy files from wekan-db Docker container to outside of Docker container, and restore files to local separately installed MongoDB database v3.2.20 or newer
- On left, double click cards, checklists etc collections/tables to see their contents
- Currently default view to see is tree view. To see table view or JSON view, click small buttons above that white data area view display at near right border.
In Linux, you can install Hex Editor for example with command:
sudo apt install ghex
or
sudo yum install ghex
Then it's usually in Linux desktop at Menu / Development / GHex.
Or you can start it in command line by writing ghex
You can open files from your unzipped Wekan Sandstorm grain directory data/wiredTigerDb/
to see if there is still some data that is not yet overwritten with other data.
12.1 Compare databases of Sandstorm and Docker Wekan with mongo GUI https://nosqlbooster.com/
12.2 Create new user to Standalone Wekan
12.3 Copy new user bcrypt password structure created bcrypt encrypted password from Sandstorm to Docker wekan structure. It's at users collection/table. Also add isAdmin=true boolean.
12.4 Login
12.5 Here is info about script how to save all from MongoDB to .JSON textfiles https://forums.rocket.chat/t/big-issue-with-custom-javascript/261/4 and most likely how to get them back to mongodb so just copying all of those boards JSON files and restoring to MongoDB database would work and editing JSON files with any plain text editor. For big files you can try JEdit.
12.6 Here is how to backup and restore mongodb in docker, snap etc https://github.com/wekan/wekan/wiki/Backup
12.7 All Wekan Docker settings are in this textfile https://raw.githubusercontent.com/wekan/wekan/devel/docker-compose-build.yml
12.8 Database name in Sandstorm is meteor, and in docker is wekan, so here is how to restore with different database name https://stackoverflow.com/questions/36321899/mongorestore-to-a-different-database
https://docs.docker.com/docker-cloud/cloud-swarm/create-cloud-swarm-azure/
Wekan - OpenSource Kanban
- Deep Dive Into WeKan
- Meteor WeKan Roadmap - board at Wekan demo
- Multiverse WeKan Roadmap
- Docs/Manual
- Change Language
- Forgot Password
- About
- Test Edge
- WeKan Design Principles
- FAQ
- IRC FAQ - answers to questions asked at IRC
- Team
- Press
- Blog
- Wekan vs Trello vs Restyaboard
- Results of Survey 2020-01
- Allow private boards only: Disable Public Boards
- Security Disclosure and details of Security in Wekan
- Security issues
- Password Hashing
- Add more RAM to Node.js to prevent crash
- Clustering AWS etc
- Scaling
- Kubernetes
- Redis Oplog
- Meteor Scaling at Meteor Cloud
- Scaling at Meteor forums
- From Previous Export, paste big WeKan JSON
- Progress: Import/Export/Sync
- From CSV/TSV
- From Trello
- From Jira
- From Asana
- From Zenkit
- From old Wekan manually
- Converting Meteor Stylus to CSS
- Repair MongoDB
- Using Meteor MongoDB to repair files
- If board does not open and keeps loading
- Repair Docker
- Wekan Markdown
- Emoji
- Mermaid Diagram DOES NOT WORK ANYMORE
- Numbered text
- Automatic login
- Disable Password Login
- Forgot Password
- Admin: Impersonate user
- Adding Users
- Active users Presence
- Accounts Lockout: Brute force login protection
- LDAP
- LDAP AD Simple Auth
- Keycloak
- Google login
- Azure
- OAuth2, Auth0, GitLab, RocketChat
- Oracle OIM on premise using OAuth2
- ADFS 4.0 using OAuth2 and OpenID
- Azure AD B2C using OAuth2
- Nextcloud
- CAS Please test
- SAML Please test
- Zitadel
- Drag Drop on Mobile and Desktop
- Rclone: Store attachments to cloud storage like S3, MinIO, etc
- Python based features
- Burndown and Velocity Chart
- Wait Spinners
- Translations
- Default Language for All Users
- Roadmap
- Features
- Planning Poker
- Scaling
- Custom Logo
- Subtasks <== Has fix
- Templates
- Cover
- Archive and Delete
- Custom Fields
- Fix Export board menu not visible on some boards
- RAM usage
- Demo
- Swimlane Documentation
- Customize Translations
- Download Wekan for various Platforms: Supported by xet7, Operating Systems, NAS, Cloud
- Helm Chart for Kubernetes
- Caddy
- Nginx
- Apache
- OpenLiteSpeed
- Local self signed TLS
- Let's Encrypt and Google Auth
- TLS with Node.js
- Traefik and self-signed SSL certs
- Example: New card with Python3 and REST API
- Python client to REST API
- Go client to REST API
- Java
- Wekan Sandstorm cards to CSV using Python
- Excel and VBA
- Global Webhook
- Limiting Webhook data
- Receiving Webhooks
- Outgoing Webhook to Discord/Slack/RocketChat/Riot
- Outgoing Webhook to NodeRed
- Outgoing Webhook to PowerShell
- Security: Webhook and CA
- Outgoing Webhooks Data
- Outgoing Webhooks and Let's Encrypt
- Outgoing Webhooks Original Pull Request, multiple Webhooks, more parameters and response order