Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/eduhdev12/coolify-migrator

Coolify migration solution from v3 to v4
https://github.com/eduhdev12/coolify-migrator

laravel mysql nextjs nodejs postgres postgresql selfhost wordpress

Last synced: 28 days ago
JSON representation

Coolify migration solution from v3 to v4

Awesome Lists containing this project

README

        

# Coolify Migrator

This project aims to help users who have left their data on version [**Coolify**](https://coolify.io) `v3` to migrate to version `v4`

> [!NOTE]
> Tested and working with Coolify `4.0.0-beta.340`

> [!IMPORTANT]
> This project is not affiliated with the Coolify project and author!

> [!CAUTION]
> We assume no responsibility for errors or erroneous data transmitted during migration. You are 100% responsible that the migration may fail or that you may lose data.

# Migrations supported:

- [ ] **Sources**

- [x] **GitHub**
- Source
- Private keys
- [ ] GitLab

- [ ] **Databases**

- [x] PostgreSQL
- Container
- Volume data migration from dump
- [x] MySQL
- Container
- Volume data migration from dump
- [ ] MongoDB _(not really planned)_
- [ ] MariaDB _(not really planned)_
- [ ] CouchDB _(not really planned)_
- [ ] EdgeDB _(not really planned)_

- [x] **Applications**

- [x] Deployment
- [x] Secrets
- [x] Persistent Volumes

> [!IMPORTANT]
> Services cannot be migrated and transferred directly, due to the architecture difference between the 2 versions. We currently offer a dump transfer (volumes + databases) from where you can manually import

- [ ] **Services**

- [x] Wordpress + MySQL

# How to run it:

Before migration, you need to make sure the application/service/database is `running`

1. Complete `.env` with the server connection variables

2. Import `v3` database:

```
yarn import:db
```

3. Install the proxy on `v4` server:

```
yarn proxy
```

4. Complete your env file with the printed values from proxy installation (`V3_SECRET_KEY`, `V4_SECRET_KEY`, `V4_DATABASE`)

5. Start the migration interface:

```
yarn start
```

Also, make sure to create your own API key with `All (root/admin access), be careful!` permissions in your `v4` instance!

After migration you can run `docker compose down` in `~/v4-proxy` to disable the production database proxy.

**Feel free to contact for any support on discord: `@eduh`**

## License

This project is licensed under the [MIT License](LICENSE).