These are our docs on backups: https://appwrite.io/docs/production#backups
in the docker-compose.yml file, I changed the path of the volumes
and pointed it to the "Backup_Latest" folder. I got this "Backup_Latest" folder from someone else. so he suggested I do it like this and everything will be good (everything was good. but we were on 1.2.1 back then)
Holy moly
did I mess everything up?
The more custom/non-standard stuff you do, the more complicated things get and the harder to maintain. Especially if you don't understand how things work
what should i do now
im not really sure. don't run the upgrade commands from the upgrade docs
would you please share your docker-compose.yml file?
when did you do this?
DMed you
maybe last month
before upgrading? You probably lost your data when you did this, right?
yes. my docker crashed (at least I thought). so I reinstalled everything back then and got the "backup" files from that guy
ok...anyways...since you have a modified docker-compose.yml file, you won't be able to run the appwrite upgrade command anymore and you'll have to manually upgrade by comparing your docker-compose.yml file with https://appwrite.io/install/compose and your .env file with https://appwrite.io/install/env. Going forward, be careful with that Backup_Latest folder. All your database data is in there. After you manually update the files, run docker compose up -d --remove-orphans --renew-anon-volumes
to recreate the containers with the new version. Finally, run the migrate command https://appwrite.io/docs/upgrade#migration as needed.
instead of doing that, can we just re-edit docker-compose.yml file and make it as it was (cuz I only edited the volumes
and appwrite version) and then follow the backup procedure from the doc?
all your data is in that Backup_Latest now. If you change the mariadb service back to:
mariadb:
image: mariadb:10.7 # fix issues when upgrading using: mysql_upgrade -u root -p
container_name: appwrite-mariadb
<<: *x-logging
restart: unless-stopped
networks:
- appwrite
volumes:
- appwrite-mariadb:/var/lib/mysql:rw
you'll lose data because the container will be looking at a different spot for the data
then how about installing the latest version anyways, and then again changing the volume
path to Backup_Latest folder? will this work? cuz comparing and changing the whole yml and env file will be enough tedious
you mean running the install/upgrade command?
running only the install command. not the upgrade. cuz running only the install is similar to installing appwrite for the first time I think. so if I install it and then change the volume
path to Backup_Latest, will it work?
Please note here that Backup_Latest is from the older version
the install command is the same as the upgrade command
the install/upgrade command will give you the same file as the compose file i linked except with the ports from your previous file
if I delete my appwrite container, and then reinstall it by this attached command, it'll be similar to installing it for the first time. isn't it? and after installing that, if I change the volume
path to Backup_Latest? will it work? cuz I did the same thing last time. and it worked.
the only difference is, last time both Backup_Latest and my newly installed appwrite were from the same version. 1.2.1
. but this time, Backup_Latest will be from 1.2.1
, but appwrite will be from 1.3.1
. that's what I'm afraid of mainly
maybe 🤷🏼♂️ . you may end up with an extra volume because the install command will install and spin up appwrite
is there any chance for this to show errors because we're connecting two parts from different versions?
im not sure
Recommended threads
- delete document problems
i don't know what's going on but i get an attribute "tournamentid" not found in the collection when i try to delet the document... but this is just the document...
- Attributes Confusion
```import 'package:appwrite/models.dart'; class OrdersModel { String id, email, name, phone, status, user_id, address; int discount, total, created_at; L...
- Update User Error
```ts const { users, databases } = await createAdminClient(); const session = await getLoggedInUser(); const user = await users.get(session.$id); if (!use...