{"tag":"vps","articles":{"blog\/technology\/ovh-bulldozed-my-server":{"key":"blog\/technology\/ovh-bulldozed-my-server","type":"article","published":true,"meta":{"createdAt":"2024-06-29T06:54:49+00:00","publishedAt":"2024-06-29T06:54:49+00:00","group":"customer-rants","category":"blog","subcategory":"technology","slug":"ovh-bulldozed-my-server"},"content":{"en":{"slug":"ovh-bulldozed-my-server","title":"OVH bulldozed my server","intro":"\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer_small.png\u0022 alt=\u0022AI-generated illustration: a wrecking ball with OVHcloud logo smashing a server with my blog\u0027s logo\u0022 class=\u0022border-bottom\u0022 width=\u0022480\u0022 height=\u0022343.59375\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAZCAYAAABZ5IzrAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAKoUlEQVRIiSXU249c90HA8e+5z5kz99vO3uz17vqWxI5dxzgJKYlrSAVUrdKqalNFiJbSvgCiL6FCSPgRVCRAFZWAB9RKSFRKVSBNCnXaXEp8iV07cRyn3lu8u97LzOzMzsy5X37n8JC\/4fvRV3r19ZezxYMzGJqC7bn87fd+wPK9j0j8ECFiqgUTI\/SZOLLA0PdJ4pAsEeRMnUajwskTDyGlCaqqkgjB5evvs7vTQ8oyUpGSNw1GYw9FllAlCFOdre19as0iZx8\/yZ\/94RdQVI0kEbxz9x5KYFYunnrkKKqikNNkLCvPrTtLKICmqsiGga7KGCgUG0WarTpm3qBomZRKFq7jsrndodfr4foBQZSgqhKKolItWYRJiu3FqJpOLmfihYI0FRRrJb7xB89RKRVJ04yN3h7\/+G\/\/hXrz6nt8V5Wo10oYukIchRi6RhDHFKwiKQnVcoWw22e+0katVHAdB9NQMXMa1WKJ4dgkDEIMQ0PCYKU3olTOM1E2qAxgZAcULR3TzLP7oIeqqchSysv\/+xaaYZBmGctL6+zeWUaaWng0M8t5qs0Kuq4gKzKGoWPqKqqiYRoypUoBMR6xv9nl81\/9HCID01ApmDq1Ypkg8Ahigev5XL36IaqRIqsKmayxfn+LjIx83qTXHdHb9zDzBkEs8IKINBbIQvCZdsLhaRPFLFYvSkikaUq+YDE902Zmps3UTBuRCSwzT7FcZPHIIcLeNp2BQ6c3Zn\/okWUSB2anmW436ez2mJhoUSzlaE9UEUlKsWihSIJGpYAnFHq9IdVmjfmFAxg5E1lVccYu486Ath7zPzf3UMrNyYuyIqMoCqVahT\/946\/w+WfP8\/RvnCKVJJwo4chsHW2wwVs3VhmFcPThYxw9ephcvsRPf\/YmE60WRxfnSOKEStlCVxVaE00MVSGfy1EqFnAch2K5wO+cf4KvfvGznH\/iUayCyTvX7\/DkoRK\/WHZwFQOlNjl\/MWfmyMiQVYnt4ZiHFg5SKljMTE7gBC5zyoC\/\/9efMfQzZuemefTEUR47dZLFuQNUKiW+\/+8vMT01RX9vQLNZRcpS2vUKVt6gYBUoFS1MQ6FUKfHM42exRy7d\/SH\/\/P0fY48c1rsuumkQxClKodK4aJoGVsEgS1OiKGR58wErG+ts7Oxw9vAkL\/3gJW7c20NSFEwrR7lcQFEkcoaO69rc\/fUy91c+4slzjxJ4NvVahQ\/vLvGLN94jl9OZmZ3EyuXwbJ9ur8vV23d47a0bdDt9RJJgmDk8P0IWAtWwTGRNQtZ0coZCEkd0Ol00TcEq5FG9AW\/f2sSxQxKRsb2+y1Vusbp6n4mJOpIE4\/0hO\/19CqbCR0vb\/OTl1\/nPV67xwtee55dXPuSHP\/w5D51Y5MDBSVrNIvpujyQMsEwdTVfpD1xyloErK6j1iRpnzp5AljPuLq2DSJAkiTgRzLYn8Ecj6u0DzC5Wub++jq7p7G3v440Dejs9Qt9HRCG6BNf+7ypqGnHl2oeESUbOzKHpFo2pKXa291lZ2ibNEhaPznFwps3ecBWzaHHh9CN4bsSl1y6jnH7y3MVjxxb5+hc\/y4GZJr96fwkjp1Mq5EhJmSubPP9H36LVajIeO+z396mUy7QaTeqVBsV8kXazRSmfx5ACOp0+H6z2ODA7wWS7jusLdCvPe\/sakWyAb+M4DuWJFrKU8ufffIEzJ45x64NlDEVC+uaL38qKeYsH\/T69\/j6GplKtF2nVK7RaVSrDTb7z3VcZ2hFpmiLLIEsShq5iaDLFnEa1pNFqFT9OmGasD2NmDs5SKNcYODGxSLheO8mZZ86x+U9\/R7sAhw5PsbHdYc+NOLp4CMkXpJGL2iga3Hv7Cla1xdPnTuElIV\/6vQs4rsvtlVVK9YeZmb6Gt9ZDiBSJDF1TyOsqOSWlnJMo6xnTDYuFuSZX3l1nbWWH+SOLjOwAFOhud6huv8HG1vvIkY9VbPLJx09x84N7FMp1Xv+PVymZMsfPHEOWNY12zWKwusZuZ0Box\/z40pu8\/MZlskRQqNT5yte\/zORsE6tYoFjMU8rrlHLQLinMluH08QleeP48WuKRlxPMnEYsBFEY4uw7OJKBFoQM7i3hDPocODhBGMYMuyPGIxfZGdIoW4RhhOy4PpmeI5ElLENh9dpVhBdSLVRpNCroqsq5J8\/wN995kd985gy1VoVqJUe9bLAwW+ILXzrPl7\/2HKHj0JqeRFY0ZqbqDPcdAt9D1yRGI5fg+CdIZZV6q04S+axvbCF21jFkCScQuG5AGCeoUSYThxFJAmmWQRhiEfLrW7cJvVnOPnaaKEpYOHSAb7\/4DZQsodPpISc2RTWikMuolQyWrm1w+XaX7T2bpz79Sa7d3GDu4DRr6ztk9pDi1jKKpeB4PrnIRo40SkpKlsRIkoSWU\/BDgdx3Y9aDlIEASTfxlDyqDKaa4XY6vHPjNmtbXSKRUSwYeEHE6dOPUG9OMXfsBGalzb27a2zu2HR6Y+bm2mxs9\/nUb1\/gM7\/\/HJ9+9ndRJI3PPf0kk9UqhqFT0CQkYNeJCaOYHU+wG8n03Rg5SASdQKEfS3hGlU5zHl\/IeLFElKkoCLp7AzqDMVeuvsvtO8tEUUShUkQ18vT39rm3tMmD\/ZhANjl8dIaPNgeceeRh\/vvVV6g1aszMz3Bw7hBLy2vMz9URukHfDdlPFLwwQM1SVro+dpQhG6ZF\/YlnodBAS2PS\/h5ZpcFYMrBzBXwBWSqI\/DEz05NcOP84qqZz9fJNth7ssrGyzP2Ox8hPKZgG\/X0bIWvcvH2H1bX7fO+Vt\/mTv\/prfvTTS2RkNOtFOj4UGm02AhU3luirVcpnP0WUgezZY7I7P0EOxty+fBVPSHyw\/IDx0Ma3PfwoJYljfvnWdf7iL\/+Bbn\/EyLY5\/dhJRCa4u9Zh6CWs7\/ncH0YISUJJE177+SX8IGJHyfEvWzZ3Vu6TySrlUgFXqKys76CYebY3d5EiG\/fGJWLXQc1GA2aylCAcMTN1nI33tymrKbuOTRxZ2GOHriazsHCQb587Q61eZjQcsdftktfh\/pbNbndMnKkI32Wz46MrMk4oCMKQ3K3XuXP3FmZkU6talAsGy6ubVCol9FEXq9imHQxpSAbOUCD7I5tkYFMTCSL00P0B+cCmKAu0JEJFQCaRSRI502BlbR2zYHJo4QDv3lljbxziRBlDJ+Lh+TrvfrgDkkKj1WRvHKJrOtmwSxzGHJlvUSvpWFmAGjrMawGha1OWBHoYgUhRA8dFSAI3TlCChDAGzwsIgwA18gltcEi5n\/hcefNXPPHEKdqtBvZoyPpWh27fxg0S4jhD1TQm2w1kVaeztUvkhcTlCpEXYdZNGrUCne4Qzw8Z2TFEKV4QE2QSuUQQiBDZd33iWBAlCb4ToJEgHAcRBARuQOT5DB2fVNU591uf4PDxeR7s9kgzwdrqFiMvwnUDEmSiDBRSXMcjzCSMU09hPnWBfKWE5\/lMTdcY7I2Qwpi88DCTBN92EJlEEidEQYQsCfHxnDKIPA9VlnEcjzTNUNOPHURxQhhHJEKwNxhy\/fptVN1kcWGWVr2CSGUemq\/xoB8hpTJCZMR+SNKeIJtfwNBVZg5OIKcZIzdAiBQ\/ziiUDNJMxlAkNEVCTlP+H4ABWPHrRyKKAAAAAElFTkSuQmCC\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer_small.png\u0022 alt=\u0022AI-generated illustration: a wrecking ball with OVHcloud logo smashing a server with my blog\u0027s logo\u0022 class=\u0022border-bottom\u0022 width=\u0022480\u0022 height=\u0022343.59375\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EA big chunk of my free time in the last week has been consumed by work on restoring a bunch of my projects\nafter my hosting provider, \u003Ca href=\u0022https:\/\/ovh.com\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E OVH\u003C\/a\u003E, completely removed my server and backups.\nHere\u0027s what happened.\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","content":"\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer_big.png\u0022 alt=\u0022AI-generated illustration: a wrecking ball with OVHcloud logo smashing a server with my blog\u0027s logo\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022687.1875\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAZCAYAAABZ5IzrAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAKoUlEQVRIiSXU249c90HA8e+5z5kz99vO3uz17vqWxI5dxzgJKYlrSAVUrdKqalNFiJbSvgCiL6FCSPgRVCRAFZWAB9RKSFRKVSBNCnXaXEp8iV07cRyn3lu8u97LzOzMzsy5X37n8JC\/4fvRV3r19ZezxYMzGJqC7bn87fd+wPK9j0j8ECFiqgUTI\/SZOLLA0PdJ4pAsEeRMnUajwskTDyGlCaqqkgjB5evvs7vTQ8oyUpGSNw1GYw9FllAlCFOdre19as0iZx8\/yZ\/94RdQVI0kEbxz9x5KYFYunnrkKKqikNNkLCvPrTtLKICmqsiGga7KGCgUG0WarTpm3qBomZRKFq7jsrndodfr4foBQZSgqhKKolItWYRJiu3FqJpOLmfihYI0FRRrJb7xB89RKRVJ04yN3h7\/+G\/\/hXrz6nt8V5Wo10oYukIchRi6RhDHFKwiKQnVcoWw22e+0katVHAdB9NQMXMa1WKJ4dgkDEIMQ0PCYKU3olTOM1E2qAxgZAcULR3TzLP7oIeqqchSysv\/+xaaYZBmGctL6+zeWUaaWng0M8t5qs0Kuq4gKzKGoWPqKqqiYRoypUoBMR6xv9nl81\/9HCID01ApmDq1Ypkg8Ahigev5XL36IaqRIqsKmayxfn+LjIx83qTXHdHb9zDzBkEs8IKINBbIQvCZdsLhaRPFLFYvSkikaUq+YDE902Zmps3UTBuRCSwzT7FcZPHIIcLeNp2BQ6c3Zn\/okWUSB2anmW436ez2mJhoUSzlaE9UEUlKsWihSIJGpYAnFHq9IdVmjfmFAxg5E1lVccYu486Ath7zPzf3UMrNyYuyIqMoCqVahT\/946\/w+WfP8\/RvnCKVJJwo4chsHW2wwVs3VhmFcPThYxw9ephcvsRPf\/YmE60WRxfnSOKEStlCVxVaE00MVSGfy1EqFnAch2K5wO+cf4KvfvGznH\/iUayCyTvX7\/DkoRK\/WHZwFQOlNjl\/MWfmyMiQVYnt4ZiHFg5SKljMTE7gBC5zyoC\/\/9efMfQzZuemefTEUR47dZLFuQNUKiW+\/+8vMT01RX9vQLNZRcpS2vUKVt6gYBUoFS1MQ6FUKfHM42exRy7d\/SH\/\/P0fY48c1rsuumkQxClKodK4aJoGVsEgS1OiKGR58wErG+ts7Oxw9vAkL\/3gJW7c20NSFEwrR7lcQFEkcoaO69rc\/fUy91c+4slzjxJ4NvVahQ\/vLvGLN94jl9OZmZ3EyuXwbJ9ur8vV23d47a0bdDt9RJJgmDk8P0IWAtWwTGRNQtZ0coZCEkd0Ol00TcEq5FG9AW\/f2sSxQxKRsb2+y1Vusbp6n4mJOpIE4\/0hO\/19CqbCR0vb\/OTl1\/nPV67xwtee55dXPuSHP\/w5D51Y5MDBSVrNIvpujyQMsEwdTVfpD1xyloErK6j1iRpnzp5AljPuLq2DSJAkiTgRzLYn8Ecj6u0DzC5Wub++jq7p7G3v440Dejs9Qt9HRCG6BNf+7ypqGnHl2oeESUbOzKHpFo2pKXa291lZ2ibNEhaPznFwps3ecBWzaHHh9CN4bsSl1y6jnH7y3MVjxxb5+hc\/y4GZJr96fwkjp1Mq5EhJmSubPP9H36LVajIeO+z396mUy7QaTeqVBsV8kXazRSmfx5ACOp0+H6z2ODA7wWS7jusLdCvPe\/sakWyAb+M4DuWJFrKU8ufffIEzJ45x64NlDEVC+uaL38qKeYsH\/T69\/j6GplKtF2nVK7RaVSrDTb7z3VcZ2hFpmiLLIEsShq5iaDLFnEa1pNFqFT9OmGasD2NmDs5SKNcYODGxSLheO8mZZ86x+U9\/R7sAhw5PsbHdYc+NOLp4CMkXpJGL2iga3Hv7Cla1xdPnTuElIV\/6vQs4rsvtlVVK9YeZmb6Gt9ZDiBSJDF1TyOsqOSWlnJMo6xnTDYuFuSZX3l1nbWWH+SOLjOwAFOhud6huv8HG1vvIkY9VbPLJx09x84N7FMp1Xv+PVymZMsfPHEOWNY12zWKwusZuZ0Box\/z40pu8\/MZlskRQqNT5yte\/zORsE6tYoFjMU8rrlHLQLinMluH08QleeP48WuKRlxPMnEYsBFEY4uw7OJKBFoQM7i3hDPocODhBGMYMuyPGIxfZGdIoW4RhhOy4PpmeI5ElLENh9dpVhBdSLVRpNCroqsq5J8\/wN995kd985gy1VoVqJUe9bLAwW+ILXzrPl7\/2HKHj0JqeRFY0ZqbqDPcdAt9D1yRGI5fg+CdIZZV6q04S+axvbCF21jFkCScQuG5AGCeoUSYThxFJAmmWQRhiEfLrW7cJvVnOPnaaKEpYOHSAb7\/4DZQsodPpISc2RTWikMuolQyWrm1w+XaX7T2bpz79Sa7d3GDu4DRr6ztk9pDi1jKKpeB4PrnIRo40SkpKlsRIkoSWU\/BDgdx3Y9aDlIEASTfxlDyqDKaa4XY6vHPjNmtbXSKRUSwYeEHE6dOPUG9OMXfsBGalzb27a2zu2HR6Y+bm2mxs9\/nUb1\/gM7\/\/HJ9+9ndRJI3PPf0kk9UqhqFT0CQkYNeJCaOYHU+wG8n03Rg5SASdQKEfS3hGlU5zHl\/IeLFElKkoCLp7AzqDMVeuvsvtO8tEUUShUkQ18vT39rm3tMmD\/ZhANjl8dIaPNgeceeRh\/vvVV6g1aszMz3Bw7hBLy2vMz9URukHfDdlPFLwwQM1SVro+dpQhG6ZF\/YlnodBAS2PS\/h5ZpcFYMrBzBXwBWSqI\/DEz05NcOP84qqZz9fJNth7ssrGyzP2Ox8hPKZgG\/X0bIWvcvH2H1bX7fO+Vt\/mTv\/prfvTTS2RkNOtFOj4UGm02AhU3luirVcpnP0WUgezZY7I7P0EOxty+fBVPSHyw\/IDx0Ma3PfwoJYljfvnWdf7iL\/+Bbn\/EyLY5\/dhJRCa4u9Zh6CWs7\/ncH0YISUJJE177+SX8IGJHyfEvWzZ3Vu6TySrlUgFXqKys76CYebY3d5EiG\/fGJWLXQc1GA2aylCAcMTN1nI33tymrKbuOTRxZ2GOHriazsHCQb587Q61eZjQcsdftktfh\/pbNbndMnKkI32Wz46MrMk4oCMKQ3K3XuXP3FmZkU6talAsGy6ubVCol9FEXq9imHQxpSAbOUCD7I5tkYFMTCSL00P0B+cCmKAu0JEJFQCaRSRI502BlbR2zYHJo4QDv3lljbxziRBlDJ+Lh+TrvfrgDkkKj1WRvHKJrOtmwSxzGHJlvUSvpWFmAGjrMawGha1OWBHoYgUhRA8dFSAI3TlCChDAGzwsIgwA18gltcEi5n\/hcefNXPPHEKdqtBvZoyPpWh27fxg0S4jhD1TQm2w1kVaeztUvkhcTlCpEXYdZNGrUCne4Qzw8Z2TFEKV4QE2QSuUQQiBDZd33iWBAlCb4ToJEgHAcRBARuQOT5DB2fVNU591uf4PDxeR7s9kgzwdrqFiMvwnUDEmSiDBRSXMcjzCSMU09hPnWBfKWE5\/lMTdcY7I2Qwpi88DCTBN92EJlEEidEQYQsCfHxnDKIPA9VlnEcjzTNUNOPHURxQhhHJEKwNxhy\/fptVN1kcWGWVr2CSGUemq\/xoB8hpTJCZMR+SNKeIJtfwNBVZg5OIKcZIzdAiBQ\/ziiUDNJMxlAkNEVCTlP+H4ABWPHrRyKKAAAAAElFTkSuQmCC\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer_big.png\u0022 alt=\u0022AI-generated illustration: a wrecking ball with OVHcloud logo smashing a server with my blog\u0027s logo\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022687.1875\u0022\u003E\u003C\/span\u003E\n                \u003Cfigcaption\u003E\n                    \u003Ca href=\u0022Illustration generated with ChatGPT-4o\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\n                        \u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E\n                        Illustration generated with ChatGPT-4o\n                    \u003C\/a\u003E\n                \u003C\/figcaption\u003E\n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EA big chunk of my free time in the last week has been consumed by work on restoring a bunch of my projects\nafter my hosting provider, \u003Ca href=\u0022https:\/\/ovh.com\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E OVH\u003C\/a\u003E, completely removed my server and backups.\nHere\u0027s what happened.\u003C\/p\u003E\n\u003Ch2\u003ETL;DR\u003C\/h2\u003E\n\u003Cp\u003EThis post ended up longer than I was hoping for, so if you don\u0027t wanna read the whole thing, here\u0027s an executive summary:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EOVH has made me start a new account for each country I\u0027ve lived in; it\u0027s annoying to keep track of,\nso I\u0027m starting to clean it all up as well as to slowly move my projects a better competitor.\u003C\/li\u003E\n\u003Cli\u003EI requested removal of one of those accounts, clearly marking which one, and they did remove it\u2026\nand then removed another account too \ud83e\udd26 The one where my server and backups were located and paid for in advance.\u003C\/li\u003E\n\u003Cli\u003EIt\u0027s been over a week and support still hasn\u0027t helped me a bit.\u003C\/li\u003E\n\u003Cli\u003EMy planned move to Hetzner got expedited; and I\u0027ve decided to also make a bunch of improvements\nto my projects along the way: to update language versions, dependencies, licenses, etc., to discontinue some,\nand to make my setup more resilient, easy to restore and less reliant on a single company in the future.\nSo it\u0027s been infuriating, but with silver lining.\u003C\/li\u003E\n\u003Cli\u003EUnfortunately, I also lost some databases in the process \u2013 causing one project to be prematurely discontinued,\nand a few others to lose some less important but cool stats\u2026\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E After 17 days I received a call from the claims department: they took responsibility for the incident,\napologised, confirmed that the data is not recoverable, and offered me 136,38\u20ac (six months worth of the cost of the service) \u2013\nwhich would be a reasonable compensation for the trouble, but is a laughable compensation for the unrecoverable loss of data.\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Chr \/\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022#what-happened\u0022\u003EWhy would OVH do that? How did they handle the situation?\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022#my-mistakes\u0022\u003EWhat could I have done better?\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022#silver-linings\u0022\u003ESilver linings\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022#databases-lost\u0022\u003EDatabases lost\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022#receipts\u0022\u003EReceipts\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch2\u003EWhy would OVH do that? How did they handle the situation? \u003Ca id=\u0022what-happened\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003EI\u0027ve been using OVH to host my VPS and register my domains for ages now. They used to be good enough,\nbut most importantly cheaper than everyone else. Now, however, I can get better machines\nand better service for less. I was recommended a German company called \u003Ca href=\u0022https:\/\/hetzner.com\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Hetzner\u003C\/a\u003E\nand I\u0027ve been planning to move there, and procrastinating on that plan, since, *checks notes*, October 2022 \ud83d\ude05\u003C\/p\u003E\n\u003Cdiv class=\u0022table-responsive\u0022\u003E\u003Ctable class=\u0022table table-striped\u0022\u003E\n\u003Cthead\u003E\n\u003Ctr\u003E\n\u003Cth\u003ECompany\u003C\/th\u003E\n\u003Cth\u003EModel\u003C\/th\u003E\n\u003Cth\u003ECPU\u003C\/th\u003E\n\u003Cth\u003ERAM\u003C\/th\u003E\n\u003Cth\u003EDisk space\u003C\/th\u003E\n\u003Cth\u003EBandwidth\u003C\/th\u003E\n\u003Cth\u003EPrice\u003C\/th\u003E\n\u003C\/tr\u003E\n\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Ctd\u003EOVH\u003C\/td\u003E\n\u003Ctd\u003EVPS 2018 SSD 3\u003C\/td\u003E\n\u003Ctd\u003E2 vCores\u003C\/td\u003E\n\u003Ctd\u003E8 GB\u003C\/td\u003E\n\u003Ctd\u003E80 GB + 50 GB extension\u003C\/td\u003E\n\u003Ctd\u003EUnlimited (with fair use policy)\u003C\/td\u003E\n\u003Ctd\u003E22.73\u20ac\/month\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003EHetzner\u003C\/td\u003E\n\u003Ctd\u003ECX42\u003C\/td\u003E\n\u003Ctd\u003E8 vCores\u003C\/td\u003E\n\u003Ctd\u003E16 GB\u003C\/td\u003E\n\u003Ctd\u003E160 GB\u003C\/td\u003E\n\u003Ctd\u003E20 TB\u003C\/td\u003E\n\u003Ctd\u003E19.84\u20ac\/month\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\u003C\/div\u003E\n\u003Cp\u003EI\u0027ve actually been using Hetzner for a while for a different project,\never since I moved \u003Ca href=\u0022https:\/\/pronouns.page\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Pronouns.page\u003C\/a\u003E\nto its separate setup (see: \u003Ca href=\u0022\/blog\/pronouns-page-migration\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-computer-speaker\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Migrating Pronouns.page to a new server \u2013 a success story\u003C\/a\u003E) \u2013 and I can only recommend them!\u003C\/p\u003E\n\u003Cp\u003EWhich is not the case for OVH at all\u2026 While the price difference is not terrible \u2013\nI could live with this specification for that money \u2013\nthere are so many other things about OVH that kept annoying me greatly. Their dashboard is slow, buggy\nand has terrible user experience. Your account is bound to a country in which you created it,\nmeaning that me, a person who moved from Poland to Germany and then from Germany to Netherlands,\nended up with three separate accounts \u2013 and scary automated emails warning me that if my whois information\nis proved to be inaccurate they will have to take away my domains. That information\nincludes the physical address and phone number, which are bound to a country,\nso it \u003Cem\u003Ewon\u0027t let me\u003C\/em\u003E update them without making me create a brand new account.\u003C\/p\u003E\n\u003Cp\u003EOkay, then just create a new account and move the domains and servers there, how hard can that be?\nWell, hard\u2026 The procedure to move a single domain, at least at the time I did that, required separately\nchanging three contacts (iirc: administrative, billing and technical), confirming each of them via a code\nfrom the email sent to the old owner, then another email sent to the new owner.\nMultiply that by, idk like ten domains?, and you\u0027re stuck for hours with like sixty confirmation codes\nbetween two browsers, two email accounts, waiting for all emails to arrive and verifying which\nidentifier is which. Rather than just letting me say: \u201chey, btw, I live in the Netherlands now\u201d \ud83e\udd26\u200d\nThey seem to have an affinity to spamming people with long plain-text emails \u2013\nto a point one starts just glancing at them briefly and throwing them in archive without giving them too much thought.\u003C\/p\u003E\n\u003Cp\u003EAnyways\u2026 In early June 2024 the status of my accounts is:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003Ea Polish account that hasn\u0027t been used in like 5 years,\u003C\/li\u003E\n\u003Cli\u003Ea German account that only has a VPS, which I\u0027m planning to just move directly to Hetzner,\u003C\/li\u003E\n\u003Cli\u003Ea Dutch account that hosts a bunch of domains.\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cp\u003ESo as a person who would like to finally get the ball moving on the Hetzner move I\u0027ve decided to at least\nclean up what I can: instead of three NIC\u0027s (account identifiers) in three countries connected to three email addresses,\nthree password manager entries and three OTP manager entries, I could have two of each \u2013\nand some more motivation to slowly but surely start moving everything.\nI tried looking for a \u201cremove account\u201d button, but to no avail. After a bunch of digging,\nI finally managed to find where to request the removal, via the GDPR procedure.\nAnd I did \u2013 while logged in to the Polish account, specifying the NIC of the Polish account\nin the form, and then again in the text of the request. Over the next week I got a few emails\nthat they\u0027re working on it, and I thought that was it.\u003C\/p\u003E\n\u003Cp\u003EOh how wrong I was. One day my husband let me know that \u003Ca href=\u0022https:\/\/generator.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Generator\u003C\/a\u003E\nis down \u2013 so I tried SSH-ing to the VPS; it didn\u0027t let me, so I logged in to the OVH dashboard\nto debug with their in-browser console or to just reset the server: only to see that\u2026 \u003Cem\u003Ethere is no server\u003C\/em\u003E.\u003C\/p\u003E\n\u003Cp\u003EI confirmed that the Polish account is indeed entirely gone, but the German one, while still existing,\nis completely empty, except for a history of payments and a support ticket.\nA ticket that I opened from the \u003Cem\u003EPolish\u003C\/em\u003E account, written in Polish, specifying the Polish account\u0027s NIC \u2013\nand their reply, also in Polish, that the German account is being removed.\u003C\/p\u003E\n\u003Cp\u003EI opened a new ticket bringing the situation to their attention.\nI even got over my social anxiety around phone calls and called their customer support \u2013\nafter all the sooner they react, the better the chance that the data is recoverable.\nSurprisingly, they didn\u0027t leave me on hold for ages or pass me through lengthy automated process,\nI actually got to talk to a real person within minutes. They gathered the info, they could see my tickets\nin the system, they told me they\u0027ll forward it to the appropriate department and that I should expect\nsomeone to contact me within \u003Cem\u003Ehours\u003C\/em\u003E.\u003C\/p\u003E\n\u003Cp\u003EFast forward a week (and an angry nudge in the ticketing system) \u2013 still zero reaction.\u003C\/p\u003E\n\u003Ch2\u003EWhat could I have done better? \u003Ca id=\u0022my-mistakes\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003EI think the reason why someone removed the German account along with the Polish one is that\nwhile the account I was logged into when requesting removal,\nthe NIC I put in the form, the content and the language of my message all pointed to the Polish account,\none item did not: the form asked me for an email address and I mistakenly put in\nthe one associated with the German account.\u003C\/p\u003E\n\u003Cp\u003EWhich is an easy mistake to make when you\u0027re being forced to manage three separate accounts\nthat could\u0027ve easily been one. But more importantly: they didn\u0027t check if the email address entered\nactually belongs to the person making the GDPR request (eg. by them being logged in, by the user sending\nthem an email from that account, by requiring a confirmation code by email);\nin this case both accounts happened to belong to the same person, but what if I put in \u003Cem\u003Esomeone else\u0027s\u003C\/em\u003E email?\nWould someone be able to bulldoze a competitor\u0027s entire infrastructure by simply knowing what email\nthey used for their OVH account? That\u0027s absurd!\u003C\/p\u003E\n\u003Cp\u003EAdmittedly, they \u003Cem\u003Edid\u003C\/em\u003E notify me by email that my account is being removed. Among a spam of various emails,\nin a weird mix of Polish and German text, and in which the account to be removed is referenced solely\nby a NIC: a random string of numbers that I need to either remember or check my notes each time to know which is which.\nI think they also \u003Cem\u003Etried\u003C\/em\u003E to tell me that my VPS is gonna be removed along the account,\nbut the wording is \u003Cem\u003Eabsolutely terrible\u003C\/em\u003E: \u201creferencja do us\u0142ugi na Twoim koncie wymaga niezb\u0119dnych operacji\u201d,\nwhich translates to \u201ca reference to a service in your account requires necessary operations\u201d \ud83e\udd26\nQuite a long way from what I\u0027d expect to be the best practice:\na big, bold \u201chey, your account XYZ still has a VPS that\u0027s running and paid for, are you sure?!\u201d\u003C\/p\u003E\n\u003Cp\u003EI could\u0027ve moved to Hetzner 1,5 year ago. Oh honey, I so wish I had.\nBut that\u0027s not an effort for one afternoon. There used to be 52 (!) projects hosted there along with\n5 third-party web-based apps, and a bunch of dependencies.\nSome of that was using PHP 7.4, some PHP 8.3, some Node 18, some Node 20, some were just statically generated pages.\nIf I were to move it over, I\u0027d rather upgrade to newer version instead of supporting separate ones.\nAnd I\u0027m a busy enby. I wrote earlier that I was \u201cprocrastinating\u201d on the move, but that\u0027s not really accurate \u2013\nI was \u003Cem\u003Edamn\u003C\/em\u003E busy with a bunch of other things, like \u003Ca href=\u0022https:\/\/pronouns.page\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Pronouns.page\u003C\/a\u003E\n(which luckily was on a separate server already), or idk, one of the 153 repos I seem to have on my\n\u003Ca href=\u0022https:\/\/gitlab.com\/users\/Avris\/projects\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Gitlab\u003C\/a\u003E (some of them private, so they won\u0027t show up under the link).\nSo a proper move simply hasn\u0027t been a priority. Until OVH made it my priority.\u003C\/p\u003E\n\u003Cp\u003EI could\u0027ve made the project easier to restore. Keep the configuration and a library of system packages in a repo,\nAnsible-style, or whatnot. Yeah, well, that was the plan for the Hetzner move \ud83d\ude05\u003C\/p\u003E\n\u003Cp\u003EAnd yes, I can hear hypothetical people screaming. Yes, I should\u0027ve had backups.\nWell, I did. I had a script that was supposed to zip the most important data and store them on S3,\nbut it broke and I haven\u0027t found time to debug the issue\u2026\nI gave it low prio because I was planning to abandon the server anyway,\nand more crucially because I also had separate backups of the most important thing \u2013 databases.\nOther things I can restore with some effort, but databases would just be \u003Cem\u003Elost\u003C\/em\u003E.\nThe thing is, what I used for those backups is\u2026 OVH\u0027s built-in automatic backups of MySQL databases.\nI wish I could still see any indication in the dashboard that those backups were ever there,\ncause my anxiety whispers in my ear that my memory might be misleading me \u2013\nbut I can\u0027t, because the whole account is wiped.\u003C\/p\u003E\n\u003Cp\u003EAnyways\u2026 the thing is: I know I could\u0027ve handled a bunch of things better.\n\u003Cstrong\u003EBut my biggest mistake was trusting that OVH will handle my account appropriately\u003C\/strong\u003E.\nFor heaven\u0027s sake, that server was even paid for for another month an a half \u2013\nwhy would you wipe customer\u0027s infrastructure that\u0027s paid for, actively running,\nand part of a different account than the one that made the GDPR request?\u003C\/p\u003E\n\u003Cp\u003EUntil now, I simply disliked OVH as a customer. How I actively distrust them, and I doubt that will ever change.\nI could never trust them again with any data or infrastructure.\u003C\/p\u003E\n\u003Ch2\u003ESilver linings \u003Ca id=\u0022silver-linings\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003EBut\u2026 it\u0027s not all shit. I actually managed to find a lot of silver linings in the whole situation.\nObviously, OVH forced me to finally prioritise the changes I\u0027ve been planning to do for over a year \u2013\nso I finally got most of them done, yay. I guess, thank you?\nBut other things on my list are stuff that I would\u0027ve done anyway, eventually\u2026\nStill, I like to think about the positives, so here we go.\u003C\/p\u003E\n\u003Cp\u003EI moved to a faster and cheaper machine. Yay!\u003C\/p\u003E\n\u003Cp\u003EMy IP is finally fully private and protected by Cloudflare\u0027s proxy.\nI\u0027ve had the old server way before I even knew that it\u0027s a thing \u2013 so someone somewhere\ndug it up and used it to DDoS me, circumventing Cloudflare\u0027s protection.\nIronically, they were queerphobes targeting Pronouns.page, but they didn\u0027t know\nthat this project has had its own separate server for a while now, and its IP is still secret.\nNow, so is Avris\u0027s.\u003C\/p\u003E\n\u003Cp\u003EI had a list of 57 projects\/apps\/hosts\/(sub)domains running on the old server.\nNow that list has just 25 items. The remaining ones are those that either got popular, or didn\u0027t at all\nbut I really like them and they aren\u0027t that much effort to maintain.\nI\u0027m following \u003Ca href=\u0022https:\/\/www.youtube.com\/watch?v=9LZEZ5QuyzM\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Tom Scott\u0027s advice\u003C\/a\u003E\nto create a lot of stuff and increase the odds of some of them succeeding \u2013\nbut that also means I need to be ready for a lot of what I do to fail.\nKilling a project is tough, even if no one, including myself, even uses it anymore.\nBut this whole situation made me tear off that band-aid.\u003C\/p\u003E\n\u003Cp\u003EA half-baked idea that I decided to publish way too soon? Poof.\nA framework that helped me learn a lot about PHP, software and software architecture,\nbut that also makes less sense to use than something more established? Poof.\n(Well, the repo is still public, but no need to keep the website up).\nAn app that stopped working after Elon Musk broke Twitter\u0027s API (unless I pay a bazillion euros)? Gone.\nA legacy version of a page that I kept up \u003Cem\u003Ejust in case\u003C\/em\u003E? Bye!\u003C\/p\u003E\n\u003Cp\u003EIt\u0027s not easy to say goodbye to them, but it helps with the overwhelm.\nI no longer maintain a terrifying number of apps I can\u0027t keep track of \u2013\nit\u0027s just two dozen that I actually care about.\u003C\/p\u003E\n\u003Cp\u003EThere\u0027s a bunch of things that I wanted to fix or improve in each and every one of those projects,\nbut doing that to twenty something of them is \u003Cem\u003Eway\u003C\/em\u003E more manageable than to fifty something.\nSo here we go: I upgraded Node, PHP, Symfony and a bunch of dependencies to the latest versions for all of my apps \u2013\nand to the same version across the whole server. I renamed the \u003Ccode\u003Emaster\u003C\/code\u003E branch to \u003Ccode\u003Emain\u003C\/code\u003E in those older\nprojects that still used the outdated name. I changed my name in the READMEs and footers\nto reflect my new legal name (\u003Ca href=\u0022\/blog\/it-s-official-my-name-is-andrea-vos-now\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-heartbeat\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E it\u0027s official! my name is andrea vos now \ud83e\udd73\u003C\/a\u003E) wherever it still needed an update.\nI changed the license of my projects to \u003Ca href=\u0022https:\/\/oql.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E OQL\u003C\/a\u003E wherever it was still MIT.\nI switched from Yarn to pnpm. Stuff like that.\u003C\/p\u003E\n\u003Cp\u003EWhen upgrading \u003Ca href=\u0022https:\/\/cake.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Cake\u003C\/a\u003E I also added better RTL support\nby upgrading Bootstrap and improving keyboard control logic. For \u003Ca href=\u0022https:\/\/oql.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E OQL\u003C\/a\u003E\nI made the dark mode look nicer. For \u003Ca href=\u0022https:\/\/heartbeat.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Heartbeat\u003C\/a\u003E\nI added a way to compress older data to reduce database size and refactored the config\nso that it\u0027s more readable and allows for async calls (like API calls or caching).\n\u003Ca href=\u0022https:\/\/gitlab.com\/Avris\/Deployer\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Deployer\u003C\/a\u003E got a bunch of improvements\nthat I\u0027ll release soon as v2.0.\u003C\/p\u003E\n\u003Cp\u003EThe server configuration as a whole got better too. I applied a bunch of the same improvements\nthat I had earlier made for Pronouns.page (\u003Ca href=\u0022\/blog\/pronouns-page-migration\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-computer-speaker\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Migrating Pronouns.page to a new server \u2013 a success story\u003C\/a\u003E) \u2013 including\na switch from Apache to Nginx and organising configs better.\nMy notes from that move were \u003Cem\u003Esuper\u003C\/em\u003E helpful and made this one easier and faster \u2013\nbut this time I wanted to make the process even better, and turn them into a nice little repository\nof scripts and configs that can be used to really boost the process if I ever need to do it again\n(or, more likely, use it as a template for future projects).\u003C\/p\u003E\n\u003Cp\u003EAnd, of course, setting up proper backups in multiple locations (all far away from OVH)\nget a way higher priority on my list after this incident. The new setup is still in the works,\nbut it will be a great improvement.\u003C\/p\u003E\n\u003Ch2\u003EDatabases lost \u003Ca id=\u0022databases-lost\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003ELuckily, most of my projects don\u0027t really need a database \u2013 they\u0027re either landing pages for libraries,\nor tools that encode data in the URL, or something like that. Restoring them was just a matter of\nspending time and effort on configuring everything again. But for those that do need to store data\ngenerated by users, the loss is unfortunately bigger\u2026\u003C\/p\u003E\n\u003Cp\u003EThe biggest by far was \u003Ca href=\u0022\/blog\/redesigning-a-website-naked-adventure\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-computer-speaker\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E naked-adventure.eu\u003C\/a\u003E \u2013\na website that crowdsources information on nudist beaches and establishments.\nOn one hand, so much of mine and other people\u0027s work suddenly got wiped from OVH\u0027s infrastructure,\nbut on another I\u0027m actually a bit relieved\u2026 It\u0027s the kind of page that makes the most sense on a big scale \u2013\nafter all, just under 200 places in our database is almost nothing on the global scale;\nwhat\u0027s the point of even visiting the page if you\u0027re statistically unlikely to find what you\u0027re looking for?\nAnd for me personally, over the years naturism stopped being a new exciting thing that I love,\nand became just a regular part of my life. The enthusiasm and motivation to run this page faded,\nwhile overwhelm from other projects and other aspects of my life grew. I was falling behind on moderation,\nnever gotten to implementing some features I planned for it, I didn\u0027t have ideas or resources\nto advertise the platform and to grow it\u2026 So while it\u0027s sad to see it go, the project had been on life support\nfor a while already. I might resurrect it one day, with some new twist, but for now, rest in peace.\u003C\/p\u003E\n\u003Cp\u003EI also had some pages that collected stats about people\u0027s responses in a quiz,\nlike \u003Ca href=\u0022https:\/\/corevalues.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E CoreValues\u003C\/a\u003E. The pages are back up, but the stats are gone.\u003C\/p\u003E\n\u003Cp\u003EMy husband\u0027s blog got wiped too \u2013 but he has local copies of all texts,\nand he hasn\u0027t published there in a while anyway, so not that much harm.\u003C\/p\u003E\n\u003Cp\u003EI also lost website analytics from \u003Ca href=\u0022https:\/\/plausible.io\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Plausible\u003C\/a\u003E.\nBut to be honest, I haven\u0027t really checked them in a while \u2013 I just let my websites run,\nwithout obsessing about the numbers. I still set up a new instance on the new server\nand I\u0027ll be collecting anonymised analytics, but I won\u0027t cry about that particular spilled milk.\u003C\/p\u003E\n\u003Ch2\u003EMental health impact \u003Ca id=\u0022mental-health\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003ESpeaking of crying, though\u2026 I just wanna take a moment to acknowledge the impact that the whole situation\nhas had on my mental health.\u003C\/p\u003E\n\u003Cp\u003EI\u0027m really proud of how I mostly handled the issue. I kept calm, focused on solutions, on positives,\non opportunities. I managed to focus on fixing one thing at a time, to prioritise not only some projects\nagainst others, but also the whole fix against my personal needs \u2013 all of which are stuff that I\u0027ve\nbeen struggling with. I gave myself time to deal with the situation \u003Cem\u003Eproperly\u003C\/em\u003E, as opposed to panicking\nand frantically trying to fix everything with a hammer and a scotch tape, as fast as I can \u2013\nwhich would\u0027ve been my response a few years, if not months, ago.\nThere was no need to rush \u003Cem\u003Ethat much\u003C\/em\u003E: no one got angry with me, I just got a few messages from friends\nand strangers asking if I know that this or that tool is down; I lost some traffic, but it\u0027s not like\nI was monetising it anyway; none of those projects was an essential, irreplaceable, urgently needed\npart of anyone\u0027s live (I hope).\u003C\/p\u003E\n\u003Cp\u003EBut there are limits to what my head can take. While calm on the outside, I was \u003Cem\u003Eextremely\u003C\/em\u003E irritable\nfor the first two days or so, any minor inconvenience could get me over the edge.\nI had two major breakdowns \u2013 but luckily also two amazing partners that helped me through them.\u003C\/p\u003E\n\u003Cp\u003EBasically: I needed time to grieve. I lost a lot of data, a lot of work, my plans for the upcoming week\ngot turned upside-down. One can\u0027t just brush off stuff like this.\u003C\/p\u003E\n\u003Cp\u003EAnyways\u2026 I\u0027m fine now. But I think sharing my experience might help someone one day, so I wanted to it.\u003C\/p\u003E\n\u003Ch2\u003EReceipts \u003Ca id=\u0022receipts\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003EContext: pa13\u25a0\u25a0\u25a0\u25a0 = Polish account; pa60\u25a0\u25a0\u25a0\u25a0 = German account\u003C\/p\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-1-2_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022947.24637681159\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAjCAYAAAD8BaggAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFsElEQVRYhc2YyXIcxxVFTw5V1TX0gEaDgoKkVhJDnr7AS3vthXb+M+8c4Z1\/Qd75Jxx2OMJSBAXShABUD+gacnheVKOJZoBTCKB8V92V2S9vvXdf5s1WIiIxClor7oJzHm00Rus7x+8bFuBPf\/4bv\/7FU\/7z\/Sva3tF1nuN5xcnxhIvLNecXK6pyxB+\/+S15nj4oISUicn3dEULEWoMPAa0USilEZJikFTEK1mhCiDgXSDOLMZoYImE3hgLnAtZoREAp8D6i9C5eFIoixZi3Z9vefIgihBjRWiNRcN6jlCJJDH3nMUbjJSIISim0UngXht\/GiAe0GsruQ0REMFqj9DC364cYMcZ3ElIiIl0f+e+lQ4DEKpwbMqO1IrGK0+Pkp1big6FkV5emiyjAR8EaRYgQgxAFppX5ZIQswF\/++ne01jxaTHjx8oovniz4\/vk5Rmumk4Jt0\/Orr5\/wm19+8eCElIiIcx4fItaYfY1DiABorQlxELx9R+3vCxbA+ch3350D8NWXp8Pi1nBVX9O1DucjWg\/ktFbEIPgQ+Pz0CGtfk\/zHP88AODkes1iMAeg6zw9nl4xGCcfzMVlm3+RwgL2G7sJq1bBcbVFKkaUW74fuQUGMQj5KOT6ufmJODmEB+t5zve1AYDYr2XUvo1ECqkBrPTwTKIoUpe7e1V+dr8hHydD2UZjPK3yIbLcdEgURMEahtaYss7cT0jvNvJmr18kTYhj2m\/fBuUDvAmZ3FIVvvyVcrYhxF0tB9B755g+o8fjtGXrxsmZ+9Do7MOyyy+WWcZUzmxXvJVPXW1Dw7MvT\/TP1u9\/TXKz35Z6Mczrnmd5BBt6joY\/Fv\/79kqbpGY0SFPDsq88\/Osa9EroPWIDLesPZyyuCjzRtj9YaEHoXyLMEYzRfP3vMKHv4I8QCzGfVoPw8Y9t0hBjJ0teLhxBJ03fvH\/cFJSISBPqfuXACFHqXIWHwLs+fXxCjUJYZzgVCGI4R7wNZmnDyaPJwhG52BRERL+AfbKkPQ5RbGbrBi7MzlFKD4fKeGAKPPvuMru9Z1jVZltF1HfP5nLquSdMUQUhsgjaGzXqNMQZjDFmW0TQNMUaUUozyHNf3xJ0JNNZwvbkmTVMmkwlFNexLB8e3sZaua\/Hek+c5ZVVRL2tEhCSxQyCj6bpu9yxBK03btshuYdf3JGnKarVCRAjeM53N8N4NLtIM3qprO6y1lGVJdWuTPCCkAGuT\/Vs2TUMMg3HTu0BaG\/q+Zzqd4pyjbVvKsqRt26FTq4pRlqEUw4JVRX11RWITxuMxq9WSsqrIRiOePH3KdDY7KN2Bhn54\/hylFGmasjg5uR9xfCBuNHRAKMaAUnqvo5tTXUQG8y+yv43cHgMObym7sZsYb8a7Pffm+52ivry4pGm2JEmK9x6tNVVVsd1uCSGglGKzWfP48ROapsEmCdebDc45xuMxxho26w1JkrDdbinLkhAC3nu8d4xGOd57sizjx\/NzjuZz+r5jcXJCXgy+6oCQ956+7+m7ntnREU2z5fz81eCTjo72c0KMhBjwbaBtW4qioK5rxuMxWZbhnBuuPl3HZDJhuVwCivFkgut7vPeUVcVisSBJ033J4A1R33SOwJABm2BtQlGVeO\/3XfPj+Su6pqVrG6qq2t3lIjZJqOsarTVFVVKUJVdXVygFxhiWdY2xhrZtSZJk33G3cZChGCMxCqPRiLKq2KzXWGtBoG0beuc4PT0lG41Y79q66zoWi8WgEYZMDpY3xTnHZDIhz3PatiXPc0IMTGcz+q6j7TqK4tBnHYh6vV6DCNumIUtTtDF457DWst1uyYuCqqrufLO3YbnckmUJIoKIYK1Ba0XX+Z0ZVBRFeneXPQTOzq5IEoPrPQIsFmNEhMvLa7LMYq1hOi0+HaG74Jxns+mYTPL9Pf9nJXQXbgh9mn+hPgL7LvP\/BwYN4H\/hkzMV8VfChwAAAABJRU5ErkJggg==\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-1-2_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022947.24637681159\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-1-1_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221132.1544209215\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAkCAYAAACe0YppAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEGUlEQVRYhb2XzXITRxSFv+7p6e4ZyZY0ZRdmQVXINqRSqWzgWdjyPjwA23jHG3ifwJZVKouASQVKxsayZTSj6b8sRkwsl0OqiOyz09XtPn1O\/9w7wseU6sStwghQAErAn2+PKQcG5wJCCISAECLDoWVrq9g4ufAxJbfxab+MjJVigPfv\/kJrQ9M0aKPZ3dkFIW6MvFfsvSfLsi64Ikyp2\/wQAlmWIYToY9flSClX29TlCeDz8RGXRKwpfnt4iHcOWxR9YvAeledkWcZisUBrjXcOmWUIwIeAMaYnBpBCUDcN4\/GY2WxGSgmtNd\/cv7+muCdul0tSSuzs7CCkRClFSommrsmUoigLiqKkqWuklKTV4owxeOe630CIgRECnedoY0gpUVj771b3K17ZdZNYs\/poOsVYS1PXKNWFtTEsmwatNc45vPcopRBSorVmuVySYiTPc2JKpBgJIWCshZRomgZjDM45jDWMx5OevCeOMTI\/P2c0GlHXNc45QgwY3Q0EmFQVRbGZO712qqWUXfCK1SlFhJDEGPv\/LueklLp9X53wtFIvVvN9FpZiJNd63epPFxeddatJc6Vo27a3NXhPTJEYIgBlWXJxcUGmMkhgC8vi04KzswWj0TaLxYIYA1U15vR0jjEapSR7d++sK94Ujo7OyHNFjBGtFVrnHE1njMYDtFZYm5PdBPFVxBBZtp6i0H3sVoivQ7\/H4ZbLYiZAhJiSFHB8MsdajRSCstT\/Pfp\/ICboz3thNbnKEPJLQzaH\/jrN56cURcFsNqMoCh4\/fryW+PTpUx48eLAx4t5q6C65lJK2bTk4OFhLfPToEVVVbYQ0pkuKj4+PEULQNA2DwYCDgwOeP3+OUoo3b95shPAyesVXC\/zJyQkvXrzg4cOHVFW10Yq1png6nZLnOdZa3MuX\/HFxwc\/7+1RVxXfDIdvff78xYrikeDqdMhwOEZnh3bFHfvyInX3AKmDvDtW3exsjjekS8XK5XPVVEue7RyXPBDEmskyQqxu0uixLpJRYa5mfn2NM13XmeY5zjvzDB\/zuLuH0FLu9jVOK\/OSEX1+\/5smTJ+zv7\/PTvXvUW1sIIfDeY60lyzLatkVrzWTSNQP9c6G1xnsPwHw+J6XU910pJSaTCUtjcK9eUThHu5oMKflBKX559owfV+Uzy7KesGkaYozEGHtSuGT14eEhVVVxdnbGcDgkpURd18QY+66jrmu01uR5jjGGsiy\/2uqeeD6fo7WmbVvKsuzU0DV\/zjmUUthrusWvJe6t9t4TQui7zRgjy+Wyj0u52Uf8n766bdna2urtGwwGGyW6irW3ehP47ff3DEpDCIGi0EzGAz4cz5GyK7ej7XJ9j28KddNyevqJu3uT\/hvwVoivw9rhum0oIboV3CaEgL8B9WkqGjRBM8oAAAAASUVORK5CYII=\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-1-1_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221132.1544209215\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-2-2_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221120.7766990291\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAkCAYAAACe0YppAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEf0lEQVRYhc2Xy24VRxCGv+ruuZ2bL8GIgOQQkV0SsWSfTV6FV+IV2GcDyoZ1FLFPFEXBNsYxNrbPZaZ7uiuLOWewIUQksk3+zZnumTp\/VfVfXd2iqnr4pmWFpIqzwvrIYoxwVTAARS6kpOSZUGQGZ7hSUgAH8OTHn\/hsc8x0VuN9i7OGPHdMZzUiwv1vvuCrL29dKrGoqi4WHh9aUlJEhEGVL59B6aI3IrQxYYwgCCIAgqqi2tkBvV03VrLMfTjiECIpKmIETcps3pCSYkSWa25IqqSkZM6iqgCogpjuj2JUrBEUUFVim8gyy9ra3xOLqmpolV93aoalpfYJYyAl2BhbtjayS0zwO8R1E7DGYG3nft0EyiJjNm8YDoorEZoD+OHJzwBs3ZiwWHjaNuJDpCgc1hi+\/+7+pRN3EdeBs2nNoMoZDgsAFnXA+xZrO4U1vkVEcNYQU2I4KMhzx+ujKarK+toQ5wwpKW9OZjhrmUyqf454pUhj36bUGiHPLCynBjZHVXFLcTlnOxsjiBiMkaW6WX4DMSUEEDHLKniHuG0ji4XHGqEqcwC8b5nOGqztjMajkqLI3\/P85GSBqnJ8PGPrxpjBoMA3LUmVELosbW4M6SM4T5xSoq4DW1vj\/sWqHvPcsjYZfHitBIoi4\/Nb671dCBFFcdb25faena6K8j\/ijxevmc8bssxy8+Ya41H5UXZdHYeItQZV7UvqquEAzqYLfvltnzx3OGc5my4ocsf+qzd8+\/U223duXDqxqKom6Dbl64IsI0bhirvgBSRd9uNPAQddltM1pjqm2K2xDy1GpN+NAEIbyc6NLxsOYDZr+P3Fn6Cdwq0zGBEyZ1lfH1766QP+D6oOPvDy1QkbawOcs32XugokXUX8CcqpPxA1TcPe3h6bm5s0TQNAjJGyLBERvPcURcFsNiPPc\/I8Zz6f45xDRBDp2qL3HmstIkIIgfF4TNM0NE3DZDJhPO4aUR9xii2np6c45\/DeMxqNCCGwWCxwzhFCIMbIYDCgbVustRhjiDHSNA3j8ZjRaPTvIxYRYoyoKovFgqZpqKoKYwzGdA2kqiq89zjn2NnZ4dGjRzx8+JDt7W0Ajo+PaduWsiyZz+cURUFd16SUyLKMqqp65\/qda+W5tZbhcEhZlnjvUdXecBV1jJGiKHjw4AFbW1t475lOuyNQjJG6rvtfEaGqKpqm4UIHVlWNSTXGqLu7u3p0dKT7+\/t6cHCgz54909u3b+vTp0\/18PBQLwsxqfZrLO8U8kosz58\/ZzKZcO\/evZWj524NqX9efS8i\/fzq3Wq+f39+jWOMHBwc0LYtWZYhIszncx4\/fszdu3epqooQAmVZYq29kLbT01OKorhA5pyjrutehOvr670Ixdi3qm6DZ3d3lxgjw+GQlBLWWpxzZFlGnueklFBVQgj9OKWEMaZ3KoTQk3nvGQwGfZWcV\/WFVLdt25dKdwyyfU1+LPZeHnd3saQ4Z7hzZ5P9\/ZP+ULi5MbyenUsVDl+fsTapyHP3fsTXvmWq6vJqeX3ECvwFAYX\/aXBmKyMAAAAASUVORK5CYII=\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-2-2_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221120.7766990291\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-2-1_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221094.0648379052\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB8AAAAkCAYAAABxE+FXAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAECElEQVRYheWWTY4TORiGH9vl+u+QdE8iEEgcgRXbFkeBO3AKNhyFK3ADlkgshwGmJ6TT6dRPKmX7mwWkIAJmekadZqTxxhVVOY\/9vq\/tT4mIbAMoxY02BUQADmiqDVorQhCUUhijEAEJQl4k1w7XO\/huJs55jDGICM4JrvcofThJBnjX1Vhr6bqW4APGGMaTCeqAfigRkSZA8D1Kabx3KKVRSqG1Rmt9EPCe7B\/nH0nTlO12SxRFOOeIogilFN57vPdkWUbbtogI1lpCCPgQKPKc9XqN1posyxAReudABO89cZJwuVqR5znT2WxQc1h5dbmi6zqms9lBVvq9lQ\/wA+bqh\/BB9vPFgqapKcqStmk5OjoCpWjqGhNFtE3D8ckxRVFeGSDyqf9RZq995W275be3C\/Iioe8dRZFSlinn5xVKQZ4njMfFzcne947Lyw3jcY4xn3bPT\/f8MJv4ii0CMD9hFsPFYhWcnV0AYK1hMi4Gbw7Vgnz2PMjNex7kv+A5wHK5JI5jQgiICCEERqPRwS6WPfjz589ZLpc45zDGEELgyZMnPHz48PDw09NTNpvN3ss7d+4cDAxfBe6Ps9\/x3hNFEVproiiibVtCCGitmU6nWGuv\/Md93\/Pu3Ttu375NmqbfvN9L+6ZtWCwWjEYj2rZFa00cx1RVBYAxBmst3nuUUlhrUUrRdR1935Om6XDvW2t5\/fo1jx494sWLF5yentK2LaPRiLIsv4UvPs4Hv0WELMuo65okSdhut2RZRlVVHB0dsVqtEBHu3r2LMeZfSb4HD\/4TeCc9QAgBpRQi8qX6UIoQAiGE4TsRQUS+2Rny+U7d9buxxhiCfBW4i4sL5vM59+7do65rQgjUdU1RFLRty2QyYb1eE8cxWmucc8PkXr58yatXr3j69ClKKVarFbdu3SKEQJ7nbDYbkiRBRCiKYlBrgCdJwv3794cBWmuSJCFNUyaTCc45iqIgjmP6vqcsS5RS1HVNXde8efOGJEmIoghrLVpryrL8y5AOsneblvPzc7IsG4rFqqooy5L5fM50Oh3Cch1tz3OFDN5+3e+e\/+6kExHW6zVpmhLH8ZXge57vDpmyLPHes9lsiON4z\/skSQgh0HUdeZ7T9z1RFPH+\/XsePHjAs2fPePz4MUopnHNDNk5OTmiaBucc0+kUbaIvcADvPXme07btsHd3g9M0xRjDer0efjvn6LqOKIqYTCZ8+PABrTXWWpqmGSxUStE0Dd57ZrPZkPZB9vkfZyRJQlVVwyBjDFVVobWmKApCCPR9T5ZlNE3D8fHxd0+vf+z5dVavv75dUBQJ262jLFNGRxnLi5oQhDyPmYyLmysmtlvH8qJm+ssI\/Rn0P69kQgh4EfwNgxXwJyb5fOkYtNnCAAAAAElFTkSuQmCC\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-2-1_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221094.0648379052\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-bill-1_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022607.82122905028\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAWCAYAAACosj4+AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAEE0lEQVRIic2WS28cRRSFv3r0c9zzsB3Hj0ASgRUQRFmwi4AFOzYs+Q2wYMcPYo\/Chn\/BIgIJFglYRnbs+BnH44ynH1V1WfTgxChODNFInE13q7punTr33lOlRET4H8EC\/PbHLkfHY7wPRLHFOw+AiGCsYTg85WBvix\/vfQfA5198yTurH2KtoXEeBIIIIsLy4iwAeWqREBARQhCM0ZP3gPOBJI6II4ONbEvEKAZF2hJKkgjvnmEjg3eOEFrRjNFICHTyhKrIWVpaahfLMhAhsgZrNGXVkFiDD4IxClBorVnf3GNv75gksRQzOUECw+GYTidhOBwzP1eQpjG9bk6exc8JLfQzfFUBgghordBKtQo0jiiyrFzpcPvWt1hrKMuaoshYXhyck7tpHPuHJ4xOS4p+jyyNWbjSQ2uFiJDYmKbxyESx0ajEGI01GmP085TlWcT1a3MoxZm8WqvX5ts5d+5bKZjt5wx6OVq3C\/gQ0NoQguBcII4sUWRaIpFh0J+h00mxLxIandZs7xzR62Y8G5XMz3Xpd\/NLFeGLEIHHu4eEICxc6WGMppMnaK3xPtA0jl43J4igtUYpyNL4XAwLcHQ05OnTIY93D0liy8bm3tkujNH0uzl\/bh6QZzEf3bl5IaHtnSP2D0+IrCFLI5auDi789yIoEZFHW0PG4wYA50PL1Giq2pHE9h8zXpVKgYmJZFnE4ckJ3gUEqKqGNI2o67ZpjNZoo3hrZf5svfl+1hL619u4BIIIvz54zLiscc6TpTHjsj57KqUmm1UkiWVxoc98P8O+NvIbQOu2UxVQVg3WGpzzzM0W9Hudl86ZMqG2mL0PbU1qzfLS7CvnTC1lAD5cPrSiVVSJiPx0f41no5LPPvlgWtwuT0xEZH37mNPSvf7vKWDz0T6jUcmd2zd491q\/rSEf5KzdX8TO7hFPjk4QEW6tXsNac2Hgsqz5fW0baw15lnD97QUAqrrh4cMtBLh54yobm\/t4H0iTiMXFAeOyofEB79v0KhGR3SenlPV0FFKcWdNLx9bWdwgh8N7qCisLxUShqiZUDd4HlGqPgDxPCCFQ1475uQJtFM4FOnlMFJ1vzqbxVFXDvR++Z293h6++\/gZrDVHU3ga8D23BKkVZNtS1I4oMWRYzWyR458nzBJi0vVLtVUOp1tCqsoGfH+D291leHKDX2mA0Dj+TE3189xwhH1o3tsZgTOs7EoS\/PV0phUi7jlKgjUZPDlOlaL1qcgIoEZHxeIz3\/o3T8zJUVUOSRBeOl1VDCEISR\/R6xXSNEWBj6xCR9q5krWHQ77Aw3wXA+8DG5gE+CEuLfXq9olXo\/i\/rjE5LhPY+NDqtyNKYfjfnZDTmeDimmElJk4iDJyf0ipxP774\/lQ1M1an\/C\/4Cuc7m3cDGDWgAAAAASUVORK5CYII=\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-bill-1_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022607.82122905028\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-bill-2_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022662.62325581395\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAYCAYAAACSuF9OAAAACXBIWXMAAA7EAAAOxAGVKw4bAAADHklEQVRIic2XW08dVRiGn3Ua9okN5aSFTayx1Zio1fTCSzXxR\/ALuPBK\/4Ym\/iK5IzFNmhhJTLxoq4VggQ2EvWEPe2YdPi+GUkmRaruBvjdzMe9a88y33rXmGyUiUvqICNcqpSGzBgvwZKtPPgyUZcBaQwjVVWt94STDYYm1BmM0SqlzPTEmUkpYa4gxEVPC6MpvjObxn1uUZeDe3Xe53ZmsgJ6p9IGNzS7BRzqdGZqN2oVAG5u7AEgS3r+zcK4nhMiT9R2Ghef2ezf56+k+3gfGMsfc3CTr6ztY9xxDiYh09wf4WJGXZcA5gw+RzFmsNcDrrKe6YLyiKEp8iEy2G0y0xqoKDQ5zAGISyiJQV5HG3g4uM9y4dxf+ZTlGo7OroFK3K93dQ8rxCVISUhJijNRqjqlwTK2eoWZnLxHorJSkJBs\/rZK0qXaagjwvaDVrKKNZ\/OJztrZ73L\/\/M999+w3f\/\/AjX335NT5EyjKQOYNQhdc5S4wRhcJYjYjw1tzEaZABvI+nITemioiI4JxFa1Vl6GXUIsLBwQFra2usrq6ysrLygkdrTUqJpaUllpeXz9zzIWKNQSkY5AVlGaiNOer1jINeTkrCRLte7db\/AnSVuviguQZZAO89110opRTOuedAMcZLedCvv63TqGUkEUSE2ek201MtoDo0f3\/4FEnCYmeGxYW5KkNvQoW01lhr37xQW4AHvzzCZZY8L9BaoxRkzjI702bh5tSVAikRkbIMCIJCEWLCaEUSwftAe7xx9UAAG5t7bHd7iAiffnwLZ825A3r9nJ3dPv1+zgd35mk1L+4IXgkoxvhaobbWvtz0f4BGNtsINLpXO9HDP7Y4PBqSOYsxml5\/QLNR46MPF8\/4trs99vaPKArPZ5\/cuhygEAKt5hit5hjOGoaF553ONM5VbfE\/1WpkhFBDUSOEcNLSmtECiQghRI4GQ8ZbdYrCn\/TnL34yfYjkxwXOGlISnrXvIwUaDofs7vXI84J8cMzhYEivf8RBL6czP8XbcxOn3u5uj+5eH0nC9I1GVZ1Rn9SPHu+\/8u9UvW5ZmG\/zN3CfpuNvk\/HsAAAAAElFTkSuQmCC\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-bill-2_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u0022662.62325581395\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-emails-pl_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221053.7322834646\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAkCAYAAADo6zjiAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAGx0lEQVRYhcWY3W+cRxXGfzPvvO+76\/VGtvFHEpPGVupG0EskxFVVQAhVgqriEhB\/I+K+vapEoL2oipSiJiiCWCbxJrv2et\/P+eJidmbtBKlJUMTcrXdn5plznvOc51jcvXvk+T8t5xwKYGdnhyzLsNYymUzeymUC+EHXs28MAH8dDphBADCZTNjY2MBaS1mWFEWB1hopJXVdv\/GlWZbhnAPgtjasq4wv1kdI4LCqmaksAADYv7lDnuc8\/Mdj7r73Dnkxpqoajo8fI6Wkbdt0qDEmRawoSqw1aK1pmiZdLqVkfX0dAGMME+CZEGEfcF9IaJsVgF5bzs\/nzGYzzs43sLai63pGoxHOecqyTACUUvR9D4Q8CiEugbFkmcQ5h7UWIQRKqSUQi\/ceax1ah\/0iknB7exspJd779EopM7x3KJWjtSbPc5yzGGMoywFChNeFzyV936e9RVFgjFmep7A2\/K3rOrz3TKfTFQkB5vN5Qq2UwhiDEALv306RCCEAVgDu3r1DnuccHz\/l+\/vblIMxi0XNw4cPEEJijE4v8t4jpUzhl1JirU0Hx++3traw1qK1BgRKZRRFgfee+fyCpqlXAIzuqRZzvv32Adf3xlxMWrSx7O3t4T1Ya1hfH5NlkqZpUErhnKOum2WeM5TK6fuOwWBI33copTg\/P6eua4QQGBOIGtKkr3Jgf3+fPM\/R2uCcTSUUStJgrUEISZ7neO\/pupayLJEyo+87pJRIKRFC0Pc9eZ5jjEVKgRCCPC9o22Z5h+bp06cYY1YRODk5eSu5\/q6lnPNIKXj\/\/R8CnrOzCzY2xmRZTlUFDrzJklKysbGBcw5jDC9zYB5SCR4QGF3RNDWff\/4lv\/7VB3Rd+OHh4SFCSLTuKYpyGf6OPA9aIKWkLEtmsxmbm5torXHO0fdBQ+bzOVtb30PrHmsteZ5zenq6JCaIo6M7XkrJ7du3lyUnAI9zLolOKE+HECRCKqXI85yu68iyDCEkfd9TFHmqCufcslpClOPnyWRCVVVXdeD4+DgJUSh9n0oq1izwkja8ila8eEbcB5d04OjoPay11HXN2toag8GApmnemANCCDY3NxMHol6UZfkiB+KGhtl0whdf3uc3n3xI0zq89xwcHCBlRl1XCCEYDAZobei6DqUyrHUMBiVN0zAcDjHGAp66rplOp\/8VXJZlKWqJAzdv3kzhNMaQ5wXO2ZRPISQxLdY6lMoAkfhgrcM5y2AwSGqptcZ7lmcYFovFsiKg7\/urHDg\/P095CY1IpsujwMR8xn6xIlmQZOcci8UiAcjz4hIZgyAFwgqMMVcB3Lr1DlIGzRdCUBTl\/8yB4XCIlOGyEiiFxIxGeO+50XbUl5WwaWqKoqDve\/peI2WFlILRaMT16zeSjAYNyBOxbjQN6yrnwhhulSV\/On6MlRLgCgeM93w8v2CahWiOneezslgBmM1my7w7vA8EPHp3l3+fXHDv3iM++fgD7v\/96dJ4FLRty9raGq3WjLTmVplRl5pH\/\/wXv\/jlTzAmo6od4JceAP64tUVd13RdByzNTCTh5uYWQoQ\/xpcWRUnbNgwGA6QMQhNzL4RIJiW24tjApJRLAnqUype\/D98DtG1LXdeBSzECe3t7OGfTobGrbW9v8\/z5M05PT1+bA1EHQicNFVYUBWtraxhjXtaBuprz6Wd\/4Xe\/\/Yjn0x6tg4gopTg4OKCqKobDYbJdT548SZr+4oq26zuBxhSMx+OlkBj6vufdOzt8\/bcHPHz4mD\/8\/iO++vqYoihTmmKviPIdeRRt+KusKxzY3d2NmIBQ67GGo7gASQO891csWTSzWocyjsJljMW5sCfySAjBfD6\/akgu225rHU1Tc3Z2BgTD+rpLCMF4PE5GNwKLjioa3wRgZ2dMXdX8+d5X\/PxnP6ZpBwyHw6XPz5L1yvMcIFXEYlExGq2R53lqs3FFLxjTEisHeNkP7O7u0LUtxjqGgwKPRIig4RGx1jqVWpgRViUnpQQEQpC0ImiKT2W6svuSqlrQti0yotXaImQWXu3EMsdhYwxbfEkUrNhqYz\/IMpnS2Pd9Glpi\/ceHgE8RSCkAn5qOlEEDFovFa+W9KIoU6njh5RlCSplacZwtE4DDg5ssqopvvnnETz\/8EaeTBc+eTdPG0KhMYnec+\/q+ZzgcIoTEOUvXdSnv8bLY4lfgVu5o1Y7nFfP5nOGw5ORkQtuF8oshVkrRNEGWIyggpSHLFFqHITaO+ZcHV6VUerX3oLW8CmA2C7PhtWvXeD6tEILkB5RSdF2HMWZZFQrn7Evsjrle\/V9AJCW9PClHs3IFwKvI5ttY\/wH9NvCU\/VtUWAAAAABJRU5ErkJggg==\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-emails-pl_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221053.7322834646\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\n\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-emails-de_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221539.336492891\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAkCAYAAACNBsqdAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAFhUlEQVRIiY2WS28cxxWFv3r1YzjDlygqCANZAhyIthLbkAFBWcjJT0+QB7yRY8MbIxsbcWSImiHZHHKmu7q7qrKormIYGKBrM9XdmFvnnnvuuSVevXoZHhweoLRCIIFACNB1HW3bgiAvgZieBUKAEGLai2kPQkq8c2iEZHdvHyUl3ge6rsOHQEAglb6NSuDuEoQAQkAIYXoOFFox9ANaCsEP3\/+AcyNt23HfSuHFz30LgRACOztztNKai\/MV3nu89\/cG\/iWr7Vo0AebzOUVR0DQNQgi89wzDcG+AxGvaSykJITCOIxrAWsunn3zIn\/\/ynj\/98SXvzq64uLjIqUH8k7UdWmu892it0dpgjMZaS9M0GGPw3mNtj3j9+nVYrxv29vYA8qneB7RWOOfQ2tD3PVJG1QAYYxhHRwh+Ojyu1WoFiIg4ycU5B0Df9zRNcy8VWuuMMoSAMYaiKOj7IQYex5GjBzP+\/o9\/8sUXLzk\/32CMmfhySCmmbBTWdjmYUoqyrOi6Fq11pg+4S4VSCuc8QsA4OsqyYBwdEBBC4pzDGJ0VpJQCyAUTQkzBiYiVUhOKQFVVbLdbzs9X91KRUk9UlGVJWZZ0nY2Bh77n4dEOf\/3bG\/7w6jNgxsnJCSGEnEFCmOoRvzm891xfXxNC7NpERSyelPz7xxWPHz\/m7U8XeB+mIOCcQ0qFczHVSJcjhKgg7x2z2YxxHIHoMTmwUprZrGa77djdnXNzs2G5XP4iKsqyZBx6Otszn++glGIYpgbp+47j4z2+\/PJ7Tn79HBDMZjVHD3b4+pt\/8fvffcj6emAYhjtOBgLvHUdHu7x58y0H+w\/58T\/vb1VxeXlOXdc45+60Zjx0oCiivNL79BtCyHxHOUratsU5j7bWUlUVe3v7rNdrHj16RNd1rFbLXBxrozklH0mok9Yj51EVxhics+j1+oq6rthuN2w2G25ubgjBTy0eDX0YBsqyZBiGjDZyOWCtzVr23k\/FE4njHq01VVVyfX2N9+7\/FBCw1ubGSMG11vmw6COxzcfRIQHquuLTT04ZBseLF895+vQpdV0jpcQYQ13XKKWpqgopJWVZUtc1VVVxeHjI\/v4B8\/mC3d1djDGRttPTZ6EoDLu7c9rWsljs0PdjLoaUMqOOuvXE+RHbHMLEu0QpydXV1a3cvA9st1HY6\/VNLlqqeKp+WqmIiZL0TSmdp5COVNQcHOzz9u1PPH\/+McMwsFwuJw+AEGIQpRTWWoqiyJ1XVamo0fm22xBVATAMPV1nOTw84OzsbKJB3fHahK4oSozRjOM4SSvS1DSXxFhDQpzS9ZP3esZx5Orq6t6W1lpn6xQhILWeauIj4phGz7t37\/joo1Oc8xltupR47zj2HhUCfQicT9MjIf5tP2AvLpDB821VR1VUVclischaFCK6lpQK7x1FUdL3lv0QENbijGE9WWg6VEqJEILVanWLWAhBVVWZy77v6fuBpnl\/J\/W7T2BMkX0EoCiK3NLi9PRZqOsKrQ1nZ2c8efIEpST\/e3lJBu+cZxh6yrJktVplKabRlJaU6rZBdnail3ofC5m0mXQaDV9O6kj3tZAbKM287G4JUbLNui7p+x5rOy4vL39WDYvFgkRhssxoVBVaa5zrkyokbduxXC754IPHVFVJWRbM5\/PJn1VGPY7R6dKEScbUdV0eS5kKrVU2GCBfXOR0tZXyloqIkomm27ZOGSQqZKrmb04eEQKcnPyKvb19us7Sti1d17LZbLDWst1u6bqO7XZD226nOwfUtcHajtmsyO6mIU7WQKBpGo4f7hNC4Pj4IYeHFV999R2fv\/g4z7x0IUzSdM6xmNc0zQ1aq2z84tnps2D0bfGkVFOJohrGcUQpdWe+3bVPpndxb61lHB3\/BQoNukgKlpIqAAAAAElFTkSuQmCC\u0022 data-src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-emails-de_big.png\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022960\u0022 height=\u00221539.336492891\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","tags":["ovh","vps","customer support","configuration","gdpr","backup","devops","mental health","breakdown"],"hasMore":true,"image":"https:\/\/avris.it\/image\/ovh-bulldozer_small.png","introLite":"\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer_mini.png\u0022 alt=\u0022AI-generated illustration: a wrecking ball with OVHcloud logo smashing a server with my blog\u0027s logo\u0022 width=\u0022240\u0022 height=\u0022171.796875\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EA big chunk of my free time in the last week has been consumed by work on restoring a bunch of my projects\nafter my hosting provider, \u003Ca href=\u0022https:\/\/ovh.com\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E OVH\u003C\/a\u003E, completely removed my server and backups.\nHere\u0027s what happened.\u003C\/p\u003E","contentLite":"\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer_mini.png\u0022 alt=\u0022AI-generated illustration: a wrecking ball with OVHcloud logo smashing a server with my blog\u0027s logo\u0022 width=\u0022240\u0022 height=\u0022171.796875\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003Cfigcaption\u003E\n                    \u003Ca href=\u0022Illustration generated with ChatGPT-4o\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csmall\u003EIllustration generated with ChatGPT-4o\u003C\/small\u003E\u003C\/a\u003E\n                \u003C\/figcaption\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EA big chunk of my free time in the last week has been consumed by work on restoring a bunch of my projects\nafter my hosting provider, \u003Ca href=\u0022https:\/\/ovh.com\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E OVH\u003C\/a\u003E, completely removed my server and backups.\nHere\u0027s what happened.\u003C\/p\u003E\n\u003Ch2\u003ETL;DR\u003C\/h2\u003E\n\u003Cp\u003EThis post ended up longer than I was hoping for, so if you don\u0027t wanna read the whole thing, here\u0027s an executive summary:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003EOVH has made me start a new account for each country I\u0027ve lived in; it\u0027s annoying to keep track of,\nso I\u0027m starting to clean it all up as well as to slowly move my projects a better competitor.\u003C\/li\u003E\n\u003Cli\u003EI requested removal of one of those accounts, clearly marking which one, and they did remove it\u2026\nand then removed another account too \ud83e\udd26 The one where my server and backups were located and paid for in advance.\u003C\/li\u003E\n\u003Cli\u003EIt\u0027s been over a week and support still hasn\u0027t helped me a bit.\u003C\/li\u003E\n\u003Cli\u003EMy planned move to Hetzner got expedited; and I\u0027ve decided to also make a bunch of improvements\nto my projects along the way: to update language versions, dependencies, licenses, etc., to discontinue some,\nand to make my setup more resilient, easy to restore and less reliant on a single company in the future.\nSo it\u0027s been infuriating, but with silver lining.\u003C\/li\u003E\n\u003Cli\u003EUnfortunately, I also lost some databases in the process \u2013 causing one project to be prematurely discontinued,\nand a few others to lose some less important but cool stats\u2026\u003C\/li\u003E\n\u003Cli\u003E\u003Cstrong\u003EUpdate:\u003C\/strong\u003E After 17 days I received a call from the claims department: they took responsibility for the incident,\napologised, confirmed that the data is not recoverable, and offered me 136,38\u20ac (six months worth of the cost of the service) \u2013\nwhich would be a reasonable compensation for the trouble, but is a laughable compensation for the unrecoverable loss of data.\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Chr \/\u003E\n\u003Cul\u003E\n\u003Cli\u003E\u003Ca href=\u0022#what-happened\u0022\u003EWhy would OVH do that? How did they handle the situation?\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022#my-mistakes\u0022\u003EWhat could I have done better?\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022#silver-linings\u0022\u003ESilver linings\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022#databases-lost\u0022\u003EDatabases lost\u003C\/a\u003E\u003C\/li\u003E\n\u003Cli\u003E\u003Ca href=\u0022#receipts\u0022\u003EReceipts\u003C\/a\u003E\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Ch2\u003EWhy would OVH do that? How did they handle the situation? \u003Ca id=\u0022what-happened\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003EI\u0027ve been using OVH to host my VPS and register my domains for ages now. They used to be good enough,\nbut most importantly cheaper than everyone else. Now, however, I can get better machines\nand better service for less. I was recommended a German company called \u003Ca href=\u0022https:\/\/hetzner.com\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Hetzner\u003C\/a\u003E\nand I\u0027ve been planning to move there, and procrastinating on that plan, since, *checks notes*, October 2022 \ud83d\ude05\u003C\/p\u003E\n\u003Ctable\u003E\n\u003Cthead\u003E\n\u003Ctr\u003E\n\u003Cth\u003ECompany\u003C\/th\u003E\n\u003Cth\u003EModel\u003C\/th\u003E\n\u003Cth\u003ECPU\u003C\/th\u003E\n\u003Cth\u003ERAM\u003C\/th\u003E\n\u003Cth\u003EDisk space\u003C\/th\u003E\n\u003Cth\u003EBandwidth\u003C\/th\u003E\n\u003Cth\u003EPrice\u003C\/th\u003E\n\u003C\/tr\u003E\n\u003C\/thead\u003E\n\u003Ctbody\u003E\n\u003Ctr\u003E\n\u003Ctd\u003EOVH\u003C\/td\u003E\n\u003Ctd\u003EVPS 2018 SSD 3\u003C\/td\u003E\n\u003Ctd\u003E2 vCores\u003C\/td\u003E\n\u003Ctd\u003E8 GB\u003C\/td\u003E\n\u003Ctd\u003E80 GB + 50 GB extension\u003C\/td\u003E\n\u003Ctd\u003EUnlimited (with fair use policy)\u003C\/td\u003E\n\u003Ctd\u003E22.73\u20ac\/month\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003Ctr\u003E\n\u003Ctd\u003EHetzner\u003C\/td\u003E\n\u003Ctd\u003ECX42\u003C\/td\u003E\n\u003Ctd\u003E8 vCores\u003C\/td\u003E\n\u003Ctd\u003E16 GB\u003C\/td\u003E\n\u003Ctd\u003E160 GB\u003C\/td\u003E\n\u003Ctd\u003E20 TB\u003C\/td\u003E\n\u003Ctd\u003E19.84\u20ac\/month\u003C\/td\u003E\n\u003C\/tr\u003E\n\u003C\/tbody\u003E\n\u003C\/table\u003E\n\u003Cp\u003EI\u0027ve actually been using Hetzner for a while for a different project,\never since I moved \u003Ca href=\u0022https:\/\/pronouns.page\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Pronouns.page\u003C\/a\u003E\nto its separate setup (see: \u003Ca href=\u0022\/blog\/pronouns-page-migration.lite\u0022\u003E Migrating Pronouns.page to a new server \u2013 a success story\u003C\/a\u003E) \u2013 and I can only recommend them!\u003C\/p\u003E\n\u003Cp\u003EWhich is not the case for OVH at all\u2026 While the price difference is not terrible \u2013\nI could live with this specification for that money \u2013\nthere are so many other things about OVH that kept annoying me greatly. Their dashboard is slow, buggy\nand has terrible user experience. Your account is bound to a country in which you created it,\nmeaning that me, a person who moved from Poland to Germany and then from Germany to Netherlands,\nended up with three separate accounts \u2013 and scary automated emails warning me that if my whois information\nis proved to be inaccurate they will have to take away my domains. That information\nincludes the physical address and phone number, which are bound to a country,\nso it \u003Cem\u003Ewon\u0027t let me\u003C\/em\u003E update them without making me create a brand new account.\u003C\/p\u003E\n\u003Cp\u003EOkay, then just create a new account and move the domains and servers there, how hard can that be?\nWell, hard\u2026 The procedure to move a single domain, at least at the time I did that, required separately\nchanging three contacts (iirc: administrative, billing and technical), confirming each of them via a code\nfrom the email sent to the old owner, then another email sent to the new owner.\nMultiply that by, idk like ten domains?, and you\u0027re stuck for hours with like sixty confirmation codes\nbetween two browsers, two email accounts, waiting for all emails to arrive and verifying which\nidentifier is which. Rather than just letting me say: \u201chey, btw, I live in the Netherlands now\u201d \ud83e\udd26\u200d\nThey seem to have an affinity to spamming people with long plain-text emails \u2013\nto a point one starts just glancing at them briefly and throwing them in archive without giving them too much thought.\u003C\/p\u003E\n\u003Cp\u003EAnyways\u2026 In early June 2024 the status of my accounts is:\u003C\/p\u003E\n\u003Cul\u003E\n\u003Cli\u003Ea Polish account that hasn\u0027t been used in like 5 years,\u003C\/li\u003E\n\u003Cli\u003Ea German account that only has a VPS, which I\u0027m planning to just move directly to Hetzner,\u003C\/li\u003E\n\u003Cli\u003Ea Dutch account that hosts a bunch of domains.\u003C\/li\u003E\n\u003C\/ul\u003E\n\u003Cp\u003ESo as a person who would like to finally get the ball moving on the Hetzner move I\u0027ve decided to at least\nclean up what I can: instead of three NIC\u0027s (account identifiers) in three countries connected to three email addresses,\nthree password manager entries and three OTP manager entries, I could have two of each \u2013\nand some more motivation to slowly but surely start moving everything.\nI tried looking for a \u201cremove account\u201d button, but to no avail. After a bunch of digging,\nI finally managed to find where to request the removal, via the GDPR procedure.\nAnd I did \u2013 while logged in to the Polish account, specifying the NIC of the Polish account\nin the form, and then again in the text of the request. Over the next week I got a few emails\nthat they\u0027re working on it, and I thought that was it.\u003C\/p\u003E\n\u003Cp\u003EOh how wrong I was. One day my husband let me know that \u003Ca href=\u0022https:\/\/generator.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Generator\u003C\/a\u003E\nis down \u2013 so I tried SSH-ing to the VPS; it didn\u0027t let me, so I logged in to the OVH dashboard\nto debug with their in-browser console or to just reset the server: only to see that\u2026 \u003Cem\u003Ethere is no server\u003C\/em\u003E.\u003C\/p\u003E\n\u003Cp\u003EI confirmed that the Polish account is indeed entirely gone, but the German one, while still existing,\nis completely empty, except for a history of payments and a support ticket.\nA ticket that I opened from the \u003Cem\u003EPolish\u003C\/em\u003E account, written in Polish, specifying the Polish account\u0027s NIC \u2013\nand their reply, also in Polish, that the German account is being removed.\u003C\/p\u003E\n\u003Cp\u003EI opened a new ticket bringing the situation to their attention.\nI even got over my social anxiety around phone calls and called their customer support \u2013\nafter all the sooner they react, the better the chance that the data is recoverable.\nSurprisingly, they didn\u0027t leave me on hold for ages or pass me through lengthy automated process,\nI actually got to talk to a real person within minutes. They gathered the info, they could see my tickets\nin the system, they told me they\u0027ll forward it to the appropriate department and that I should expect\nsomeone to contact me within \u003Cem\u003Ehours\u003C\/em\u003E.\u003C\/p\u003E\n\u003Cp\u003EFast forward a week (and an angry nudge in the ticketing system) \u2013 still zero reaction.\u003C\/p\u003E\n\u003Ch2\u003EWhat could I have done better? \u003Ca id=\u0022my-mistakes\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003EI think the reason why someone removed the German account along with the Polish one is that\nwhile the account I was logged into when requesting removal,\nthe NIC I put in the form, the content and the language of my message all pointed to the Polish account,\none item did not: the form asked me for an email address and I mistakenly put in\nthe one associated with the German account.\u003C\/p\u003E\n\u003Cp\u003EWhich is an easy mistake to make when you\u0027re being forced to manage three separate accounts\nthat could\u0027ve easily been one. But more importantly: they didn\u0027t check if the email address entered\nactually belongs to the person making the GDPR request (eg. by them being logged in, by the user sending\nthem an email from that account, by requiring a confirmation code by email);\nin this case both accounts happened to belong to the same person, but what if I put in \u003Cem\u003Esomeone else\u0027s\u003C\/em\u003E email?\nWould someone be able to bulldoze a competitor\u0027s entire infrastructure by simply knowing what email\nthey used for their OVH account? That\u0027s absurd!\u003C\/p\u003E\n\u003Cp\u003EAdmittedly, they \u003Cem\u003Edid\u003C\/em\u003E notify me by email that my account is being removed. Among a spam of various emails,\nin a weird mix of Polish and German text, and in which the account to be removed is referenced solely\nby a NIC: a random string of numbers that I need to either remember or check my notes each time to know which is which.\nI think they also \u003Cem\u003Etried\u003C\/em\u003E to tell me that my VPS is gonna be removed along the account,\nbut the wording is \u003Cem\u003Eabsolutely terrible\u003C\/em\u003E: \u201creferencja do us\u0142ugi na Twoim koncie wymaga niezb\u0119dnych operacji\u201d,\nwhich translates to \u201ca reference to a service in your account requires necessary operations\u201d \ud83e\udd26\nQuite a long way from what I\u0027d expect to be the best practice:\na big, bold \u201chey, your account XYZ still has a VPS that\u0027s running and paid for, are you sure?!\u201d\u003C\/p\u003E\n\u003Cp\u003EI could\u0027ve moved to Hetzner 1,5 year ago. Oh honey, I so wish I had.\nBut that\u0027s not an effort for one afternoon. There used to be 52 (!) projects hosted there along with\n5 third-party web-based apps, and a bunch of dependencies.\nSome of that was using PHP 7.4, some PHP 8.3, some Node 18, some Node 20, some were just statically generated pages.\nIf I were to move it over, I\u0027d rather upgrade to newer version instead of supporting separate ones.\nAnd I\u0027m a busy enby. I wrote earlier that I was \u201cprocrastinating\u201d on the move, but that\u0027s not really accurate \u2013\nI was \u003Cem\u003Edamn\u003C\/em\u003E busy with a bunch of other things, like \u003Ca href=\u0022https:\/\/pronouns.page\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Pronouns.page\u003C\/a\u003E\n(which luckily was on a separate server already), or idk, one of the 153 repos I seem to have on my\n\u003Ca href=\u0022https:\/\/gitlab.com\/users\/Avris\/projects\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Gitlab\u003C\/a\u003E (some of them private, so they won\u0027t show up under the link).\nSo a proper move simply hasn\u0027t been a priority. Until OVH made it my priority.\u003C\/p\u003E\n\u003Cp\u003EI could\u0027ve made the project easier to restore. Keep the configuration and a library of system packages in a repo,\nAnsible-style, or whatnot. Yeah, well, that was the plan for the Hetzner move \ud83d\ude05\u003C\/p\u003E\n\u003Cp\u003EAnd yes, I can hear hypothetical people screaming. Yes, I should\u0027ve had backups.\nWell, I did. I had a script that was supposed to zip the most important data and store them on S3,\nbut it broke and I haven\u0027t found time to debug the issue\u2026\nI gave it low prio because I was planning to abandon the server anyway,\nand more crucially because I also had separate backups of the most important thing \u2013 databases.\nOther things I can restore with some effort, but databases would just be \u003Cem\u003Elost\u003C\/em\u003E.\nThe thing is, what I used for those backups is\u2026 OVH\u0027s built-in automatic backups of MySQL databases.\nI wish I could still see any indication in the dashboard that those backups were ever there,\ncause my anxiety whispers in my ear that my memory might be misleading me \u2013\nbut I can\u0027t, because the whole account is wiped.\u003C\/p\u003E\n\u003Cp\u003EAnyways\u2026 the thing is: I know I could\u0027ve handled a bunch of things better.\n\u003Cstrong\u003EBut my biggest mistake was trusting that OVH will handle my account appropriately\u003C\/strong\u003E.\nFor heaven\u0027s sake, that server was even paid for for another month an a half \u2013\nwhy would you wipe customer\u0027s infrastructure that\u0027s paid for, actively running,\nand part of a different account than the one that made the GDPR request?\u003C\/p\u003E\n\u003Cp\u003EUntil now, I simply disliked OVH as a customer. How I actively distrust them, and I doubt that will ever change.\nI could never trust them again with any data or infrastructure.\u003C\/p\u003E\n\u003Ch2\u003ESilver linings \u003Ca id=\u0022silver-linings\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003EBut\u2026 it\u0027s not all shit. I actually managed to find a lot of silver linings in the whole situation.\nObviously, OVH forced me to finally prioritise the changes I\u0027ve been planning to do for over a year \u2013\nso I finally got most of them done, yay. I guess, thank you?\nBut other things on my list are stuff that I would\u0027ve done anyway, eventually\u2026\nStill, I like to think about the positives, so here we go.\u003C\/p\u003E\n\u003Cp\u003EI moved to a faster and cheaper machine. Yay!\u003C\/p\u003E\n\u003Cp\u003EMy IP is finally fully private and protected by Cloudflare\u0027s proxy.\nI\u0027ve had the old server way before I even knew that it\u0027s a thing \u2013 so someone somewhere\ndug it up and used it to DDoS me, circumventing Cloudflare\u0027s protection.\nIronically, they were queerphobes targeting Pronouns.page, but they didn\u0027t know\nthat this project has had its own separate server for a while now, and its IP is still secret.\nNow, so is Avris\u0027s.\u003C\/p\u003E\n\u003Cp\u003EI had a list of 57 projects\/apps\/hosts\/(sub)domains running on the old server.\nNow that list has just 25 items. The remaining ones are those that either got popular, or didn\u0027t at all\nbut I really like them and they aren\u0027t that much effort to maintain.\nI\u0027m following \u003Ca href=\u0022https:\/\/www.youtube.com\/watch?v=9LZEZ5QuyzM\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Tom Scott\u0027s advice\u003C\/a\u003E\nto create a lot of stuff and increase the odds of some of them succeeding \u2013\nbut that also means I need to be ready for a lot of what I do to fail.\nKilling a project is tough, even if no one, including myself, even uses it anymore.\nBut this whole situation made me tear off that band-aid.\u003C\/p\u003E\n\u003Cp\u003EA half-baked idea that I decided to publish way too soon? Poof.\nA framework that helped me learn a lot about PHP, software and software architecture,\nbut that also makes less sense to use than something more established? Poof.\n(Well, the repo is still public, but no need to keep the website up).\nAn app that stopped working after Elon Musk broke Twitter\u0027s API (unless I pay a bazillion euros)? Gone.\nA legacy version of a page that I kept up \u003Cem\u003Ejust in case\u003C\/em\u003E? Bye!\u003C\/p\u003E\n\u003Cp\u003EIt\u0027s not easy to say goodbye to them, but it helps with the overwhelm.\nI no longer maintain a terrifying number of apps I can\u0027t keep track of \u2013\nit\u0027s just two dozen that I actually care about.\u003C\/p\u003E\n\u003Cp\u003EThere\u0027s a bunch of things that I wanted to fix or improve in each and every one of those projects,\nbut doing that to twenty something of them is \u003Cem\u003Eway\u003C\/em\u003E more manageable than to fifty something.\nSo here we go: I upgraded Node, PHP, Symfony and a bunch of dependencies to the latest versions for all of my apps \u2013\nand to the same version across the whole server. I renamed the \u003Ccode\u003Emaster\u003C\/code\u003E branch to \u003Ccode\u003Emain\u003C\/code\u003E in those older\nprojects that still used the outdated name. I changed my name in the READMEs and footers\nto reflect my new legal name (\u003Ca href=\u0022\/blog\/it-s-official-my-name-is-andrea-vos-now.lite\u0022\u003E it\u0027s official! my name is andrea vos now \ud83e\udd73\u003C\/a\u003E) wherever it still needed an update.\nI changed the license of my projects to \u003Ca href=\u0022https:\/\/oql.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E OQL\u003C\/a\u003E wherever it was still MIT.\nI switched from Yarn to pnpm. Stuff like that.\u003C\/p\u003E\n\u003Cp\u003EWhen upgrading \u003Ca href=\u0022https:\/\/cake.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Cake\u003C\/a\u003E I also added better RTL support\nby upgrading Bootstrap and improving keyboard control logic. For \u003Ca href=\u0022https:\/\/oql.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E OQL\u003C\/a\u003E\nI made the dark mode look nicer. For \u003Ca href=\u0022https:\/\/heartbeat.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Heartbeat\u003C\/a\u003E\nI added a way to compress older data to reduce database size and refactored the config\nso that it\u0027s more readable and allows for async calls (like API calls or caching).\n\u003Ca href=\u0022https:\/\/gitlab.com\/Avris\/Deployer\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Deployer\u003C\/a\u003E got a bunch of improvements\nthat I\u0027ll release soon as v2.0.\u003C\/p\u003E\n\u003Cp\u003EThe server configuration as a whole got better too. I applied a bunch of the same improvements\nthat I had earlier made for Pronouns.page (\u003Ca href=\u0022\/blog\/pronouns-page-migration.lite\u0022\u003E Migrating Pronouns.page to a new server \u2013 a success story\u003C\/a\u003E) \u2013 including\na switch from Apache to Nginx and organising configs better.\nMy notes from that move were \u003Cem\u003Esuper\u003C\/em\u003E helpful and made this one easier and faster \u2013\nbut this time I wanted to make the process even better, and turn them into a nice little repository\nof scripts and configs that can be used to really boost the process if I ever need to do it again\n(or, more likely, use it as a template for future projects).\u003C\/p\u003E\n\u003Cp\u003EAnd, of course, setting up proper backups in multiple locations (all far away from OVH)\nget a way higher priority on my list after this incident. The new setup is still in the works,\nbut it will be a great improvement.\u003C\/p\u003E\n\u003Ch2\u003EDatabases lost \u003Ca id=\u0022databases-lost\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003ELuckily, most of my projects don\u0027t really need a database \u2013 they\u0027re either landing pages for libraries,\nor tools that encode data in the URL, or something like that. Restoring them was just a matter of\nspending time and effort on configuring everything again. But for those that do need to store data\ngenerated by users, the loss is unfortunately bigger\u2026\u003C\/p\u003E\n\u003Cp\u003EThe biggest by far was \u003Ca href=\u0022\/blog\/redesigning-a-website-naked-adventure.lite\u0022\u003E naked-adventure.eu\u003C\/a\u003E \u2013\na website that crowdsources information on nudist beaches and establishments.\nOn one hand, so much of mine and other people\u0027s work suddenly got wiped from OVH\u0027s infrastructure,\nbut on another I\u0027m actually a bit relieved\u2026 It\u0027s the kind of page that makes the most sense on a big scale \u2013\nafter all, just under 200 places in our database is almost nothing on the global scale;\nwhat\u0027s the point of even visiting the page if you\u0027re statistically unlikely to find what you\u0027re looking for?\nAnd for me personally, over the years naturism stopped being a new exciting thing that I love,\nand became just a regular part of my life. The enthusiasm and motivation to run this page faded,\nwhile overwhelm from other projects and other aspects of my life grew. I was falling behind on moderation,\nnever gotten to implementing some features I planned for it, I didn\u0027t have ideas or resources\nto advertise the platform and to grow it\u2026 So while it\u0027s sad to see it go, the project had been on life support\nfor a while already. I might resurrect it one day, with some new twist, but for now, rest in peace.\u003C\/p\u003E\n\u003Cp\u003EI also had some pages that collected stats about people\u0027s responses in a quiz,\nlike \u003Ca href=\u0022https:\/\/corevalues.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E CoreValues\u003C\/a\u003E. The pages are back up, but the stats are gone.\u003C\/p\u003E\n\u003Cp\u003EMy husband\u0027s blog got wiped too \u2013 but he has local copies of all texts,\nand he hasn\u0027t published there in a while anyway, so not that much harm.\u003C\/p\u003E\n\u003Cp\u003EI also lost website analytics from \u003Ca href=\u0022https:\/\/plausible.io\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Plausible\u003C\/a\u003E.\nBut to be honest, I haven\u0027t really checked them in a while \u2013 I just let my websites run,\nwithout obsessing about the numbers. I still set up a new instance on the new server\nand I\u0027ll be collecting anonymised analytics, but I won\u0027t cry about that particular spilled milk.\u003C\/p\u003E\n\u003Ch2\u003EMental health impact \u003Ca id=\u0022mental-health\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003ESpeaking of crying, though\u2026 I just wanna take a moment to acknowledge the impact that the whole situation\nhas had on my mental health.\u003C\/p\u003E\n\u003Cp\u003EI\u0027m really proud of how I mostly handled the issue. I kept calm, focused on solutions, on positives,\non opportunities. I managed to focus on fixing one thing at a time, to prioritise not only some projects\nagainst others, but also the whole fix against my personal needs \u2013 all of which are stuff that I\u0027ve\nbeen struggling with. I gave myself time to deal with the situation \u003Cem\u003Eproperly\u003C\/em\u003E, as opposed to panicking\nand frantically trying to fix everything with a hammer and a scotch tape, as fast as I can \u2013\nwhich would\u0027ve been my response a few years, if not months, ago.\nThere was no need to rush \u003Cem\u003Ethat much\u003C\/em\u003E: no one got angry with me, I just got a few messages from friends\nand strangers asking if I know that this or that tool is down; I lost some traffic, but it\u0027s not like\nI was monetising it anyway; none of those projects was an essential, irreplaceable, urgently needed\npart of anyone\u0027s live (I hope).\u003C\/p\u003E\n\u003Cp\u003EBut there are limits to what my head can take. While calm on the outside, I was \u003Cem\u003Eextremely\u003C\/em\u003E irritable\nfor the first two days or so, any minor inconvenience could get me over the edge.\nI had two major breakdowns \u2013 but luckily also two amazing partners that helped me through them.\u003C\/p\u003E\n\u003Cp\u003EBasically: I needed time to grieve. I lost a lot of data, a lot of work, my plans for the upcoming week\ngot turned upside-down. One can\u0027t just brush off stuff like this.\u003C\/p\u003E\n\u003Cp\u003EAnyways\u2026 I\u0027m fine now. But I think sharing my experience might help someone one day, so I wanted to it.\u003C\/p\u003E\n\u003Ch2\u003EReceipts \u003Ca id=\u0022receipts\u0022\/\u003E\u003C\/h2\u003E\n\u003Cp\u003EContext: pa13\u25a0\u25a0\u25a0\u25a0 = Polish account; pa60\u25a0\u25a0\u25a0\u25a0 = German account\u003C\/p\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-1-2_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-1-2_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022236.8115942029\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-1-1_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-1-1_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022283.03860523039\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-2-2_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-2-2_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022280.19417475728\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-2-1_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-ticket-2-1_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022273.51620947631\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-bill-1_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-bill-1_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022151.95530726257\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-bill-2_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-bill-2_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022165.65581395349\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-emails-pl_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-emails-pl_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022263.43307086614\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\n\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-emails-de_big.png\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/ovh-bulldozer-emails-de_mini.png\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022384.83412322275\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E","words":3377,"readTime":14,"lang":"en"}}},"blog\/technology\/jest\u0119-admin\u0119":{"key":"blog\/technology\/jest\u0119-admin\u0119","type":"article","published":true,"meta":{"createdAt":"2017-04-28T19:43:32+02:00","publishedAt":"2015-05-08T13:39:00+02:00","group":null,"category":"blog","subcategory":"technology","slug":"jest\u0119-admin\u0119"},"content":{"pl":{"slug":"jest\u0119-admin\u0119","title":"Jest\u0119 Admin\u0119!","intro":"\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/jest\u0119-admin\u0119_small.jpeg\u0022 alt=\u0022\u0022 class=\u0022border-bottom\u0022 width=\u0022480\u0022 height=\u0022480\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAKJ0lEQVRYhZWXaWxc1RXHf\/fNe7PPvLE99jh2vIzHS0xCHEjACSIFCm2Blg8tUUMrylKp\/VAhVULql35pqSr1UwuqQKioaoWgKmRpUakqFhVaiRRKEoizeImdOONMbMcejz2LZ\/N77\/bDLB57nIiepzvv3aN7z\/nfs9xzRiweHpWN306DkCABISjR5nmFLUFA+aeyEuvp3agprYYv1\/eIylSU9ABIUbdmOXQCEVOuyvN\/PInLrRGbmKJjZz\/ToxP0DO0kOnqRzr4eAMZGzjE4dCuzIxO07R5gZX4Bm8eFz+8jNh1lu2cX6h9sdJzsYPJnk5ifmGQ6MzRtC7LwxgItT7Ygj1jk9+Zx7nBx7XgMY4dBR7iDK2NX6Ni1nfDrn6IkZII7H7kXEdLJhrxYfhdruouMzSKrWJiaDVNVCA30MPTlu4laGZQWndseeYDZ+AKubUGaI50sNC0wG5kl6o9y+4\/3oj6uEvpuK\/m78iw8s8DQj4YYefAs+399gIWuBfI\/LBD+fg93PHsn9m84iCkTeBU7SsVioVCI5XiC7p4eJs+P0tTURFdnJ0rBQCkYNLeGGB8fx9nop729nfm5OYKqi\/xqlrnPxhgcHMTX7IcwjI+P4x\/QMTDQNR0tozE2NoZ\/wI\/NZuP9l99n\/rN5wuFw1WP9+24lZ62tAxofH6e5tYVCNsvQ8D4KhQL+thaktFhZTRNoDuLxeOjt62N0dJT27dtJpJMA9AztZGlpCc9eD\/SA3++nJ9IDAvI\/zTGY24HX66W\/v590Os1Tv3wKvU9nZGSkCkjJmeRUE5ESK3LkwAjZVA7WJJ6Qh6RjDt9hgadgIRRBrlDAsCvk06soDjuWYeB0u\/BbKhlp0OrwMvtOgMaPGlFUhVnfLM6gk3wuT++lXhZbFlmRK9gb7chViWgTMDNFviuGx+8lu5zC06TTOyYRUjFrQr1EprBIPTqFfjhVl2RbkVXOMi1t\/wJrLZKhj\/E1n8eGKCelLKWZlCiS+keRAv\/xXpJv+kscWcJc90bWJO5WkjY+G8FQlS0lpesEUAWiLLb0RXlukwr6sV6STKE\/ltz6uBL+OXaKF949wg7HPlqVbTydeYImswmQiJq7ah3MOWxCVC0iROU+Ks+3ctlGE0uShybRD5dACSFKFhLw0odv8dwbryAUDc3poJjP01+I8E7mH\/gsf80VabES+hh\/8zkUoawLL+NYn9\/AZbWPgJKljuhVxyAEn8cu86vjryIkbGttwSwUyaUznCmc4UXnyxtcuBL6D\/6W89XDVAc132WzKBshUgNZ1HAEgaN9rBzxV2\/7v5z8gGKhyP4776Ap4MdlL0WFaZq8Jl+rRtdy6AT+lgsl90lRKkWVQXkIUVWnCm7ksXp+w9F+lplEP5xi\/HoM1e4kbUJ8JU1HdzeGYZJMrRI1p5nT5nE1TqO3XChddtUauPn8NTEEqHLrVTcACYGjfSTlJJrbjQ2L2\/oirLaFkBZMTUzg8TpIp03ebniBHwQjCClKdbRyxk01tVrAy3jV+pUbEW\/cLRAI9GO9zPcuY0MSDoZI2jV0n4\/P\/R6WMhlSQnDVPoYQkZJlbpo2G9Uqoqpmq3flW1R5IMnYM8SMGbL5PKrTTjgSYXbiIm5NkFrN0a7pPKvfT1Ex64wtZClT60Z5ocL\/QVLCnDbPLwLPYcoiprT44MS\/wa6xYuSYSaRI59Z42L+Ty7vhtOca6QaFj4cLvLr3En8PT7MqisiyUWpHhVRDGF8YUFxbYrdzN6plo9EVJJvJcvnSBG\/99SjjU9PEFldwuz0kG2CkO8We5h7e3JakmF\/FsFxk7BmMGbAsc2sFAtTszlduEsJly5TfMWuR\/HQBp+pEWhZ2TcEmLWYuT3Px8lVUVcNut5Pt9ZHR4BhTyFmLoNuG1+Nn10f7sU0eIHcTjaoXlc2BWx+FJV5OMbAsC8uyyOdz2BUbTiHImxYIgaZpOBx2XC4PK5k8PrebSDhMcXSFg28+RNfl8IZyUn9ygSo29cfrADaT4OLadYQQWJZJPrdKZ5NOS2uQiehcOT3AMtdoa2\/n9j1DLIxfpeOtdva8\/01cRXc5YDfUijpdNWl\/MwuVyOwOYoupGIaBKe0sXc9QWFpjPpNEU1SQkly+QHNTkIWl63T\/7hbuun7vZjNsgrNRt1Kq\/KJmbJ6vjxZHgAbdj9PpoLV3ALsvwJph4vQ4sNs1kGAZkkikh9iVGYaSe6m9ROSmUc8DpT4By0PU874W1bmluZ9QqJVAY5Dt+\/YhXS70liCapmKz2QhHenA6PczHZuCRBFSr2uYE3+yZsstEtWvbgmr4UkLxej+\/yb\/Ef5s+p\/ezCG1mK\/lclifs30NRbNgdCvfd\/wCrmRTCMGj6TpplJgkc7UP5giVK3TqfNn1LSC8N4J07yCAKg8v9G4C+nf8bxovncHg1TntyRKcnyaXSICFwOElSTqIfuxGojVTKDVnxYLnuVOcVMP345g6ilPOk1glCQIsRpNXfiOrQyBYKTE1OEG7uqBZN\/XCS5KFJLKzqvs1yKm+lpJz1sGF9bklJemkA39w95cCUNULkhjlAsphjdnaWmeg0j9xxX1WWEAL9sSTJQ1NYwrqpnHL7UZ\/2UkAmvgPv3EGErPlPfhMK2dz02Lz0DX+doY4BKv15pR3UD6dIMoX\/eC+K3Np9W16MkhIY39zBUtKKuua3bg+AS9V4qH0Q2msa\/E3\/o2pB2aSok6OsKyibTkrSFTCyNgxljXk37qmlSstyIxKiBCr16BTWFjVfNaXFp+4FXFlJ1gOrSS\/NSZ3Vzk\/oi0VoMBs42XyKPYtDfL7tDL60l4wrAwL6lvu45r2GZmqEMmkmMjHEmgGVfyaqjWanl8VsCo\/mIFss4LE7yRRyyGFBbn4M12gQ1bRh2AwGUv3YHu7Y+3Pv7w9xvtfgoeefYXGvjam7LxH5SYQY11j7dI3ce3nO\/uksX7p2D38WbzD82\/20PBNi4p0JCs8XKdxVZNGM4z7Qx9lEjO6De5lX17B3h\/hgcoR7Hv8WJ6LjDH71bi6krxPYFaHv3mFWdmdJfCWB9qRG\/P44a2fWUAyXjUQiQUNDA\/F4nK6uLvSATjQaJRa\/WnWQ2W0QjUbp7O\/E6XQiFEGCBEV3kUJbkeRiHMuyiE\/N4PP5OPvhCXw+H+FwmGQyicfnZXZ2Fq\/XS1dXF4uLiwBYlsXw8DCpVApSoHozkLc7uHDyApZloSgKM+Mz7LlrD8sPrnDq01PoiQBWG8SuxmhoaOD06dMoikLMjHGb53ayIkeGLIqiEGxo5NTJU+y5ZReWZdHQHORaLEYgEMDr9XJpcpLTpkkqlcLj8RCPx3nv3Xe5cuUKfUYvItH+gYzPtdMoG8mRBcCNm0UWSTWk6Ux1UDTX0PGTIUOBImq5h2qkkQQJLGERen2BS4tXCIfaSKRTNPr8XFmYxe\/2IhAUjCICgdfporBWamNNy+JaOoGmqggJ9n918D+7cfvl9qsBqQAAAABJRU5ErkJggg==\u0022 data-src=\u0022https:\/\/avris.it\/image\/jest\u0119-admin\u0119_small.jpeg\u0022 alt=\u0022\u0022 class=\u0022border-bottom\u0022 width=\u0022480\u0022 height=\u0022480\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EMo\u017ce nie napisz\u0119 tu nic ciekawego, ale po prostu musz\u0119 si\u0119 pochwali\u0107 :D Kupi\u0142em sobie wirtualny serwer prywatny. Czy\u015bciutki Linux na nim, do zainstalowania i skonfigurowania wszystko: Apache, PHP, MySQL, SFTP, domeny, maile i ca\u0142a masa innych pierd\u00f3\u0142. W wielu z nich grzeba\u0142em pierwszy raz w \u017cyciu. Ale chyba dogrzeba\u0142em si\u0119 do wszystkiego co trzeba, bo wygl\u0105da na \u015bmigaj\u0105ce \u015blicznie.\u003C\/p\u003E\n\u003Cp\u003EWreszcie mog\u0119 deployowa\u0107 po ludzku, z gitem i composerem, pisa\u0107 w nowszej wersji PHP, skonfigurowa\u0107 sobie, co mi si\u0119 tylko \u017cywnie podoba, nie robi\u0107 r\u0119cznie eksport\u00f3w rozk\u0142adu na \u003Ca href=\u0022http:\/\/bus.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Busa\u003C\/a\u003E, kt\u00f3remu nie starcza\u0142o pami\u0119ci na wsp\u00f3\u0142dzielonym hostingu... Miodzio! :3\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","content":"\u003Cfigure\u003E\n                \u003Cnoscript\u003E\n                    \u003Cimg src=\u0022https:\/\/avris.it\/image\/jest\u0119-admin\u0119_big.jpeg\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022625\u0022 height=\u0022625\u0022\u003E                \n                \u003C\/noscript\u003E\n                \u003Cspan class=\u0022hide-noscript\u0022\u003E\u003Cimg src=\u0022data:image\/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAAA7EAAAOxAGVKw4bAAAKJ0lEQVRYhZWXaWxc1RXHf\/fNe7PPvLE99jh2vIzHS0xCHEjACSIFCm2Blg8tUUMrylKp\/VAhVULql35pqSr1UwuqQKioaoWgKmRpUakqFhVaiRRKEoizeImdOONMbMcejz2LZ\/N77\/bDLB57nIiepzvv3aN7z\/nfs9xzRiweHpWN306DkCABISjR5nmFLUFA+aeyEuvp3agprYYv1\/eIylSU9ABIUbdmOXQCEVOuyvN\/PInLrRGbmKJjZz\/ToxP0DO0kOnqRzr4eAMZGzjE4dCuzIxO07R5gZX4Bm8eFz+8jNh1lu2cX6h9sdJzsYPJnk5ifmGQ6MzRtC7LwxgItT7Ygj1jk9+Zx7nBx7XgMY4dBR7iDK2NX6Ni1nfDrn6IkZII7H7kXEdLJhrxYfhdruouMzSKrWJiaDVNVCA30MPTlu4laGZQWndseeYDZ+AKubUGaI50sNC0wG5kl6o9y+4\/3oj6uEvpuK\/m78iw8s8DQj4YYefAs+399gIWuBfI\/LBD+fg93PHsn9m84iCkTeBU7SsVioVCI5XiC7p4eJs+P0tTURFdnJ0rBQCkYNLeGGB8fx9nop729nfm5OYKqi\/xqlrnPxhgcHMTX7IcwjI+P4x\/QMTDQNR0tozE2NoZ\/wI\/NZuP9l99n\/rN5wuFw1WP9+24lZ62tAxofH6e5tYVCNsvQ8D4KhQL+thaktFhZTRNoDuLxeOjt62N0dJT27dtJpJMA9AztZGlpCc9eD\/SA3++nJ9IDAvI\/zTGY24HX66W\/v590Os1Tv3wKvU9nZGSkCkjJmeRUE5ESK3LkwAjZVA7WJJ6Qh6RjDt9hgadgIRRBrlDAsCvk06soDjuWYeB0u\/BbKhlp0OrwMvtOgMaPGlFUhVnfLM6gk3wuT++lXhZbFlmRK9gb7chViWgTMDNFviuGx+8lu5zC06TTOyYRUjFrQr1EprBIPTqFfjhVl2RbkVXOMi1t\/wJrLZKhj\/E1n8eGKCelLKWZlCiS+keRAv\/xXpJv+kscWcJc90bWJO5WkjY+G8FQlS0lpesEUAWiLLb0RXlukwr6sV6STKE\/ltz6uBL+OXaKF949wg7HPlqVbTydeYImswmQiJq7ah3MOWxCVC0iROU+Ks+3ctlGE0uShybRD5dACSFKFhLw0odv8dwbryAUDc3poJjP01+I8E7mH\/gsf80VabES+hh\/8zkUoawLL+NYn9\/AZbWPgJKljuhVxyAEn8cu86vjryIkbGttwSwUyaUznCmc4UXnyxtcuBL6D\/6W89XDVAc132WzKBshUgNZ1HAEgaN9rBzxV2\/7v5z8gGKhyP4776Ap4MdlL0WFaZq8Jl+rRtdy6AT+lgsl90lRKkWVQXkIUVWnCm7ksXp+w9F+lplEP5xi\/HoM1e4kbUJ8JU1HdzeGYZJMrRI1p5nT5nE1TqO3XChddtUauPn8NTEEqHLrVTcACYGjfSTlJJrbjQ2L2\/oirLaFkBZMTUzg8TpIp03ebniBHwQjCClKdbRyxk01tVrAy3jV+pUbEW\/cLRAI9GO9zPcuY0MSDoZI2jV0n4\/P\/R6WMhlSQnDVPoYQkZJlbpo2G9Uqoqpmq3flW1R5IMnYM8SMGbL5PKrTTjgSYXbiIm5NkFrN0a7pPKvfT1Ex64wtZClT60Z5ocL\/QVLCnDbPLwLPYcoiprT44MS\/wa6xYuSYSaRI59Z42L+Ty7vhtOca6QaFj4cLvLr3En8PT7MqisiyUWpHhVRDGF8YUFxbYrdzN6plo9EVJJvJcvnSBG\/99SjjU9PEFldwuz0kG2CkO8We5h7e3JakmF\/FsFxk7BmMGbAsc2sFAtTszlduEsJly5TfMWuR\/HQBp+pEWhZ2TcEmLWYuT3Px8lVUVcNut5Pt9ZHR4BhTyFmLoNuG1+Nn10f7sU0eIHcTjaoXlc2BWx+FJV5OMbAsC8uyyOdz2BUbTiHImxYIgaZpOBx2XC4PK5k8PrebSDhMcXSFg28+RNfl8IZyUn9ygSo29cfrADaT4OLadYQQWJZJPrdKZ5NOS2uQiehcOT3AMtdoa2\/n9j1DLIxfpeOtdva8\/01cRXc5YDfUijpdNWl\/MwuVyOwOYoupGIaBKe0sXc9QWFpjPpNEU1SQkly+QHNTkIWl63T\/7hbuun7vZjNsgrNRt1Kq\/KJmbJ6vjxZHgAbdj9PpoLV3ALsvwJph4vQ4sNs1kGAZkkikh9iVGYaSe6m9ROSmUc8DpT4By0PU874W1bmluZ9QqJVAY5Dt+\/YhXS70liCapmKz2QhHenA6PczHZuCRBFSr2uYE3+yZsstEtWvbgmr4UkLxej+\/yb\/Ef5s+p\/ezCG1mK\/lclifs30NRbNgdCvfd\/wCrmRTCMGj6TpplJgkc7UP5giVK3TqfNn1LSC8N4J07yCAKg8v9G4C+nf8bxovncHg1TntyRKcnyaXSICFwOElSTqIfuxGojVTKDVnxYLnuVOcVMP345g6ilPOk1glCQIsRpNXfiOrQyBYKTE1OEG7uqBZN\/XCS5KFJLKzqvs1yKm+lpJz1sGF9bklJemkA39w95cCUNULkhjlAsphjdnaWmeg0j9xxX1WWEAL9sSTJQ1NYwrqpnHL7UZ\/2UkAmvgPv3EGErPlPfhMK2dz02Lz0DX+doY4BKv15pR3UD6dIMoX\/eC+K3Np9W16MkhIY39zBUtKKuua3bg+AS9V4qH0Q2msa\/E3\/o2pB2aSok6OsKyibTkrSFTCyNgxljXk37qmlSstyIxKiBCr16BTWFjVfNaXFp+4FXFlJ1gOrSS\/NSZ3Vzk\/oi0VoMBs42XyKPYtDfL7tDL60l4wrAwL6lvu45r2GZmqEMmkmMjHEmgGVfyaqjWanl8VsCo\/mIFss4LE7yRRyyGFBbn4M12gQ1bRh2AwGUv3YHu7Y+3Pv7w9xvtfgoeefYXGvjam7LxH5SYQY11j7dI3ce3nO\/uksX7p2D38WbzD82\/20PBNi4p0JCs8XKdxVZNGM4z7Qx9lEjO6De5lX17B3h\/hgcoR7Hv8WJ6LjDH71bi6krxPYFaHv3mFWdmdJfCWB9qRG\/P44a2fWUAyXjUQiQUNDA\/F4nK6uLvSATjQaJRa\/WnWQ2W0QjUbp7O\/E6XQiFEGCBEV3kUJbkeRiHMuyiE\/N4PP5OPvhCXw+H+FwmGQyicfnZXZ2Fq\/XS1dXF4uLiwBYlsXw8DCpVApSoHozkLc7uHDyApZloSgKM+Mz7LlrD8sPrnDq01PoiQBWG8SuxmhoaOD06dMoikLMjHGb53ayIkeGLIqiEGxo5NTJU+y5ZReWZdHQHORaLEYgEMDr9XJpcpLTpkkqlcLj8RCPx3nv3Xe5cuUKfUYvItH+gYzPtdMoG8mRBcCNm0UWSTWk6Ux1UDTX0PGTIUOBImq5h2qkkQQJLGERen2BS4tXCIfaSKRTNPr8XFmYxe\/2IhAUjCICgdfporBWamNNy+JaOoGmqggJ9n918D+7cfvl9qsBqQAAAABJRU5ErkJggg==\u0022 data-src=\u0022https:\/\/avris.it\/image\/jest\u0119-admin\u0119_big.jpeg\u0022 alt=\u0022\u0022 class=\u0022border\u0022 width=\u0022625\u0022 height=\u0022625\u0022\u003E\u003C\/span\u003E\n                \n            \u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EMo\u017ce nie napisz\u0119 tu nic ciekawego, ale po prostu musz\u0119 si\u0119 pochwali\u0107 :D Kupi\u0142em sobie wirtualny serwer prywatny. Czy\u015bciutki Linux na nim, do zainstalowania i skonfigurowania wszystko: Apache, PHP, MySQL, SFTP, domeny, maile i ca\u0142a masa innych pierd\u00f3\u0142. W wielu z nich grzeba\u0142em pierwszy raz w \u017cyciu. Ale chyba dogrzeba\u0142em si\u0119 do wszystkiego co trzeba, bo wygl\u0105da na \u015bmigaj\u0105ce \u015blicznie.\u003C\/p\u003E\n\u003Cp\u003EWreszcie mog\u0119 deployowa\u0107 po ludzku, z gitem i composerem, pisa\u0107 w nowszej wersji PHP, skonfigurowa\u0107 sobie, co mi si\u0119 tylko \u017cywnie podoba, nie robi\u0107 r\u0119cznie eksport\u00f3w rozk\u0142adu na \u003Ca href=\u0022http:\/\/bus.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Csvg class=\u0022icon\u0022\u003E\u003Cuse xlink:href=\u0022#light-link\u0022\u003E\u003C\/use\u003E\u003C\/svg\u003E Busa\u003C\/a\u003E, kt\u00f3remu nie starcza\u0142o pami\u0119ci na wsp\u00f3\u0142dzielonym hostingu... Miodzio! :3\u003C\/p\u003E\u003Csvg xmlns=\u0022http:\/\/www.w3.org\/2000\/svg\u0022 style=\u0022display: none;\u0022\u003E\u003C\/svg\u003E","tags":["administracja","apache","konfiguracja","linux","php","serwer","vps"],"hasMore":false,"image":"https:\/\/avris.it\/image\/jest\u0119-admin\u0119_small.jpeg","introLite":"\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/jest\u0119-admin\u0119_big.jpeg\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/jest\u0119-admin\u0119_mini.jpeg\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022240\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EMo\u017ce nie napisz\u0119 tu nic ciekawego, ale po prostu musz\u0119 si\u0119 pochwali\u0107 :D Kupi\u0142em sobie wirtualny serwer prywatny. Czy\u015bciutki Linux na nim, do zainstalowania i skonfigurowania wszystko: Apache, PHP, MySQL, SFTP, domeny, maile i ca\u0142a masa innych pierd\u00f3\u0142. W wielu z nich grzeba\u0142em pierwszy raz w \u017cyciu. Ale chyba dogrzeba\u0142em si\u0119 do wszystkiego co trzeba, bo wygl\u0105da na \u015bmigaj\u0105ce \u015blicznie.\u003C\/p\u003E\n\u003Cp\u003EWreszcie mog\u0119 deployowa\u0107 po ludzku, z gitem i composerem, pisa\u0107 w nowszej wersji PHP, skonfigurowa\u0107 sobie, co mi si\u0119 tylko \u017cywnie podoba, nie robi\u0107 r\u0119cznie eksport\u00f3w rozk\u0142adu na \u003Ca href=\u0022http:\/\/bus.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Busa\u003C\/a\u003E, kt\u00f3remu nie starcza\u0142o pami\u0119ci na wsp\u00f3\u0142dzielonym hostingu... Miodzio! :3\u003C\/p\u003E","contentLite":"\u003Cfigure\u003E\u003Ca href=\u0022https:\/\/avris.it\/image\/jest\u0119-admin\u0119_big.jpeg\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E\u003Cimg src=\u0022https:\/\/avris.it\/image\/jest\u0119-admin\u0119_mini.jpeg\u0022 alt=\u0022\u0022 width=\u0022240\u0022 height=\u0022240\u0022 loading=\u0022lazy\u0022\u003E\u003C\/a\u003E\u003C\/figure\u003E\u003C\/p\u003E\n\u003Cp\u003EMo\u017ce nie napisz\u0119 tu nic ciekawego, ale po prostu musz\u0119 si\u0119 pochwali\u0107 :D Kupi\u0142em sobie wirtualny serwer prywatny. Czy\u015bciutki Linux na nim, do zainstalowania i skonfigurowania wszystko: Apache, PHP, MySQL, SFTP, domeny, maile i ca\u0142a masa innych pierd\u00f3\u0142. W wielu z nich grzeba\u0142em pierwszy raz w \u017cyciu. Ale chyba dogrzeba\u0142em si\u0119 do wszystkiego co trzeba, bo wygl\u0105da na \u015bmigaj\u0105ce \u015blicznie.\u003C\/p\u003E\n\u003Cp\u003EWreszcie mog\u0119 deployowa\u0107 po ludzku, z gitem i composerem, pisa\u0107 w nowszej wersji PHP, skonfigurowa\u0107 sobie, co mi si\u0119 tylko \u017cywnie podoba, nie robi\u0107 r\u0119cznie eksport\u00f3w rozk\u0142adu na \u003Ca href=\u0022http:\/\/bus.avris.it\u0022 target=\u0022_blank\u0022 rel=\u0022noopener\u0022\u003E Busa\u003C\/a\u003E, kt\u00f3remu nie starcza\u0142o pami\u0119ci na wsp\u00f3\u0142dzielonym hostingu... Miodzio! :3\u003C\/p\u003E","words":112,"readTime":null,"lang":"pl"}}}}}