Super fast and easy email synchronization with imapsync and docker

If you need to migrate or transfer an email server to other provider, then you also need to export / import all your emails and folders. In that case you can struggle with many problems. For example:

  • Different Email Clients with different export format
  • No export or import function
  • Costly import / export tools

With imapsync you can easily do it without big effort. You will need only Docker installed. On the Docker documentation page you can find installation guide for linux / mac and windows.

So, if you have already docker, then just run this command and all emails will be exported from host1 to host2. Keep in mind that host1 and host2 are IMAP server addresses

docker run gilleslamiral/imapsync imapsync \ --host1 imap.server.com --user1 import_emails@FROM.com --password1 'pass' \ --host2 imap.server.com --user2 import_emails@TO.com --password2 'pass' \ --automap "$@"

Useful imapsync commands before synchronization:

--dry : Makes imapsync doing nothing for real, just print what would be done without --dry.
--justconnect : Just connect to both servers and print useful information. Need only --host1 and --host2 options.
--justlogin : Just login to both host1 and host2 with users credentials, then exit.
--justfolders : Do only things about folders (ignore messages).

For more advanced usage please visit official syncmap github page at https://github.com/imapsync/imapsync

Introducing to new Discord Bot – Team Manager

Discord is one of the most popular communication platform between gamers and developers. If you want to know about Discord more, you can read a wonderful articleWhat is discord” by Phil Hornshaw , but I would like here  to introduce with my new project – Discord Team Manager.

Why?

Why do we need this bot? Firstly, because Discord is only a chat platform and if you are an owner of some kind of server (guild), you are responsible for its management. So, this bot helps you to manage it.

Main Feature

Team Manager Bot has web interface which you can find by a link https://discordteam.ovh. There are all members stored and synchronized with Discord in a separate database. As you can see inthe picture, you can add additional information to every member

This information can be also displayed on Discord channel by using command !show <discord name>. There are implemented two kinds of views:

  • Default view – all channels
  • Admin View – only #tm-admin channel

An administrator can decide which fields will be visible for each view on the web interface. In this way, an administrator can let to see for all members only basic fields and on the admin channel – more information like phone number or other sensitive data.

The administrator or manager can also attach notes to members or documents to the guild. Notes and documents can be also displayed on discord.

Furthermore, there is a feature where every guild owner can create custom member fields. So, if is not enough default fields, the owner can add exactly what he needs!

Management

Not always a guild owner is the team manager. That is not a problem, because the owner of the guild can invite other members and give access to web-interface! Multiple managers is also supported.

Members table is implemented with DataTables plug-in which gives a lot of handy features.

  • Search – dynamic search box. Filter members by any keyword (email, phone e.t.c)
  • Sort – sort members table by any field
  • Column visibility – select which member fields you want to see on table ar how much records per page
  • Export – export members to PDF, CSV, Excel or Print format. Sure, you can select which columns you want to see in exported format!

Integrations

At the moment there is only one integration implemented – SMS Gateway. This integration enables SMS sending not only
from web interfaces but also from Discord admin channel too! Easily send message with command: !sendsms <name> <sms message text> and the SMS will reach the member. SMS price you can check here. Sure, firstly you need to create an account at https://gatewayapi.com and enter api keys on web app.

Depend on users needs, in the future will be implemented more integrations. So if you have any suggestions or wishes, then feel free to contact me or write it on bot support channel at Discord

Other Features

There are also some other administration commands like:

  • Delete messages
  • Write colored messages as bot

All commands can be found by writing !help in discord channel. On Bitbucket you can also find the Usage Guide and Issues Tracker.

Links

Auto webserver and database backup with GPG encryption to Amazon S3

In this tutorial I will show you step-by-step  instructions how to make cheap and secure encrypted backups of you webserver (or any other dir)  files on you linux  server using Amazon Storage Service

Continue reading Auto webserver and database backup with GPG encryption to Amazon S3

Raspberry Pi Garden Assistant Project

Project Plan and Goals

The idea is to make smart garden house. Main tasks is to provide internet from mobile sim card to WiFi access point, automatizes mart watering and log some interesting data. This is my TO DO list. I will continually update it by adding links to details.

Continue reading Raspberry Pi Garden Assistant Project

How to send notifications from Linux fail2ban, ssh auth and other actions to Slack

For this approach i will use my slackpost.sh script to send messages to Slack. More info about it you can find – https://mindau.de/blog/en/en-post-messages-slack-linux/

Continue reading How to send notifications from Linux fail2ban, ssh auth and other actions to Slack

[EN] Simple way to monitor websites in Linux with Slack

Mostly is very usefull to know if one or another website is down. Here is simple example to monitor your websites:


#!/bin/sh
# script to check website status (online/ofline)
while read site
do
if ping -w 60 -c1 -q "$site" &>/dev/null; then
echo "$site is up" # for debug
else
# action to do if website offline
echo "[$(date +%d-%m-%Y:%H:%M:%S)] $site is not reachable." | slackpost.sh
fi
done < /path/to/file/sites.txt # list of sites to check

sites.txt example

website1.com
website2.com

Now you can add it to crontab. Type crontab -e and insert:

# ping websites every minute
* * * * * /path/to/monitor-websites.sh > /dev/null

The script use my notification function to slack. This tutorial you can find at [Tutorial] send message with linux to slack

Example of message in slack if website is offline:

slack post message example
slack post message example