{"id":1714,"date":"2021-06-29T19:12:41","date_gmt":"2021-06-29T17:12:41","guid":{"rendered":"https:\/\/markus-blog.de\/?p=1714"},"modified":"2023-04-03T08:43:57","modified_gmt":"2023-04-03T06:43:57","slug":"how-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance","status":"publish","type":"post","link":"https:\/\/markus-blog.de\/index.php\/2021\/06\/29\/how-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance\/","title":{"rendered":"How to migrate a dockerized Mastodon to a non-dockerized Mastodon instance"},"content":{"rendered":"<h4>What is Mastodon?<\/h4>\n<p><a href=\"https:\/\/joinmastodon.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Mastodon<\/a> is a microblogging platform akin to others you may have seen, such as Twitter, but instead of being centralised it is a federated network which operates in a similar way to email.<\/p>\n<p>Like email, you choose your server and whether it\u2019s GMail, Outlook, iCloud, wherever you sign up you know you\u2019ll be able to email everyone you need to so long as you know their address.<\/p>\n<p>The word \u201cinstance\u201d is often used on Mastodon as a synonym of server.<\/p>\n<p>This means there\u2019s no big uncaring company running it all, no shareholders, no central control, none of the targeted advertising we\u2019re all fed up with, just a bunch of people sharing the things they want to share with each other.<\/p>\n<p>(from <a href=\"https:\/\/blog.joinmastodon.org\/2018\/08\/mastodon-quick-start-guide\/\" target=\"_blank\" rel=\"noopener noreferrer\">https:\/\/blog.joinmastodon.org\/2018\/08\/mastodon-quick-start-guide\/<\/a>)<\/p>\n<h3><\/h3>\n<h3>What is this Guide?<\/h3>\n<p>This Guide will show you how to migrate an existing Mastodon dockerized instance to a new Server without docker. Please read the complete Guide carefully before you start to migrate and if possible test it before live migration.<br \/>\nYou can also synchronize the files more than once to reduce the time required for live migration. The Installation on the new server without docker is documented <a href=\"https:\/\/docs.joinmastodon.org\/admin\/install\/\" target=\"_blank\" rel=\"noopener\">here<\/a>. but don\u2019t run mastodon:setup.<\/p>\n<h6><\/h6>\n<h6>Requirements:<\/h6>\n<ul>\n<li>root-access via ssh<\/li>\n<li>Mastodon installed via Guide without mastodon:setup<\/li>\n<\/ul>\n<h5><\/h5>\n<h5><\/h5>\n<h5>On the old Server<\/h5>\n<p>I assume that Mastodon is running in the directory <code>~\/mastodon\/<\/code>, otherwise please adjust in the commands. The container names also depend on the directory-name.<\/p>\n<h6>Step 1: Stop Mastodon<\/h6>\n<p>You have to stop the following containers manually, <code>mastodon_streaming_1<\/code>, <code>mastodon_sidekiq_1<\/code> and <code>mastodon_web_1<\/code>:<\/p>\n<pre>docker stop mastodon_streaming_1 &amp;&amp; docker stop mastodon_sidekiq_1 &amp;&amp; docker stop mastodon_web_1<\/pre>\n<h6><\/h6>\n<h6>Step 2: Create Database dump<\/h6>\n<p>The following command will put the dump into the directory <code>~\/mastodon\/postgres\/<\/code><\/p>\n<pre>docker exec mastodon_db_1 pg_dump -Fc -U postgres -d postgres -f mastodon.dump<\/pre>\n<p>Wait a moment and then check if dump was created:<\/p>\n<pre>ls -lah ~\/mastodon\/postgres\/<\/pre>\n<p>Then stop the complete stack with:<\/p>\n<pre>docker-compose down<\/pre>\n<h5><\/h5>\n<h5>On the new Server<\/h5>\n<h6><\/h6>\n<h6>Step 3: Sync system-files<\/h6>\n<p>If you\u2019re using S3, you can skip this step. Otherwise use <code>rsync<\/code> to copy the files to your new server, I assume you use mastodon as user.<\/p>\n<pre>rsync -avz --chown=mastodon:mastodon --progress old.server.tld:~\/mastodon\/public\/system\/ ~\/mastodon\/live\/public\/system\/<\/pre>\n<h6><\/h6>\n<h6>Step 4: Copy and Edit Configuration<\/h6>\n<p>You copy the file <code>.env.production<\/code> to your new server:<\/p>\n<pre>scp old.server.tld:\/~\/mastodon\/.env.production \/home\/mastodon\/live\/\r\nchown mastodon:mastodon \/home\/mastodon\/live\/.env.production<\/pre>\n<p>now you have to adjust the settings for the database in <code>.env.production<\/code><\/p>\n<pre>nano \/home\/mastodon\/live\/.env.production<\/pre>\n<p>and set <code>DB_SETTINGS<\/code>:<\/p>\n<pre>DB_HOST=\/var\/run\/postgresql\r\nDB_NAME=mastodon\r\nDB_USER=mastodon<\/pre>\n<h6><\/h6>\n<h6>Step 5: Copy and Import database<\/h6>\n<p>Before importing the database, we have to copy the dump and create an empty Database on the new server:<\/p>\n<pre>scp old.server.tld:\/~\/mastodon\/postgres\/mastodon.dump \/tmp\/\r\nchown mastodon:mastodon \/tmp\/mastodon.dump<\/pre>\n<p>change to user mastodon and create the empty DB:<\/p>\n<pre>su - mastodon\r\ncreatedb -T template0 mastodon<\/pre>\n<p>Then import the dump:<\/p>\n<pre>pg_restore -U mastodon -n public --no-owner --role=mastodon -d mastodon \/tmp\/mastodon.dump<\/pre>\n<h6><\/h6>\n<h6>Step 6: Finish the migration<\/h6>\n<p>Before we can start the new server, we have to precompile the assets as user <code>mastodon<\/code>:<\/p>\n<pre>cd \/home\/mastodon\/live\/\r\nRAILS_ENV=production bundle exec rails assets:precompile<\/pre>\n<p>then we rebuild the home timelines for our users:<\/p>\n<pre>RAILS_ENV=production .\/bin\/tootctl feeds build<\/pre>\n<p>This can take some time, when finished it is time to start the new server<\/p>\n<h6><\/h6>\n<h6>Step 7: Start Mastodon<\/h6>\n<p>You have to change your prompt back to user <code>root<\/code> and start the services:<\/p>\n<pre>systemctl start mastodon-sidekiq mastodon-streaming mastodon-web<\/pre>\n<p>you can check the services with:<\/p>\n<pre>systemctl status mastodon-sidekiq mastodon-streaming mastodon-web<\/pre>\n<p>Do not forget to update your DNS settings to point to the new server and update or copy your <code>Nginx\/Apache2 configuration<\/code>, re-run LetsEncrypt as necessary.<\/p>\n<p>Enjoy your new Server and disable the old one.<\/p>\n<hr \/>\n<p>If you want to run your own fully managed Instance hosted in Germany with 100% green Energy, look <a href=\"https:\/\/weingaertner-it.de\/\" target=\"_blank\" rel=\"nofollow noopener sponsored noreferrer\">here<\/a><\/p>\n<p>If you want to use mastodon without your own instance you may register here:<\/p>\n<p><a href=\"https:\/\/mastodontech.de\/invite\/zTMx26FX\" target=\"_blank\" rel=\"noopener noreferrer\">MastodonTech.de<\/a><\/p>\n<p>or here:<\/p>\n<p><a href=\"https:\/\/dresden.network\/invite\/KD8abS2R\" target=\"_blank\" rel=\"noopener noreferrer\">dresden.network<\/a><\/p>\n<p>If you want to contribute to the running costs of this Blog or the running Mastodon-Instances, then you can use the following link:<\/p>\n<p><a href=\"https:\/\/markus-blog.de\/index.php\/unterstuetzung\/\" target=\"_blank\" rel=\"noopener\">Support<\/a><\/p>\n<p>Thx and feel free to contact me \ud83d\ude42<\/p>\n<p>&#8212;&#8212;&#8212;&#8211;<\/p>\n<blockquote><p>Sources:<br \/>\n<a href=\"https:\/\/docs.joinmastodon.org\/admin\/migrating\/\" target=\"_blank\" rel=\"noopener\">https:\/\/docs.joinmastodon.org<\/a><\/p><\/blockquote>\n<div class=\"shariff shariff-align-flex-start shariff-widget-align-flex-start\" data-services=\"facebook%7Creddit\" data-url=\"https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F\" data-timestamp=\"1680511437\" data-hidezero=\"1\" data-backendurl=\"https:\/\/markus-blog.de\/wp-json\/shariff\/v1\/share_counts?\"><ul class=\"shariff-buttons theme-round orientation-horizontal buttonsize-medium\"><li class=\"shariff-button mastodon shariff-nocustomcolor\" style=\"background-color:#563ACC\"><a href=\"https:\/\/s2f.kytta.dev\/?text=How%20to%20migrate%20a%20dockerized%20Mastodon%20to%20a%20non-dockerized%20Mastodon%20instance https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F\" title=\"Bei Mastodon teilen\" aria-label=\"Bei Mastodon teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#6364FF; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"75\" height=\"79\" viewBox=\"0 0 75 79\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\"><path d=\"M37.813-.025C32.462-.058 27.114.13 21.79.598c-8.544.621-17.214 5.58-20.203 13.931C-1.12 23.318.408 32.622.465 41.65c.375 7.316.943 14.78 3.392 21.73 4.365 9.465 14.781 14.537 24.782 15.385 7.64.698 15.761-.213 22.517-4.026a54.1 54.1 0 0 0 .01-6.232c-6.855 1.316-14.101 2.609-21.049 1.074-3.883-.88-6.876-4.237-7.25-8.215-1.53-3.988 3.78-.43 5.584-.883 9.048 1.224 18.282.776 27.303-.462 7.044-.837 14.26-4.788 16.65-11.833 2.263-6.135 1.215-12.79 1.698-19.177.06-3.84.09-7.692-.262-11.52C72.596 7.844 63.223.981 53.834.684a219.453 219.453 0 0 0-16.022-.71zm11.294 12.882c5.5-.067 10.801 4.143 11.67 9.653.338 1.48.471 3 .471 4.515v21.088h-8.357c-.07-7.588.153-15.182-.131-22.765-.587-4.368-7.04-5.747-9.672-2.397-2.422 3.04-1.47 7.155-1.67 10.735v6.392h-8.307c-.146-4.996.359-10.045-.404-15.002-1.108-4.218-7.809-5.565-10.094-1.666-1.685 3.046-.712 6.634-.976 9.936v14.767h-8.354c.109-8.165-.238-16.344.215-24.5.674-5.346 5.095-10.389 10.676-10.627 4.902-.739 10.103 2.038 12.053 6.631.375 1.435 1.76 1.932 1.994.084 1.844-3.704 5.501-6.739 9.785-6.771.367-.044.735-.068 1.101-.073z\"\/><defs><linearGradient id=\"paint0_linear_549_34\" x1=\"37.0692\" y1=\"0\" x2=\"37.0692\" y2=\"79\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#6364FF\"\/><stop offset=\"1\" stop-color=\"#563ACC\"\/><\/linearGradient><\/defs><\/svg><\/span><\/a><\/li><li class=\"shariff-button facebook shariff-nocustomcolor\" style=\"background-color:#4273c8\"><a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F\" title=\"Bei Facebook teilen\" aria-label=\"Bei Facebook teilen\" role=\"button\" rel=\"nofollow\" class=\"shariff-link\" style=\"; background-color:#3b5998; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18 32\"><path fill=\"#3b5998\" d=\"M17.1 0.2v4.7h-2.8q-1.5 0-2.1 0.6t-0.5 1.9v3.4h5.2l-0.7 5.3h-4.5v13.6h-5.5v-13.6h-4.5v-5.3h4.5v-3.9q0-3.3 1.9-5.2t5-1.8q2.6 0 4.1 0.2z\"\/><\/svg><\/span><span data-service=\"facebook\" style=\"color:#3b5998\" class=\"shariff-count shariff-hidezero\"><\/span>&nbsp;<\/a><\/li><li class=\"shariff-button twitter shariff-nocustomcolor\" style=\"background-color:#595959\"><a href=\"https:\/\/twitter.com\/share?url=https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F&text=How%20to%20migrate%20a%20dockerized%20Mastodon%20to%20a%20non-dockerized%20Mastodon%20instance&via=markusblogde\" title=\"Bei X teilen\" aria-label=\"Bei X teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#000; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 24 24\"><path fill=\"#000\" d=\"M14.258 10.152L23.176 0h-2.113l-7.747 8.813L7.133 0H0l9.352 13.328L0 23.973h2.113l8.176-9.309 6.531 9.309h7.133zm-2.895 3.293l-.949-1.328L2.875 1.56h3.246l6.086 8.523.945 1.328 7.91 11.078h-3.246zm0 0\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button whatsapp shariff-nocustomcolor\" style=\"background-color:#5cbe4a\"><a href=\"https:\/\/api.whatsapp.com\/send?text=https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F%20How%20to%20migrate%20a%20dockerized%20Mastodon%20to%20a%20non-dockerized%20Mastodon%20instance\" title=\"Bei Whatsapp teilen\" aria-label=\"Bei Whatsapp teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#34af23; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 32 32\"><path fill=\"#34af23\" d=\"M17.6 17.4q0.2 0 1.7 0.8t1.6 0.9q0 0.1 0 0.3 0 0.6-0.3 1.4-0.3 0.7-1.3 1.2t-1.8 0.5q-1 0-3.4-1.1-1.7-0.8-3-2.1t-2.6-3.3q-1.3-1.9-1.3-3.5v-0.1q0.1-1.6 1.3-2.8 0.4-0.4 0.9-0.4 0.1 0 0.3 0t0.3 0q0.3 0 0.5 0.1t0.3 0.5q0.1 0.4 0.6 1.6t0.4 1.3q0 0.4-0.6 1t-0.6 0.8q0 0.1 0.1 0.3 0.6 1.3 1.8 2.4 1 0.9 2.7 1.8 0.2 0.1 0.4 0.1 0.3 0 1-0.9t0.9-0.9zM14 26.9q2.3 0 4.3-0.9t3.6-2.4 2.4-3.6 0.9-4.3-0.9-4.3-2.4-3.6-3.6-2.4-4.3-0.9-4.3 0.9-3.6 2.4-2.4 3.6-0.9 4.3q0 3.6 2.1 6.6l-1.4 4.2 4.3-1.4q2.8 1.9 6.2 1.9zM14 2.2q2.7 0 5.2 1.1t4.3 2.9 2.9 4.3 1.1 5.2-1.1 5.2-2.9 4.3-4.3 2.9-5.2 1.1q-3.5 0-6.5-1.7l-7.4 2.4 2.4-7.2q-1.9-3.2-1.9-6.9 0-2.7 1.1-5.2t2.9-4.3 4.3-2.9 5.2-1.1z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button xing shariff-nocustomcolor\" style=\"background-color:#29888a\"><a href=\"https:\/\/www.xing.com\/spi\/shares\/new?url=https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F\" title=\"Bei XING teilen\" aria-label=\"Bei XING teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#126567; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 25 32\"><path fill=\"#126567\" d=\"M10.7 11.9q-0.2 0.3-4.6 8.2-0.5 0.8-1.2 0.8h-4.3q-0.4 0-0.5-0.3t0-0.6l4.5-8q0 0 0 0l-2.9-5q-0.2-0.4 0-0.7 0.2-0.3 0.5-0.3h4.3q0.7 0 1.2 0.8zM25.1 0.4q0.2 0.3 0 0.7l-9.4 16.7 6 11q0.2 0.4 0 0.6-0.2 0.3-0.6 0.3h-4.3q-0.7 0-1.2-0.8l-6-11.1q0.3-0.6 9.5-16.8 0.4-0.8 1.2-0.8h4.3q0.4 0 0.5 0.3z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button threema shariff-nocustomcolor shariff-mobile\" style=\"background-color:#4fbc24\"><a href=\"threema:\/\/compose?text=How%20to%20migrate%20a%20dockerized%20Mastodon%20to%20a%20non-dockerized%20Mastodon%20instance%20https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F\" title=\"Bei Threema teilen\" aria-label=\"Bei Threema teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#1f1f1f; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 32 32\"><path fill=\"#1f1f1f\" d=\"M30.8 10.9c-0.3-1.4-0.9-2.6-1.8-3.8-2-2.6-5.5-4.5-9.4-5.2-1.3-0.2-1.9-0.3-3.5-0.3s-2.2 0-3.5 0.3c-4 0.7-7.4 2.6-9.4 5.2-0.9 1.2-1.5 2.4-1.8 3.8-0.1 0.5-0.2 1.2-0.2 1.6 0 0.4 0.1 1.1 0.2 1.6 0.4 1.9 1.3 3.4 2.9 5 0.8 0.8 0.8 0.8 0.7 1.3 0 0.6-0.5 1.6-1.7 3.6-0.3 0.5-0.5 0.9-0.5 0.9 0 0.1 0.1 0.1 0.5 0 0.8-0.2 2.3-0.6 5.6-1.6 1.1-0.3 1.3-0.4 2.3-0.4 0.8 0 1.1 0 2.3 0.2 1.5 0.2 3.5 0.2 4.9 0 5.1-0.6 9.3-2.9 11.4-6.3 0.5-0.9 0.9-1.8 1.1-2.8 0.1-0.5 0.2-1.1 0.2-1.6 0-0.7-0.1-1.1-0.2-1.6-0.3-1.4 0.1 0.5 0 0zM20.6 17.3c0 0.4-0.4 0.8-0.8 0.8h-7.7c-0.4 0-0.8-0.4-0.8-0.8v-4.6c0-0.4 0.4-0.8 0.8-0.8h0.2l0-1.6c0-0.9 0-1.8 0.1-2 0.1-0.6 0.6-1.2 1.1-1.7s1.1-0.7 1.9-0.8c1.8-0.3 3.7 0.7 4.2 2.2 0.1 0.3 0.1 0.7 0.1 2.1v0 1.7h0.1c0.4 0 0.8 0.4 0.8 0.8v4.6zM15.6 7.3c-0.5 0.1-0.8 0.3-1.2 0.6s-0.6 0.8-0.7 1.3c0 0.2 0 0.8 0 1.5l0 1.2h4.6v-1.3c0-1 0-1.4-0.1-1.6-0.3-1.1-1.5-1.9-2.6-1.7zM25.8 28.2c0 1.2-1 2.2-2.1 2.2s-2.1-1-2.1-2.1c0-1.2 1-2.1 2.2-2.1s2.2 1 2.2 2.2zM18.1 28.2c0 1.2-1 2.2-2.1 2.2s-2.1-1-2.1-2.1c0-1.2 1-2.1 2.2-2.1s2.2 1 2.2 2.2zM10.4 28.2c0 1.2-1 2.2-2.1 2.2s-2.1-1-2.1-2.1c0-1.2 1-2.1 2.2-2.1s2.2 1 2.2 2.2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button mailto shariff-nocustomcolor\" style=\"background-color:#a8a8a8\"><a href=\"mailto:?body=https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F&subject=How%20to%20migrate%20a%20dockerized%20Mastodon%20to%20a%20non-dockerized%20Mastodon%20instance\" title=\"Per E-Mail versenden\" aria-label=\"Per E-Mail versenden\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#999; color:#fff\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 32 32\"><path fill=\"#999\" d=\"M32 12.7v14.2q0 1.2-0.8 2t-2 0.9h-26.3q-1.2 0-2-0.9t-0.8-2v-14.2q0.8 0.9 1.8 1.6 6.5 4.4 8.9 6.1 1 0.8 1.6 1.2t1.7 0.9 2 0.4h0.1q0.9 0 2-0.4t1.7-0.9 1.6-1.2q3-2.2 8.9-6.1 1-0.7 1.8-1.6zM32 7.4q0 1.4-0.9 2.7t-2.2 2.2q-6.7 4.7-8.4 5.8-0.2 0.1-0.7 0.5t-1 0.7-0.9 0.6-1.1 0.5-0.9 0.2h-0.1q-0.4 0-0.9-0.2t-1.1-0.5-0.9-0.6-1-0.7-0.7-0.5q-1.6-1.1-4.7-3.2t-3.6-2.6q-1.1-0.7-2.1-2t-1-2.5q0-1.4 0.7-2.3t2.1-0.9h26.3q1.2 0 2 0.8t0.9 2z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button printer shariff-nocustomcolor\" style=\"background-color:#a8a8a8\"><a href=\"javascript:window.print()\" title=\"drucken\" aria-label=\"drucken\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#999; color:#fff\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 30 32\"><path fill=\"#999\" d=\"M6.8 27.4h16v-4.6h-16v4.6zM6.8 16h16v-6.8h-2.8q-0.7 0-1.2-0.5t-0.5-1.2v-2.8h-11.4v11.4zM27.4 17.2q0-0.5-0.3-0.8t-0.8-0.4-0.8 0.4-0.3 0.8 0.3 0.8 0.8 0.3 0.8-0.3 0.3-0.8zM29.7 17.2v7.4q0 0.2-0.2 0.4t-0.4 0.2h-4v2.8q0 0.7-0.5 1.2t-1.2 0.5h-17.2q-0.7 0-1.2-0.5t-0.5-1.2v-2.8h-4q-0.2 0-0.4-0.2t-0.2-0.4v-7.4q0-1.4 1-2.4t2.4-1h1.2v-9.7q0-0.7 0.5-1.2t1.2-0.5h12q0.7 0 1.6 0.4t1.3 0.8l2.7 2.7q0.5 0.5 0.9 1.4t0.4 1.6v4.6h1.1q1.4 0 2.4 1t1 2.4z\"\/><\/svg><\/span><\/a><\/li><li class=\"shariff-button reddit shariff-nocustomcolor\" style=\"background-color:#ff5700\"><a href=\"https:\/\/www.reddit.com\/submit?url=https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F\" title=\"Bei Reddit teilen\" aria-label=\"Bei Reddit teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#ff4500; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\"><path fill=\"#ff4500\" d=\"M440.3 203.5c-15 0-28.2 6.2-37.9 15.9-35.7-24.7-83.8-40.6-137.1-42.3L293 52.3l88.2 19.8c0 21.6 17.6 39.2 39.2 39.2 22 0 39.7-18.1 39.7-39.7s-17.6-39.7-39.7-39.7c-15.4 0-28.7 9.3-35.3 22l-97.4-21.6c-4.9-1.3-9.7 2.2-11 7.1L246.3 177c-52.9 2.2-100.5 18.1-136.3 42.8-9.7-10.1-23.4-16.3-38.4-16.3-55.6 0-73.8 74.6-22.9 100.1-1.8 7.9-2.6 16.3-2.6 24.7 0 83.8 94.4 151.7 210.3 151.7 116.4 0 210.8-67.9 210.8-151.7 0-8.4-.9-17.2-3.1-25.1 49.9-25.6 31.5-99.7-23.8-99.7zM129.4 308.9c0-22 17.6-39.7 39.7-39.7 21.6 0 39.2 17.6 39.2 39.7 0 21.6-17.6 39.2-39.2 39.2-22 .1-39.7-17.6-39.7-39.2zm214.3 93.5c-36.4 36.4-139.1 36.4-175.5 0-4-3.5-4-9.7 0-13.7 3.5-3.5 9.7-3.5 13.2 0 27.8 28.5 120 29 149 0 3.5-3.5 9.7-3.5 13.2 0 4.1 4 4.1 10.2.1 13.7zm-.8-54.2c-21.6 0-39.2-17.6-39.2-39.2 0-22 17.6-39.7 39.2-39.7 22 0 39.7 17.6 39.7 39.7-.1 21.5-17.7 39.2-39.7 39.2z\"\/><\/svg><\/span><span data-service=\"reddit\" style=\"color:#ff4500\" class=\"shariff-count shariff-hidezero\"><\/span>&nbsp;<\/a><\/li><li class=\"shariff-button linkedin shariff-nocustomcolor\" style=\"background-color:#1488bf\"><a href=\"https:\/\/www.linkedin.com\/sharing\/share-offsite\/?url=https%3A%2F%2Fmarkus-blog.de%2Findex.php%2F2021%2F06%2F29%2Fhow-to-migrate-a-dockerized-mastodon-to-a-non-dockerized-mastodon-instance%2F\" title=\"Bei LinkedIn teilen\" aria-label=\"Bei LinkedIn teilen\" role=\"button\" rel=\"noopener nofollow\" class=\"shariff-link\" style=\"; background-color:#0077b5; color:#fff\" target=\"_blank\"><span class=\"shariff-icon\" style=\"\"><svg width=\"32px\" height=\"20px\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 27 32\"><path fill=\"#0077b5\" d=\"M6.2 11.2v17.7h-5.9v-17.7h5.9zM6.6 5.7q0 1.3-0.9 2.2t-2.4 0.9h0q-1.5 0-2.4-0.9t-0.9-2.2 0.9-2.2 2.4-0.9 2.4 0.9 0.9 2.2zM27.4 18.7v10.1h-5.9v-9.5q0-1.9-0.7-2.9t-2.3-1.1q-1.1 0-1.9 0.6t-1.2 1.5q-0.2 0.5-0.2 1.4v9.9h-5.9q0-7.1 0-11.6t0-5.3l0-0.9h5.9v2.6h0q0.4-0.6 0.7-1t1-0.9 1.6-0.8 2-0.3q3 0 4.9 2t1.9 6z\"\/><\/svg><\/span><\/a><\/li><\/ul><\/div>","protected":false},"excerpt":{"rendered":"<p>What is Mastodon? Mastodon is a microblogging platform akin to others you may have seen, such as Twitter, but instead of being centralised it is a federated network which operates [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":1656,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[114,184,122],"tags":[60,59,161,141,140,64,150,134],"class_list":["post-1714","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-docker-en","category-mastodon","category-vps-en","tag-container","tag-docker-io","tag-mastodon","tag-migrate","tag-migration","tag-reverse-proxy","tag-s3","tag-vps"],"_links":{"self":[{"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/posts\/1714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/comments?post=1714"}],"version-history":[{"count":0,"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/posts\/1714\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/media\/1656"}],"wp:attachment":[{"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/media?parent=1714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/categories?post=1714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/markus-blog.de\/index.php\/wp-json\/wp\/v2\/tags?post=1714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}