try github alerts

This commit is contained in:
Christian Winther 2024-01-17 18:19:04 +00:00
parent a383233710
commit 033db841f4

View file

@ -44,7 +44,7 @@ The consequence of this change is that *all* data stored in the - now unsupporte
The new `.env` file for Docker is a bit different from the old one (many new settings!) so the easiest is to grab the new `.env.docker` file and modify it from scratch again. The new `.env` file for Docker is a bit different from the old one (many new settings!) so the easiest is to grab the new `.env.docker` file and modify it from scratch again.
```shell ```bash
$ cp .env .env.old $ cp .env .env.old
$ wget -O .env.new https://raw.githubusercontent.com/pixelfed/pixelfed/dev/.env.docker $ wget -O .env.new https://raw.githubusercontent.com/pixelfed/pixelfed/dev/.env.docker
``` ```
@ -78,7 +78,7 @@ This is a great time to review your settings and familiarize you with all the ne
Stop *all* running containers (web, worker, redis, db) Stop *all* running containers (web, worker, redis, db)
```shell ```bash
$ docker compose down $ docker compose down
``` ```
@ -86,17 +86,18 @@ $ docker compose down
Update your project to the latest release of Pixelfed by running Update your project to the latest release of Pixelfed by running
```shell ```bash
$ git pull origin $release $ git pull origin $release
``` ```
Where `$release` is either `dev`, `staging` or a [tagged release](https://github.com/pixelfed/pixelfed/releases) such as `v0.12.0`. > [!NOTE]
> The `$release` can be any valid git reference like `dev`, `staging` or a [tagged release](https://github.com/pixelfed/pixelfed/releases) such as `v0.12.0`.
#### Step 4. Run the migration container #### Step 4. Run the migration container
You can access the Docker container with both old and new volumes by running the following command You can access the Docker container with both old and new volumes by running the following command
```shell ```bash
$ docker compose -f docker-compose.migrate.yml run migrate bash $ docker compose -f docker-compose.migrate.yml run migrate bash
``` ```
@ -120,7 +121,7 @@ This will put you in the `/migrate` directory within the container, containing 8
The following commands should all return *SOME* files and data - if they do not - then there might be an issue with the anonymous volume binding. The following commands should all return *SOME* files and data - if they do not - then there might be an issue with the anonymous volume binding.
```shell ```bash
$ ls app-storage/old $ ls app-storage/old
$ ls db-data/old $ ls db-data/old
$ ls redis-data/old $ ls redis-data/old
@ -132,7 +133,7 @@ The following commands should all return *NO* files and data - if they contain d
If you haven't run `docker compose up` since you updated your project in step (2) - they should be empty and good to go. If you haven't run `docker compose up` since you updated your project in step (2) - they should be empty and good to go.
```shell ```bash
$ ls app-storage/new $ ls app-storage/new
$ ls db-data/new $ ls db-data/new
$ ls redis-data/new $ ls redis-data/new
@ -155,7 +156,7 @@ The migration container has [`rsync`](https://www.digitalocean.com/community/tut
Lets copy the data by running the following commands: Lets copy the data by running the following commands:
```shell ```bash
$ rsync -avP app-storage/old/ app-storage/new $ rsync -avP app-storage/old/ app-storage/new
$ rsync -avP db-data/old/ db-data/new $ rsync -avP db-data/old/ db-data/new
$ rsync -avP redis-data/old/ redis-data/new $ rsync -avP redis-data/old/ redis-data/new
@ -169,21 +170,21 @@ Each *new* directory should contain *something* like (but not always exactly) th
The **redis-data/new** directory might also contain a `server.pid` The **redis-data/new** directory might also contain a `server.pid`
```shell ```bash
$ ls redis-data/new $ ls redis-data/new
appendonlydir appendonlydir
``` ```
The **app-storage/new** directory should look *something* like this The **app-storage/new** directory should look *something* like this
```shell ```bash
$ ls app-storage/new $ ls app-storage/new
app debugbar docker framework logs oauth-private.key oauth-public.key purify app debugbar docker framework logs oauth-private.key oauth-public.key purify
``` ```
The **db-data/new** directory should look *something* like this. There might be a lot of files, or very few files, but there *must* be a `mysql`, `performance_schema`, and `${DB_DATABASE}` (e.g. `pixelfed_prod` directory) The **db-data/new** directory should look *something* like this. There might be a lot of files, or very few files, but there *must* be a `mysql`, `performance_schema`, and `${DB_DATABASE}` (e.g. `pixelfed_prod` directory)
```shell ```bash
$ ls db-data/new $ ls db-data/new
aria_log_control ddl_recovery-backup.log ib_buffer_pool ib_logfile0 ibdata1 mariadb_upgrade_info multi-master.info mysql performance_schema pixelfed_prod sys undo001 undo002 undo003 aria_log_control ddl_recovery-backup.log ib_buffer_pool ib_logfile0 ibdata1 mariadb_upgrade_info multi-master.info mysql performance_schema pixelfed_prod sys undo001 undo002 undo003
``` ```
@ -196,7 +197,7 @@ With all an updated Pixelfed (step 2), updated `.env` file (step 3), migrated da
But before we start your Pixelfed server back up again, lets put the new `.env` file we made in step 1 in its right place. But before we start your Pixelfed server back up again, lets put the new `.env` file we made in step 1 in its right place.
```shell ```bash
$ cp .env.new .env $ cp .env.new .env
``` ```
@ -204,7 +205,7 @@ $ cp .env.new .env
First thing we want to try is to start up the database by running the following command and checking the logs First thing we want to try is to start up the database by running the following command and checking the logs
```shell ```bash
$ docker compose up -d db $ docker compose up -d db
$ docker compose logs --tail 250 --follow db $ docker compose logs --tail 250 --follow db
``` ```
@ -215,7 +216,7 @@ if there are no errors and the server isn't crashing, great! If you have an easy
Next thing we want to try is to start up the Redis server by running the following command and checking the logs Next thing we want to try is to start up the Redis server by running the following command and checking the logs
```shell ```bash
$ docker compose up -d redis $ docker compose up -d redis
$ docker compose logs --tail 250 --follow redis $ docker compose logs --tail 250 --follow redis
``` ```
@ -226,7 +227,7 @@ if there are no errors and the server isn't crashing, great!
Next thing we want to try is to start up the Worker server by running the following command and checking the logs Next thing we want to try is to start up the Worker server by running the following command and checking the logs
```shell ```bash
$ docker compose up -d worker $ docker compose up -d worker
$ docker compose logs --tail 250 --follow worker $ docker compose logs --tail 250 --follow worker
``` ```
@ -252,7 +253,7 @@ The final service, `web`, which will bring your site back online! What a journey
Lets get to it, run these commands to start the `web` service and inspect the logs. Lets get to it, run these commands to start the `web` service and inspect the logs.
```shell ```bash
$ docker compose up -d web $ docker compose up -d web
$ docker compose logs --tail 250 --follow web $ docker compose logs --tail 250 --follow web
``` ```
@ -261,7 +262,7 @@ The output should be pretty much identical to that of the `worker`, so please se
If the `web` service came online without issues, start the rest of the (optional) services, such as the `proxy`, if enabled, by running If the `web` service came online without issues, start the rest of the (optional) services, such as the `proxy`, if enabled, by running
```shell ```bash
$ docker compose up -d $ docker compose up -d
$ docker compose logs --tail 250 --follow $ docker compose logs --tail 250 --follow
``` ```
@ -288,7 +289,7 @@ Now, with all the data in the new folders, you can delete the old Docker Contain
List all volumes, and give them a look: List all volumes, and give them a look:
```shell ```bash
$ docker volume ls $ docker volume ls
``` ```
@ -296,13 +297,13 @@ The volumes we want to delete *ends* with the volume name (`db-data`, `app-stora
Once you have found the volumes in in the list, delete each of them by running: Once you have found the volumes in in the list, delete each of them by running:
```shell ```bash
$ docker volume rm $volume_name_in_column_two_of_the_output $ docker volume rm $volume_name_in_column_two_of_the_output
``` ```
You can also delete the `docker-compose.yml.old` and `.env.old` file since they are no longer needed You can also delete the `docker-compose.yml.old` and `.env.old` file since they are no longer needed
```shell ```bash
$ rm docker-compose.yml.old $ rm docker-compose.yml.old
$ rm .env.old $ rm .env.old
``` ```
@ -313,26 +314,26 @@ Oh no, something went wrong? No worries, we you got backups and a quick way back
#### Move `docker-compose.yml` back #### Move `docker-compose.yml` back
```shell ```bash
$ cp docker-compose.yml docker-compose.yml.new $ cp docker-compose.yml docker-compose.yml.new
$ cp docker-compose.yml.old docker-compose.yml $ cp docker-compose.yml.old docker-compose.yml
``` ```
#### Move `.env` file back #### Move `.env` file back
```shell ```bash
$ cp env.old .env $ cp env.old .env
``` ```
#### Go back to old source code version #### Go back to old source code version
```shell ```bash
$ git checkout $commit_id_from_step_0 $ git checkout $commit_id_from_step_0
``` ```
#### Start things back up #### Start things back up
```shell ```bash
docker compose up -d docker compose up -d
``` ```