H
Homarr2d ago
Garg

migration guide for old version of homarr to latest? on 0.12 need help upgrading

Hey guys i've been going nuts for the past few hours trying to upgrade my container that i've been using for the last two-ish years without problems.. i had no idea you devs were so productive in making so many improvements and updates! I've read the migration guides from 0.15-1.0 plus but i can't find anything concrete to help me go from my older 0.12 to 0.15.10 so i can begin the 0.15.10 to 1.0+ migration pathway. I've tried just jumping major versions gradually, but things break and around 0.14ish there's major changes that just cause a bunch of errors in my logs. Is there anything in the documentation i can refer to?? my dockertag says 0.13.0 as the version but in the app it shows the version as 0.12.3 for what it's worth Did this with docker run commands i think but have since lost what i ran, although i can view and manage it in portainer. I have a .json file of my my pages config with all my icons etc, but from what i can gather due to refactors that's not compatible with later versions, so i can't just do a fresh install of the 1.0+ version and import that, i have to get it to 0.15ish and export it to import it again with the new refactors in mind from what i read
15 Replies
Cakey Bot
Cakey Bot2d ago
Thank you for submitting a support request. Depending on the volume of requests, our team should get in contact with you shortly.
⚠️ Please include the following details in your post or we may reject your request without further comment: - Log (See https://homarr.dev/docs/community/faq#how-do-i-open-the-console--log) - Operating system (Unraid, TrueNAS, Ubuntu, ...) - Exact Homarr version (eg. 0.15.0, not latest) - Configuration (eg. docker-compose, screenshot or similar. Use ``your-text`` to format) - Other relevant information (eg. your devices, your browser, ...)
Frequently Asked Questions | Homarr documentation
Can I install Homarr on a Raspberry Pi?
Manicraft1001
Manicraft10012d ago
Migrate from 0.15.10+ to 1.0.0 | Homarr documentation
In this guide, we will show you how to migrate from Homarr 0.15.10+ to 1.0.0.
Manicraft1001
Manicraft10012d ago
We haven't officially onboarded our 0.15.10 users yet, because we want to polish it more before we terminate all support for the old version
Garg
GargOP2d ago
Hey! I've skimmed that page and i want to use it, but my issue is i'm not sure how to get from my current version of 0.13( my dockerimagetag)/0.12.3(what the app's "about" section shows) to 0.15.10 in order to do the migration to 1.0+ When i try to just go from the docker tag of 0.13 to 0.14 the entire app breaks because im guessing that's when you guys made major refactors? im a nest/next/node dev myself but i just wanted to see if someone could direct me in the "happy path" to upgrading from such an old version to 0.15.10 so i can do the documented migration steps. I could even just do a fresh install of 0.15.10 if there wa sa way to preserve my config that i've built over the last 2 years for my dashboard? currently i just see a json file that contains it all, would there be a compatible way to migrate/import that to a 0.15.10 clean install then i can follow the guid efrom there?
Manicraft1001
Manicraft10012d ago
How do you upgrade from 0.13 to 0.14? You should upgrade in the smallest possible steps. That way, your data should be safely migrated
Garg
GargOP2d ago
is there a list of any breaking changes from the jumps i should look for? like if i go from 0.13.0 to 0.13.1 to 0.13.2 to 0.14, is there a breaking change log of things i need to fix from that last jump from 0.13.2 to 0.14 for example?
Manicraft1001
Manicraft10012d ago
You can check the release notes at https://github.com/ajnart/homarr/releases for breaking changes
GitHub
Releases · ajnart/homarr
Customizable browser's home page to interact with your homeserver's Docker containers (e.g. Sonarr/Radarr) - ajnart/homarr
Manicraft1001
Manicraft10012d ago
But in general, all data should be migrated if you migrate version per version and load the dashboard once We improved data migration significantly in 1.0.0+ and you won't have to do this in any upcoming updates. But back then, data migration was triggered by page load and sometimes by entering edit mode.
Garg
GargOP2d ago
alright, i'll start with that process and report back, thanks a lot!
Manicraft1001
Manicraft10012d ago
You're welcome, happy to assist if you get any specific errors
Garg
GargOP2d ago
after going through and upgrading all through all 0.13.X versions one by one to 0.13.4 each time going to the dashboard and reloading so the data's migrated, i get to 0.14.0 and get an error when just going to the base URL with the port number `Error: The module '/app/node_modules/better-sqlite3/build/Release/better_sqlite3.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 108. This version of Node.js requires NODE_MODULE_VERSION 115. Please try re-compiling or re-installing the module (for instance, using npm rebuild or npm install). at Module._extensions..node (node:internal/modules/cjs/loader:1319:18) at Module.load (node:internal/modules/cjs/loader:1091:32) at Module._load (node:internal/modules/cjs/loader:938:12) at Module.require (node:internal/modules/cjs/loader:1115:19) at require (node:internal/modules/helpers:130:18) at bindings (/app/node_modules/bindings/bindings.js:112:48) at new Database (/app/node_modules/better-sqlite3/lib/database.js:48:64) at /app/.next/server/chunks/550.js:282:16 { code: 'ERR_DLOPEN_FAILED' } [next-auth][error][CLIENT_FETCH_ERROR] https://next-auth.js.org/errors#client_fetch_error Unexpected token 'I', "Internal S"... is not valid JSON { error: { message: Unexpected token 'I', "Internal S"... is not valid JSON, stack: SyntaxError: Unexpected token 'I', "Internal S"... is not valid JSON\n + ' at JSON.parse (<anonymous>)\n' + ' at parseJSONFromBytes (/app/node_modules/next/dist/compiled/undici/index.js:2:4905)\n' + ' at successSteps (/app/node_modules/next/dist/compiled/undici/index.js:2:4473)\n' + url: 'http://localhost:7575/api/auth/session', message: Unexpected token 'I', "Internal S"... is not valid JSON }``` ahh the formatting of that stinks on discord, It looks like it's getting some error, probably ageneric internal service error and then trying to serialize/deserialize it like it's json, but i doubt that's the cause. I see the "was compiled against a different Node.js version using NODE_MODULE_VERSION 108. This version of Node.js requires NODE_MODULE_VERSION 115. Please try re-compiling or re-installing" and interestingly enough, i tried to add the /data bind volume for it to make a database there, and there's no files or anything created in my db mount my docker env variables are "AUTH_TRUST_HOST true DATABASE_URL file:/data/db.sqlite NEXT_TELEMETRY_DISABLED 1 NEXTAUTH_SECRET NOT_IN_USE_BECAUSE_JWTS_ARE_UNUSED NEXTAUTH_URL http://localhost:7575 NODE_ENV production NODE_OPTIONS --no-experimental-fetch NODE_VERSION 20.6.0 PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin PORT 7575 YARN_VERSION 1.22.19" most of those i didn't explicitly specify
Manicraft1001
Manicraft10012d ago
Do you use docker or do you compile from source?
Garg
GargOP2d ago
yes just docker
Manicraft1001
Manicraft10012d ago
@Meierschlumpf why do we get this error? Didn't we compile per image in 0.15.10?
Garg
GargOP2d ago
I can exec into the container and run whatever commands if something needs to be installed or version bumped inside the container for any reason ive pulled down the repo for the v0.14.0 tag specifically and i think the issue is related to the bettersql package not working properly because in your dockerfile i see some node module swapping or mv commands and bettersql gets built for one node environment and doesn't work in the other despite it being "installed" properly tbh never seen this "RUN yarn add typescript ts-node dotenv [email protected] [email protected] @types/better-sqlite3 RUN mv node_modules node_modules_migrate RUN mv _node_modules node_modules " done before in a dockerfile but when i dig into it, these errors ""was compiled against a different Node.js version using NODE_MODULE_VERSION 108. This version of Node.js requires NODE_MODULE_VERSION 115. Please try re-compiling or re-installing"" i think these are related. i'm just confused as to why i'm having this issue and no one else has reported this? albeit this is a year+ old version Finally got it to work, but it wasn't pretty. I had to pull the v0.14.0 branch down locally, change the dockerfile to not be built from node-slim but from FROM node:20-bullseye as the baseimage because the sqlite library you guys are using in node wouldn't install on node-slim due to GCC issues, i couldn't manually install it by exec'ing in or anything. So finally after doing that, and restarting the app once or twice and copying the .env file, i was able to get it to make the sqlite db in the /data bind mount and then i have to restart again once or twice, and i was prompted with the happy path of creating a new admin user and all of tha t i still have no idea why no ones reported this issue before or why maybe it just happened to me, when i'm not doing anything special, just running the docker containers on an ubuntu host. the only two bind mounts i had were the config with those json files representing my dashboards, and the icons directorry, because there was no /data directory at this point prior to 0.14.0 AFAIK so it's not like i had some persistant corruption or anything

Did you find this page helpful?