plane icon indicating copy to clipboard operation
plane copied to clipboard

[bug]: Lost Issues Content After Reinstalling Makeplane

Open umlumpa opened this issue 1 year ago • 6 comments

Is there an existing issue for this?

  • [x] I have searched the existing issues

Current behavior

I encountered an issue after reinstalling Makeplane. The issues content seems to be lost. I would like to understand why this happened and how it can be resolved.

Steps to reproduce

Problem: Lost Issues Content After Reinstalling Makeplane

Description

Hello, team! I encountered an issue after reinstalling Makeplane. The issues content seems to be lost. I would like to understand why this happened and how it can be resolved.

Details

  • MinIO: External
  • Postgres: External

Steps to Reproduce

  1. Reinstall Makeplane.
  2. Observe that the issues content is missing.

Expected Behavior

The issues content should persist after reinstalling Makeplane, especially since MinIO and Postgres are configured as external.

Actual Behavior

The issues content is lost after the reinstall.

Additional Context

  • Is there any additional configuration required to ensure data persistence with external MinIO and Postgres?
  • Can you provide guidance or steps to recover the lost data?

Looking forward to your support! Thank you.

Environment

Production

Browser

Google Chrome

Variant

Self-hosted

Version

0.24.0

umlumpa avatar Jan 24 '25 11:01 umlumpa

I can't confirm your issue. I recently "reinstalled" plane, and my database was not really external, was just created as a volume on Docker Compose. The persistance worked just fine. Can you really provide the full steps to reproduce your issue?

On top of that, of course that the lost data is your responsibility and only yours. Plane team won't help you recover the data, since it's simply a Postgres external database. Did you take your backups? If not, you're on your own.

lucasff avatar Jan 28 '25 14:01 lucasff

Hey @umlumpa, we couldn't reproduce this issue on our end. Could you please share the steps you followed to reinstall Plane?

Also, since you're using an external Postgres and Minio, please double-check that you provided the correct database and Minio URLs during the reinstallation.

akshat5302 avatar Jan 30 '25 10:01 akshat5302

I have also had the same bug twice. But in the pages and not in the issues themselves. The version history is also no longer visible there. Here is my config:

Here is my config
services:
  redis:
    image: redis:7
    container_name: Plane-REDIS
    hostname: plane-redis
    mem_limit: 256m
    mem_reservation: 50m
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    read_only: true
    user: 1026:100
    healthcheck:
      test: ["CMD-SHELL", "redis-cli ping || exit 1"]
    volumes:
      - /volume1/docker/plane/redis:/data:rw
    env_file:
      - stack.env
    environment:
      TZ: Europe/Zurich
    restart: on-failure:5

  db:
    image: postgres:17
    command: postgres -c 'max_connections=1000'
    container_name: Plane-DB
    hostname: plane-db
    mem_limit: 1g
    cpu_shares: 768
    env_file:
      - stack.env
    security_opt:
      - no-new-privileges:true
    healthcheck:
      test: ["CMD", "pg_isready", "-q", "-d", "plane", "-U", "planeuser"]
      timeout: 45s
      interval: 10s
      retries: 10
    volumes:
      - /volume1/docker/plane/db:/var/lib/postgresql/data:rw
    environment:
      POSTGRES_DB: plane
      POSTGRES_USER: planeuser
      POSTGRES_PASSWORD: planepass
    restart: on-failure:5
  
  plane-mq:
    image: rabbitmq:3.13.6-management-alpine
    container_name: Plane-RABBITMQ
    restart: on-failure:5
    env_file:
      - stack.env
    volumes:
      - /volume1/docker/plane/rabbitmq:/var/lib/rabbitmq:rw
    environment:
      RABBITMQ_HOST: plane-mq
      RABBITMQ_PORT: 5672
      RABBITMQ_DEFAULT_USER: plane
      RABBITMQ_DEFAULT_PASS: plane
      RABBITMQ_DEFAULT_VHOST: plane
      RABBITMQ_VHOST: plane
      AMQP_URL: amqp://plane:plane@plane-mq:5672/plane

  minio:
    image: minio/minio:latest
    command: server /export --console-address ":9090"
    container_name: Plane-MINIO
    hostname: plane-minio
    mem_limit: 6g
    env_file:
      - stack.env
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    environment:
      MINIO_ROOT_USER: "mtwn8jowvy3jm4dpusvuwrhgpm5jix58"
      MINIO_ROOT_PASSWORD: "8t8c2n6jduy8biny8weuha5wi9wxob6i"
    healthcheck:
      test: ["CMD", "mc", "ready", "local"]
      interval: 5s
      timeout: 5s
      retries: 5
    volumes:
      - /volume1/docker/plane/uploads:/export:rw
    restart: on-failure:5

  back:
    image: makeplane/plane-backend:stable
    command: ./bin/docker-entrypoint-api.sh
    container_name: Plane-BACK
    hostname: api
    mem_limit: 6g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://api:8000
    env_file:
      - stack.env
    restart: on-failure:5
    depends_on:
      redis:
        condition: service_healthy
      db:
        condition: service_healthy

  worker:
    image: makeplane/plane-backend:stable
    command: ./bin/docker-entrypoint-worker.sh
    container_name: Plane-WORKER
    hostname: worker
    mem_limit: 6g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    env_file:
      - stack.env
    restart: on-failure:5
    depends_on:
      redis:
        condition: service_healthy
      db:
        condition: service_healthy
      back:
        condition: service_started
      plane-mq:
        condition: service_started
        
  beat:
    image: makeplane/plane-backend:stable
    command: ./bin/docker-entrypoint-beat.sh
    container_name: Plane-BEAT
    hostname: beat-worker
    mem_limit: 6g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    env_file:
      - stack.env
    restart: on-failure:5
    depends_on:
      redis:
        condition: service_healthy
      db:
        condition: service_healthy
      back:
        condition: service_started
      plane-mq:
        condition: service_started

  migrator:
    image: makeplane/plane-backend:stable
    container_name: Plane-MIGRATOR
    restart: no
    env_file:
      - stack.env
    command: ./bin/docker-entrypoint-migrator.sh
    depends_on:
      db:
       condition: service_healthy
      redis:
       condition: service_healthy
      plane-mq:
       condition: service_started

  front:
    image: makeplane/plane-frontend:stable
    command: node web/server.js web
    container_name: Plane-FRONT
    hostname: web
    mem_limit: 6g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    healthcheck:
      test: wget --no-verbose --tries=1 --spider http://web:3000
    env_file:
      - stack.env
    restart: on-failure:5
    depends_on:      
      back:
        condition: service_started
      worker:
        condition: service_started

  space:
    image: makeplane/plane-space:stable
    command: node space/server.js space
    container_name: Plane-SPACE
    hostname: plane-space
    mem_limit: 2g
    cpu_shares: 768
    security_opt:
      - no-new-privileges:true
    user: 1026:100
    env_file:
      - stack.env
    restart: on-failure:5
    depends_on:      
      back:
        condition: service_started
      worker:
        condition: service_started
      front:
        condition: service_healthy

  admin:
    image: makeplane/plane-admin:stable
    container_name: Plane-ADMIN
    command: node admin/server.js admin
    restart: on-failure:5
    env_file:
      - stack.env
    depends_on:
      - back
      - front
      
  live:
    image: makeplane/plane-live:stable
    container_name: Plane-LIVE
    restart: on-failure:5
    command: node live/dist/server.js live
    env_file:
      - stack.env
    depends_on:
      - back
      - front

  proxy:
    image: makeplane/plane-proxy:stable
    container_name: Plane-PROXY
    hostname: planeproxy
    mem_limit: 1g
    cpu_shares: 768
  #  user: 1026:100
    security_opt:
      - no-new-privileges:true
    ports:
      - 3356:8080
    env_file:
      - stack.env
    volumes:
      - /volume1/docker/plane/nginx:/etc/nginx:rw
      - /volume1/docker/plane/nginx/cache:/var/cache/nginx:rw
      - /volume1/docker/plane/nginx/run:/var/run/nginx:rw
    depends_on:      
      back:
        condition: service_started
      front:
        condition: service_healthy
      space:
        condition: service_started

For reproduction:

show Migration Log
Date Stream Content
2025/02/03 19:51:55 stdout No migrations to apply.
2025/02/03 19:51:55 stdout Running migrations:
2025/02/03 19:51:55 stdout Apply all migrations: auth, contenttypes, db, django_celery_beat, license, sessions
2025/02/03 19:51:55 stdout Operations to perform:
2025/02/03 19:51:48 stdout Database available!
2025/02/03 19:51:48 stdout Waiting for database...
2025/01/10 16:56:03 stdout No migrations to apply.
2025/01/10 16:56:03 stdout Running migrations:
2025/01/10 16:56:02 stdout Apply all migrations: auth, contenttypes, db, django_celery_beat, license, sessions
2025/01/10 16:56:02 stdout Operations to perform:
2025/01/10 16:55:51 stdout Database available!
2025/01/10 16:55:51 stdout Waiting for database...
2024/12/30 12:18:25 stdout Applying sessions.0001_initial... OK
2024/12/30 12:18:25 stdout Applying license.0005_rename_product_instance_edition_and_more... OK
2024/12/30 12:18:24 stdout Applying license.0004_changelog_deleted_at_instance_deleted_at_and_more... OK
2024/12/30 12:18:23 stdout Applying license.0003_alter_changelog_title_alter_changelog_version_and_more... OK
2024/12/30 12:18:22 stdout Applying license.0002_rename_version_instance_current_version_and_more... OK
2024/12/30 12:18:21 stdout Applying license.0001_initial... OK
2024/12/30 12:18:21 stdout Applying django_celery_beat.0018_improve_crontab_helptext... OK
2024/12/30 12:18:21 stdout Applying django_celery_beat.0017_alter_crontabschedule_month_of_year... OK
2024/12/30 12:18:21 stdout Applying django_celery_beat.0016_alter_crontabschedule_timezone... OK
2024/12/30 12:18:21 stdout Applying django_celery_beat.0015_edit_solarschedule_events_choices... OK
2024/12/30 12:18:21 stdout Applying django_celery_beat.0014_remove_clockedschedule_enabled... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0013_auto_20200609_0727... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0012_periodictask_expire_seconds... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0011_auto_20190508_0153... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0010_auto_20190429_0326... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0009_periodictask_headers... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0006_periodictask_priority... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0006_auto_20180210_1226... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0008_auto_20180914_1922... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0007_auto_20180521_0826... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0006_auto_20180322_0932... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0005_add_solarschedule_events_choices... OK
2024/12/30 12:18:20 stdout Applying django_celery_beat.0004_auto_20170221_0000... OK
2024/12/30 12:18:19 stdout Applying django_celery_beat.0003_auto_20161209_0049... OK
2024/12/30 12:18:19 stdout Applying django_celery_beat.0002_auto_20161118_0346... OK
2024/12/30 12:18:19 stdout Applying django_celery_beat.0001_initial... OK
2024/12/30 12:18:19 stdout Applying db.0086_issueversion_alter_teampage_unique_together_and_more... OK
2024/12/30 12:18:17 stdout Applying db.0085_intake_intakeissue_remove_inboxissue_created_by_and_more... OK
2024/12/30 12:18:14 stdout Applying db.0084_remove_label_label_unique_name_project_when_deleted_at_null_and_more... OK
2024/12/30 12:18:12 stdout Applying db.0083_device_workspace_timezone_and_more... OK
2024/12/30 12:18:11 stdout Applying db.0082_alter_issue_managers_alter_cycleissue_issue_and_more... OK
2024/12/30 12:18:10 stdout Applying db.0081_remove_globalview_created_by_and_more... OK
2024/12/30 12:18:04 stdout Applying db.0080_fileasset_draft_issue_alter_fileasset_entity_type... OK
2024/12/30 12:18:03 stdout Applying db.0079_auto_20241009_0619... OK
2024/12/30 12:18:03 stdout Applying db.0078_fileasset_comment_fileasset_entity_type_and_more... OK
2024/12/30 12:18:00 stdout Applying db.0077_draftissue_cycle_user_timezone_project_user_timezone_and_more... OK
2024/12/30 12:17:56 stdout Applying db.0076_alter_projectmember_role_and_more... OK
2024/12/30 12:17:55 stdout Applying db.0075_alter_fileasset_asset... OK
2024/12/30 12:17:55 stdout Applying db.0074_deploy_board_and_project_issues... OK
2024/12/30 12:17:51 stdout Applying db.0073_alter_commentreaction_unique_together_and_more... OK
2024/12/30 12:17:26 stdout Applying db.0072_issueattachment_external_id_and_more... OK
2024/12/30 12:17:25 stdout Applying db.0071_rename_issueproperty_issueuserproperty_and_more... OK
2024/12/30 12:17:24 stdout Applying db.0070_apitoken_is_service_exporterhistory_filters_and_more... OK
2024/12/30 12:17:23 stdout Applying db.0069_alter_account_provider_and_more... OK
2024/12/30 12:17:22 stdout Applying db.0068_remove_pagelabel_project_remove_pagelog_project_and_more... OK
2024/12/30 12:17:20 stdout Applying db.0067_issue_estimate... OK
2024/12/30 12:17:19 stdout Applying db.0066_account_id_token_cycle_logo_props_module_logo_props... OK
2024/12/30 12:17:18 stdout Applying db.0065_auto_20240415_0937... OK
2024/12/30 12:17:14 stdout Applying db.0064_auto_20240409_1134... OK
2024/12/30 12:17:14 stdout Applying db.0063_state_is_triage_alter_state_group... OK
2024/12/30 12:17:14 stdout Applying db.0062_cycle_archived_at_module_archived_at_and_more... OK
2024/12/30 12:17:13 stdout Applying db.0061_project_logo_props... OK
2024/12/30 12:17:13 stdout Applying db.0060_cycle_progress_snapshot... OK
2024/12/30 12:17:13 stdout Applying db.0059_auto_20240208_0957... OK
2024/12/30 12:17:13 stdout Applying db.0058_alter_moduleissue_issue_and_more... OK
2024/12/30 12:17:12 stdout Applying db.0057_auto_20240122_0901... OK
2024/12/30 12:17:12 stdout Applying db.0056_usernotificationpreference_emailnotificationlog... OK
2024/12/30 12:17:11 stdout Applying db.0055_auto_20240108_0648... OK
2024/12/30 12:17:11 stdout Applying db.0054_dashboard_widget_dashboardwidget... OK
2024/12/30 12:17:11 stdout Applying db.0053_auto_20240102_1315... OK
2024/12/30 12:17:10 stdout Applying db.0052_auto_20231220_1141... OK
2024/12/30 12:17:09 stdout Applying db.0051_cycle_external_id_cycle_external_source_and_more... OK
2024/12/30 12:17:07 stdout Applying db.0050_user_use_case_alter_workspace_organization_size... OK
2024/12/30 12:17:07 stdout Applying db.0049_auto_20231116_0713... OK
2024/12/30 12:17:07 stdout Applying db.0048_auto_20231116_0713... OK
2024/12/30 12:17:06 stdout Applying db.0047_webhook_apitoken_description_apitoken_expired_at_and_more... OK
2024/12/30 12:17:05 stdout Applying db.0046_label_sort_order_alter_analyticview_created_by_and_more... OK
2024/12/30 12:16:45 stdout Applying db.0045_issueactivity_epoch_workspacemember_issue_props_and_more... OK
2024/12/30 12:16:45 stdout Applying db.0044_auto_20230913_0709... OK
2024/12/30 12:16:44 stdout Applying db.0043_alter_analyticview_created_by_and_more... OK
2024/12/30 12:16:44 stdout Applying db.0042_alter_analyticview_created_by_and_more... OK
2024/12/30 12:16:43 stdout Applying db.0041_cycle_sort_order_issuecomment_access_and_more... OK
2024/12/30 12:16:42 stdout Applying db.0040_projectmember_preferences_user_cover_image_and_more... OK
2024/12/30 12:16:41 stdout Applying db.0039_auto_20230723_2203... OK
2024/12/30 12:16:40 stdout Applying db.0038_auto_20230720_1505... OK
2024/12/30 12:16:40 stdout Applying db.0037_issue_archived_at_project_archive_in_and_more... OK
2024/12/30 12:16:39 stdout Applying db.0036_alter_workspace_organization_size... OK
2024/12/30 12:16:39 stdout Applying db.0035_auto_20230704_2225... OK
2024/12/30 12:16:38 stdout Applying db.0034_auto_20230628_1046... OK
2024/12/30 12:16:38 stdout Applying db.0033_auto_20230618_2125... OK
2024/12/30 12:16:37 stdout Applying db.0032_auto_20230520_2015... OK
2024/12/30 12:16:37 stdout Applying db.0031_analyticview... OK
2024/12/30 12:16:37 stdout Applying db.0030_alter_estimatepoint_unique_together... OK
2024/12/30 12:16:36 stdout Applying db.0029_auto_20230502_0126... OK
2024/12/30 12:16:36 stdout Applying db.0028_auto_20230414_1703... OK
2024/12/30 12:16:36 stdout Applying db.0027_auto_20230409_0312... OK
2024/12/30 12:16:35 stdout Applying db.0026_alter_projectmember_view_props... OK
2024/12/30 12:16:35 stdout Applying db.0025_auto_20230331_0203... OK
2024/12/30 12:16:34 stdout Applying db.0024_auto_20230322_0138... OK
2024/12/30 12:16:34 stdout Applying db.0023_auto_20230316_0040... OK
2024/12/30 12:16:33 stdout Applying db.0022_auto_20230307_0304... OK
2024/12/30 12:16:33 stdout Applying db.0021_auto_20230223_0104... OK
2024/12/30 12:16:32 stdout Applying db.0020_auto_20230214_0118... OK
2024/12/30 12:16:31 stdout Applying db.0019_auto_20230131_0049... OK
2024/12/30 12:16:31 stdout Applying db.0018_auto_20230130_0119... OK
2024/12/30 12:16:31 stdout Applying db.0017_alter_workspace_unique_together... OK
2024/12/30 12:16:31 stdout Applying db.0016_auto_20230107_1735... OK
2024/12/30 12:16:30 stdout Applying db.0015_auto_20230107_1636... OK
2024/12/30 12:16:30 stdout Applying db.0014_alter_workspacememberinvite_unique_together... OK
2024/12/30 12:16:30 stdout Applying db.0013_auto_20230107_0041... OK
2024/12/30 12:16:30 stdout Applying db.0012_auto_20230104_0117... OK
2024/12/30 12:16:28 stdout Applying db.0011_auto_20221222_2357... OK
2024/12/30 12:16:27 stdout Applying db.0010_auto_20221213_0037... OK
2024/12/30 12:16:27 stdout Applying db.0009_auto_20221208_0310... OK
2024/12/30 12:16:27 stdout Applying db.0008_label_colour... OK
2024/12/30 12:16:27 stdout Applying db.0007_label_parent... OK
2024/12/30 12:16:27 stdout Applying db.0006_alter_cycle_status... OK
2024/12/30 12:16:27 stdout Applying db.0005_auto_20221114_2127... OK
2024/12/30 12:16:27 stdout Applying db.0004_alter_state_sequence... OK
2024/12/30 12:16:27 stdout Applying db.0003_auto_20221109_2320... OK
2024/12/30 12:16:27 stdout Applying db.0002_auto_20221104_2239... OK
2024/12/30 12:16:26 stdout Applying db.0001_initial... OK
2024/12/30 12:16:24 stdout Applying auth.0012_alter_user_first_name_max_length... OK
2024/12/30 12:16:24 stdout Applying auth.0011_update_proxy_permissions... OK
2024/12/30 12:16:24 stdout Applying auth.0010_alter_group_name_max_length... OK
2024/12/30 12:16:24 stdout Applying auth.0009_alter_user_last_name_max_length... OK
2024/12/30 12:16:24 stdout Applying auth.0008_alter_user_username_max_length... OK
2024/12/30 12:16:24 stdout Applying auth.0007_alter_validators_add_error_messages... OK
2024/12/30 12:16:24 stdout Applying auth.0006_require_contenttypes_0002... OK
2024/12/30 12:16:24 stdout Applying auth.0005_alter_user_last_login_null... OK
2024/12/30 12:16:24 stdout Applying auth.0004_alter_user_username_opts... OK
2024/12/30 12:16:24 stdout Applying auth.0003_alter_user_email_max_length... OK
2024/12/30 12:16:24 stdout Applying auth.0002_alter_permission_name_max_length... OK
2024/12/30 12:16:24 stdout Applying auth.0001_initial... OK
2024/12/30 12:16:23 stdout Applying contenttypes.0002_remove_content_type_name... OK
2024/12/30 12:16:23 stdout Applying contenttypes.0001_initial... OK
2024/12/30 12:16:23 stdout Running migrations:
2024/12/30 12:16:23 stdout Apply all migrations: auth, contenttypes, db, django_celery_beat, license, sessions
2024/12/30 12:16:23 stdout Operations to perform:
2024/12/30 12:16:13 stdout Database available!
2024/12/30 12:16:13 stdout Waiting for database...
show Plane-MINIO logs
date stream content
2025/02/03 20:25:08 stderr operation: spec.Operation{VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, OperationProps:spec.OperationProps{Description:"", Consumes:[]string(nil), Produces:[]string(nil), Schemes:[]string(nil), Tags:[]string{"Policy"}, Summary:"Remove policy", ExternalDocs:(*spec.ExternalDocumentation)(nil), ID:"RemovePolicy", Deprecated:false, Security:[]map[string][]string(nil), Parameters:[]spec.Parameter{spec.Parameter{Refable:spec.Refable{Ref:spec.Ref{Ref:jsonreference.Ref{referenceURL:(*url.URL)(nil), referencePointer:jsonpointer.Pointer{referenceTokens:[]string(nil)}, HasFullURL:false, HasURLPathOnly:false, HasFragmentOnly:false, HasFileScheme:false, HasFullFilePath:false}}}, CommonValidations:spec.CommonValidations{Maximum:(*float64)(nil), ExclusiveMaximum:false, Minimum:(*float64)(nil), ExclusiveMinimum:false, MaxLength:(*int64)(nil), MinLength:(*int64)(nil), Pattern:"", MaxItems:(*int64)(nil), MinItems:(*int64)(nil), UniqueItems:false, MultipleOf:(*float64)(nil), Enum:[]interface {}(nil)}, SimpleSchema:spec.SimpleSchema{Type:"string", Nullable:false, Format:"", Items:(*spec.Items)(nil), CollectionFormat:"", Default:interface {}(nil), Example:interface {}(nil)}, VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, ParamProps:spec.ParamProps{Description:"", Name:"name", In:"path", Required:true, Schema:(*spec.Schema)(nil), AllowEmptyValue:false}}}, Responses:(*spec.Responses)(0xc001169290)}
2025/02/03 20:25:08 stderr adding route DELETE /api/v1/policy/{name} "RemovePolicy"
2025/02/03 20:25:08 stderr operation: spec.Operation{VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, OperationProps:spec.OperationProps{Description:"", Consumes:[]string(nil), Produces:[]string(nil), Schemes:[]string(nil), Tags:[]string{"Group"}, Summary:"Remove group", ExternalDocs:(*spec.ExternalDocumentation)(nil), ID:"RemoveGroup", Deprecated:false, Security:[]map[string][]string(nil), Parameters:[]spec.Parameter{spec.Parameter{Refable:spec.Refable{Ref:spec.Ref{Ref:jsonreference.Ref{referenceURL:(*url.URL)(nil), referencePointer:jsonpointer.Pointer{referenceTokens:[]string(nil)}, HasFullURL:false, HasURLPathOnly:false, HasFragmentOnly:false, HasFileScheme:false, HasFullFilePath:false}}}, CommonValidations:spec.CommonValidations{Maximum:(*float64)(nil), ExclusiveMaximum:false, Minimum:(*float64)(nil), ExclusiveMinimum:false, MaxLength:(*int64)(nil), MinLength:(*int64)(nil), Pattern:"", MaxItems:(*int64)(nil), MinItems:(*int64)(nil), UniqueItems:false, MultipleOf:(*float64)(nil), Enum:[]interface {}(nil)}, SimpleSchema:spec.SimpleSchema{Type:"string", Nullable:false, Format:"", Items:(*spec.Items)(nil), CollectionFormat:"", Default:interface {}(nil), Example:interface {}(nil)}, VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, ParamProps:spec.ParamProps{Description:"", Name:"name", In:"path", Required:true, Schema:(*spec.Schema)(nil), AllowEmptyValue:false}}}, Responses:(*spec.Responses)(0xc00ca60330)}
2025/02/03 20:25:08 stderr adding route DELETE /api/v1/idp/{type}/{name} "DeleteConfiguration"
2025/02/03 20:25:08 stderr operation: spec.Operation{VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, OperationProps:spec.OperationProps{Description:"", Consumes:[]string(nil), Produces:[]string(nil), Schemes:[]string(nil), Tags:[]string{"ServiceAccount"}, Summary:"Delete Service Account", ExternalDocs:(*spec.ExternalDocumentation)(nil), ID:"DeleteServiceAccount", Deprecated:false, Security:[]map[string][]string(nil), Parameters:[]spec.Parameter{spec.Parameter{Refable:spec.Refable{Ref:spec.Ref{Ref:jsonreference.Ref{referenceURL:(*url.URL)(nil), referencePointer:jsonpointer.Pointer{referenceTokens:[]string(nil)}, HasFullURL:false, HasURLPathOnly:false, HasFragmentOnly:false, HasFileScheme:false, HasFullFilePath:false}}}, CommonValidations:spec.CommonValidations{Maximum:(*float64)(nil), ExclusiveMaximum:false, Minimum:(*float64)(nil), ExclusiveMinimum:false, MaxLength:(*int64)(nil), MinLength:(*int64)(nil), Pattern:"", MaxItems:(*int64)(nil), MinItems:(*int64)(nil), UniqueItems:false, MultipleOf:(*float64)(nil), Enum:[]interface {}(nil)}, SimpleSchema:spec.SimpleSchema{Type:"string", Nullable:false, Format:"", Items:(*spec.Items)(nil), CollectionFormat:"", Default:interface {}(nil), Example:interface {}(nil)}, VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, ParamProps:spec.ParamProps{Description:"", Name:"access_key", In:"path", Required:true, Schema:(*spec.Schema)(nil), AllowEmptyValue:false}}}, Responses:(*spec.Responses)(0xc00ca618c0)}
2025/02/03 20:25:08 stderr adding route DELETE /api/v1/remote-buckets/{source-bucket-name}/{arn} "DeleteRemoteBucket"
2025/02/03 20:25:08 stderr operation: spec.Operation{VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, OperationProps:spec.OperationProps{Description:"", Consumes:[]string(nil), Produces:[]string(nil), Schemes:[]string(nil), Tags:[]string{"Bucket"}, Summary:"Delete Access Rule From Given Bucket", ExternalDocs:(*spec.ExternalDocumentation)(nil), ID:"DeleteAccessRuleWithBucket", Deprecated:false, Security:[]map[string][]string(nil), Parameters:[]spec.Parameter{spec.Parameter{Refable:spec.Refable{Ref:spec.Ref{Ref:jsonreference.Ref{referenceURL:(*url.URL)(nil), referencePointer:jsonpointer.Pointer{referenceTokens:[]string(nil)}, HasFullURL:false, HasURLPathOnly:false, HasFragmentOnly:false, HasFileScheme:false, HasFullFilePath:false}}}, CommonValidations:spec.CommonValidations{Maximum:(*float64)(nil), ExclusiveMaximum:false, Minimum:(*float64)(nil), ExclusiveMinimum:false, MaxLength:(*int64)(nil), MinLength:(*int64)(nil), Pattern:"", MaxItems:(*int64)(nil), MinItems:(*int64)(nil), UniqueItems:false, MultipleOf:(*float64)(nil), Enum:[]interface {}(nil)}, SimpleSchema:spec.SimpleSchema{Type:"", Nullable:false, Format:"", Items:(*spec.Items)(nil), CollectionFormat:"", Default:interface {}(nil), Example:interface {}(nil)}, VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, ParamProps:spec.ParamProps{Description:"", Name:"bucket", In:"path", Required:true, Schema:(*spec.Schema)(nil), AllowEmptyValue:false}}, spec.Parameter{Refable:spec.Refable{Ref:spec.Ref{Ref:jsonreference.Ref{referenceURL:(*url.URL)(nil), referencePointer:jsonpointer.Pointer{referenceTokens:[]string(nil)}, HasFullURL:false, HasURLPathOnly:false, HasFragmentOnly:false, HasFileScheme:false, HasFullFilePath:false}}}, CommonValidations:spec.CommonValidations{Maximum:(*float64)(nil), ExclusiveMaximum:false, Minimum:(*float64)(nil), ExclusiveMinimum:false, MaxLength:(*int64)(nil), MinLength:(*int64)(nil), Pattern:"", MaxItems:(*int64)(nil), MinItems:(*int64)(nil), UniqueItems:false, MultipleOf:(*float64)(nil), Enum:[]interface {}(nil)}, SimpleSchema:spec.SimpleSchema{Type:"", Nullable:false, Format:"", Items:(*spec.Items)(nil), CollectionFormat:"", Default:interface {}(nil), Example:interface {}(nil)}, VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, ParamProps:spec.ParamProps{Description:"", Name:"arn", In:"path", Required:true, Schema:(*spec.Schema)(nil), AllowEmptyValue:false}}}, Responses:(*spec.Responses)(0xc001169368)}
2025/02/03 20:25:08 stderr adding route DELETE /api/v1/bucket/{bucket}/access-rules "DeleteAccessRuleWithBucket"
2025/02/03 20:25:08 stderr operation: spec.Operation{VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, OperationProps:spec.OperationProps{Description:"", Consumes:[]string(nil), Produces:[]string(nil), Schemes:[]string(nil), Tags:[]string{"User"}, Summary:"Remove user", ExternalDocs:(*spec.ExternalDocumentation)(nil), ID:"RemoveUser", Deprecated:false, Security:[]map[string][]string(nil), Parameters:[]spec.Parameter{spec.Parameter{Refable:spec.Refable{Ref:spec.Ref{Ref:jsonreference.Ref{referenceURL:(*url.URL)(nil), referencePointer:jsonpointer.Pointer{referenceTokens:[]string(nil)}, HasFullURL:false, HasURLPathOnly:false, HasFragmentOnly:false, HasFileScheme:false, HasFullFilePath:false}}}, CommonValidations:spec.CommonValidations{Maximum:(*float64)(nil), ExclusiveMaximum:false, Minimum:(*float64)(nil), ExclusiveMinimum:false, MaxLength:(*int64)(nil), MinLength:(*int64)(nil), Pattern:"", MaxItems:(*int64)(nil), MinItems:(*int64)(nil), UniqueItems:false, MultipleOf:(*float64)(nil), Enum:[]interface {}(nil)}, SimpleSchema:spec.SimpleSchema{Type:"string", Nullable:false, Format:"", Items:(*spec.Items)(nil), CollectionFormat:"", Default:interface {}(nil), Example:interface {}(nil)}, VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, ParamProps:spec.ParamProps{Description:"", Name:"name", In:"path", Required:true, Schema:(*spec.Schema)(nil), AllowEmptyValue:false}}}, Responses:(*spec.Responses)(0xc001168a38)}
2025/02/03 20:25:08 stderr adding route DELETE /api/v1/user/{name} "RemoveUser"
2025/02/03 20:25:08 stderr operation: spec.Operation{VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, OperationProps:spec.OperationProps{Description:"", Consumes:[]string(nil), Produces:[]string(nil), Schemes:[]string(nil), Tags:[]string{"Bucket"}, Summary:"Delete Bucket", ExternalDocs:(*spec.ExternalDocumentation)(nil), ID:"DeleteBucket", Deprecated:false, Security:[]map[string][]string(nil), Parameters:[]spec.Parameter{spec.Parameter{Refable:spec.Refable{Ref:spec.Ref{Ref:jsonreference.Ref{referenceURL:(*url.URL)(nil), referencePointer:jsonpointer.Pointer{referenceTokens:[]string(nil)}, HasFullURL:false, HasURLPathOnly:false, HasFragmentOnly:false, HasFileScheme:false, HasFullFilePath:false}}}, CommonValidations:spec.CommonValidations{Maximum:(*float64)(nil), ExclusiveMaximum:false, Minimum:(*float64)(nil), ExclusiveMinimum:false, MaxLength:(*int64)(nil), MinLength:(*int64)(nil), Pattern:"", MaxItems:(*int64)(nil), MinItems:(*int64)(nil), UniqueItems:false, MultipleOf:(*float64)(nil), Enum:[]interface {}(nil)}, SimpleSchema:spec.SimpleSchema{Type:"string", Nullable:false, Format:"", Items:(*spec.Items)(nil), CollectionFormat:"", Default:interface {}(nil), Example:interface {}(nil)}, VendorExtensible:spec.VendorExtensible{Extensions:spec.Extensions(nil)}, ParamProps:spec.ParamProps{Description:"", Name:"name", In:"path", Required:true, Schema:(*spec.Schema)(nil), AllowEmptyValue:false}}}, Responses:(*spec.Responses)(0xc001169068)}
2025/02/03 20:25:08 stderr Docs: https://docs.min.io
2025/02/03 20:25:08 stderr
2025/02/03 20:25:08 stderr WebUI: http://192.168.176.2:9090 http://127.0.0.1:9090
2025/02/03 20:25:08 stderr API: http://192.168.176.2:9000 http://127.0.0.1:9000
2025/02/03 20:25:08 stderr
2025/02/03 20:25:08 stderr Version: RELEASE.2025-01-20T14-49-07Z (go1.23.5 linux/amd64)
2025/02/03 20:25:08 stderr License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
2025/02/03 20:25:08 stderr Copyright: 2015-2025 MinIO, Inc.
2025/02/03 20:25:08 stderr MinIO Object Storage Server
show Plane-DB log
date stream content
2025/02/04 07:21:58 stderr 2025-02-04 06:21:58.612 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.012 s, total=0.188 s; sync files=2, longest=0.006 s, average=0.006 s; distance=5 kB, estimate=41 kB; lsn=0/3C5B9B8, redo lsn=0/3C5B960
2025/02/04 07:21:58 stderr 2025-02-04 06:21:58.425 UTC [26] LOG: checkpoint starting: time
2025/02/04 07:17:00 stderr 2025-02-04 06:17:00.340 UTC [26] LOG: checkpoint complete: wrote 14 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=1.304 s, sync=0.079 s, total=1.418 s; sync files=13, longest=0.031 s, average=0.006 s; distance=41 kB, estimate=45 kB; lsn=0/3C5A3D0, redo lsn=0/3C5A378
2025/02/04 07:16:58 stderr 2025-02-04 06:16:58.922 UTC [26] LOG: checkpoint starting: time
2025/02/04 07:06:59 stderr 2025-02-04 06:06:59.725 UTC [26] LOG: checkpoint complete: wrote 10 buffers (0.1%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.903 s, sync=0.068 s, total=1.003 s; sync files=9, longest=0.063 s, average=0.008 s; distance=45 kB, estimate=45 kB; lsn=0/3C4FFE0, redo lsn=0/3C4FF50
2025/02/04 07:06:58 stderr 2025-02-04 06:06:58.723 UTC [26] LOG: checkpoint starting: time
2025/02/04 07:01:58 stderr 2025-02-04 06:01:58.623 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.008 s, total=0.142 s; sync files=2, longest=0.004 s, average=0.004 s; distance=4 kB, estimate=5 kB; lsn=0/3C44980, redo lsn=0/3C44928
2025/02/04 07:01:58 stderr 2025-02-04 06:01:58.482 UTC [26] LOG: checkpoint starting: time
2025/02/04 06:51:58 stderr 2025-02-04 05:51:58.287 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.008 s, total=0.129 s; sync files=2, longest=0.005 s, average=0.004 s; distance=4 kB, estimate=5 kB; lsn=0/3C436B8, redo lsn=0/3C43660
2025/02/04 06:51:58 stderr 2025-02-04 05:51:58.158 UTC [26] LOG: checkpoint starting: time
2025/02/04 06:41:57 stderr 2025-02-04 05:41:57.958 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.036 s, total=0.303 s; sync files=2, longest=0.027 s, average=0.018 s; distance=3 kB, estimate=5 kB; lsn=0/3C42628, redo lsn=0/3C425D0
2025/02/04 06:41:57 stderr 2025-02-04 05:41:57.656 UTC [26] LOG: checkpoint starting: time
2025/02/04 06:36:57 stderr 2025-02-04 05:36:57.556 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.016 s, total=0.143 s; sync files=2, longest=0.013 s, average=0.008 s; distance=3 kB, estimate=5 kB; lsn=0/3C41710, redo lsn=0/3C416B8
2025/02/04 06:36:57 stderr 2025-02-04 05:36:57.414 UTC [26] LOG: checkpoint starting: time
2025/02/04 06:26:58 stderr 2025-02-04 05:26:58.214 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.078 s, total=0.235 s; sync files=2, longest=0.066 s, average=0.039 s; distance=3 kB, estimate=6 kB; lsn=0/3C408D8, redo lsn=0/3C40880
2025/02/04 06:26:58 stderr 2025-02-04 05:26:57.979 UTC [26] LOG: checkpoint starting: time
2025/02/04 06:21:57 stderr 2025-02-04 05:21:57.890 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.078 s, total=0.237 s; sync files=2, longest=0.056 s, average=0.039 s; distance=2 kB, estimate=6 kB; lsn=0/3C3FC18, redo lsn=0/3C3FBC0
2025/02/04 06:21:57 stderr 2025-02-04 05:21:57.654 UTC [26] LOG: checkpoint starting: time
2025/02/04 06:11:57 stderr 2025-02-04 05:11:57.469 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.055 s, total=0.194 s; sync files=2, longest=0.006 s, average=0.006 s; distance=2 kB, estimate=7 kB; lsn=0/3C3F038, redo lsn=0/3C3EFE0
2025/02/04 06:11:57 stderr 2025-02-04 05:11:57.276 UTC [26] LOG: checkpoint starting: time
2025/02/04 06:06:57 stderr 2025-02-04 05:06:57.185 UTC [26] LOG: checkpoint complete: wrote 2 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.101 s, sync=0.008 s, total=0.136 s; sync files=2, longest=0.004 s, average=0.004 s; distance=2 kB, estimate=7 kB; lsn=0/3C3E5E8, redo lsn=0/3C3E590
2025/02/04 06:06:57 stderr 2025-02-04 05:06:57.049 UTC [26] LOG: checkpoint starting: time
2025/02/04 06:01:57 stderr 2025-02-04 05:01:57.952 UTC [26] LOG: checkpoint complete: wrote 3 buffers (0.0%); 0 WAL file(s) added, 0 removed, 0 recycled; write=0.201 s, sync=0.015 s, total=0.240 s; sync files=3, longest=0.009 s, average=0.005 s; distance=7 kB, estimate=8 kB; lsn=0/3C08448, redo lsn=0/3C083F0
2025/02/04 06:01:57 stderr 2025-02-04 05:01:46.713 UTC [26] LOG: checkpoint starting: time
2025/02/04 05:56:57 stdout
2025/02/04 05:56:57 stdout PostgreSQL Database directory appears to contain a database; Skipping initialization
2025/02/04 05:56:57 stdout PostgreSQL Database directory appears to contain a database; Skipping initialization
2025/02/04 05:56:57 stdout
2025/02/04 05:56:57 stdout PostgreSQL Database directory appears to contain a database; Skipping initialization
2025/02/04 05:56:57 stdout PostgreSQL Database directory appears to contain a database; Skipping initialization
2025/02/04 05:56:57 stdout
2025/02/04 05:21:35 stdout PostgreSQL Database directory appears to contain a database; Skipping initialization
2025/02/04 05:21:35 stdout PostgreSQL Database directory appears to contain a database; Skipping initialization

If you still need a log from the other containers, please let me know. The titles are still there but the content is no longer. I run the watchtover about once a month to update my Docker.

feurer98 avatar Feb 04 '25 06:02 feurer98

some news on this?

feurer98 avatar Feb 20 '25 07:02 feurer98

Hey @feurer98, your Docker Compose file looks different from the original one. Are you deploying Plane using a tool like Coolify or Portainer?

akshat5302 avatar Feb 25 '25 06:02 akshat5302

I have a synology ds923+ and use the container manager. as i have already lost my data, i will use the version here https://github.com/makeplane/plane/blob/preview/deploy/selfhost/docker-compose.yml to set it up and test it.

feurer98 avatar Feb 25 '25 15:02 feurer98

Hello, I also lost all my data on pages on self hosted version 0.24.0, I notice it when upgraded to the latest 0.26.0 version but I cannot tell if the update was the cause. Fortunately for me I backed all my pages to PDFs but I still lost important recent data and I would like to prevent this in the future, can anyone help me?, I believe I'm using almost everything on default

x-db-env: &db-env
  PGHOST: ${PGHOST:-plane-db}
  PGDATABASE: ${PGDATABASE:-plane}
  POSTGRES_USER: ${POSTGRES_USER:-plane}
  POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-plane}
  POSTGRES_DB: ${POSTGRES_DB:-plane}
  POSTGRES_PORT: ${POSTGRES_PORT:-5432}
  PGDATA: ${PGDATA:-/var/lib/postgresql/data}

x-redis-env: &redis-env
  REDIS_HOST: ${REDIS_HOST:-plane-redis}
  REDIS_PORT: ${REDIS_PORT:-6379}
  REDIS_URL: ${REDIS_URL:-redis://plane-redis:6379/}

x-minio-env: &minio-env
  MINIO_ROOT_USER: ${AWS_ACCESS_KEY_ID:-access-key}
  MINIO_ROOT_PASSWORD: ${AWS_SECRET_ACCESS_KEY:-secret-key}

x-aws-s3-env: &aws-s3-env
  AWS_REGION: ${AWS_REGION:-}
  AWS_ACCESS_KEY_ID: ${AWS_ACCESS_KEY_ID:-access-key}
  AWS_SECRET_ACCESS_KEY: ${AWS_SECRET_ACCESS_KEY:-secret-key}
  AWS_S3_ENDPOINT_URL: ${AWS_S3_ENDPOINT_URL:-http://plane-minio:9000}
  AWS_S3_BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}

x-proxy-env: &proxy-env
  NGINX_PORT: ${NGINX_PORT:-80}
  BUCKET_NAME: ${AWS_S3_BUCKET_NAME:-uploads}
  FILE_SIZE_LIMIT: ${FILE_SIZE_LIMIT:-5242880}

x-mq-env: &mq-env # RabbitMQ Settings
  RABBITMQ_HOST: ${RABBITMQ_HOST:-plane-mq}
  RABBITMQ_PORT: ${RABBITMQ_PORT:-5672}
  RABBITMQ_DEFAULT_USER: ${RABBITMQ_USER:-plane}
  RABBITMQ_DEFAULT_PASS: ${RABBITMQ_PASSWORD:-plane}
  RABBITMQ_DEFAULT_VHOST: ${RABBITMQ_VHOST:-plane}
  RABBITMQ_VHOST: ${RABBITMQ_VHOST:-plane}

x-live-env: &live-env
  API_BASE_URL: ${API_BASE_URL:-http://api:8000}

x-app-env: &app-env
  WEB_URL: ${WEB_URL:-http://localhost}
  DEBUG: ${DEBUG:-0}
  CORS_ALLOWED_ORIGINS: ${CORS_ALLOWED_ORIGINS}
  GUNICORN_WORKERS: 1
  USE_MINIO: ${USE_MINIO:-1}
  DATABASE_URL: ${DATABASE_URL:-postgresql://plane:plane@plane-db/plane}
  SECRET_KEY: ${SECRET_KEY:-60gp0byfz2dvffa45cxl20p1scy9xbpf6d8c5y0geejgkyp1b5}
  AMQP_URL: ${AMQP_URL:-amqp://plane:plane@plane-mq:5672/plane}
  API_KEY_RATE_LIMIT: ${API_KEY_RATE_LIMIT:-60/minute}
  MINIO_ENDPOINT_SSL: ${MINIO_ENDPOINT_SSL:-0}

services:
  web:
    image: artifacts.plane.so/makeplane/plane-frontend:${APP_RELEASE:-stable}
    command: node web/server.js web
    deploy:
      replicas: ${WEB_REPLICAS:-1}
      restart_policy:
        condition: on-failure
    depends_on:
      - api
      - worker

  space:
    image: artifacts.plane.so/makeplane/plane-space:${APP_RELEASE:-stable}
    command: node space/server.js space
    deploy:
      replicas: ${SPACE_REPLICAS:-1}
      restart_policy:
        condition: on-failure
    depends_on:
      - api
      - worker
      - web

  admin:
    image: artifacts.plane.so/makeplane/plane-admin:${APP_RELEASE:-stable}
    command: node admin/server.js admin
    deploy:
      replicas: ${ADMIN_REPLICAS:-1}
      restart_policy:
        condition: on-failure
    depends_on:
      - api
      - web

  live:
    image: artifacts.plane.so/makeplane/plane-live:${APP_RELEASE:-stable}
    command: node live/dist/server.js live
    environment:
      <<: [*live-env]
    deploy:
      replicas: ${LIVE_REPLICAS:-1}
      restart_policy:
        condition: on-failure
    depends_on:
      - api
      - web

  api:
    image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-stable}
    command: ./bin/docker-entrypoint-api.sh
    deploy:
      replicas: ${API_REPLICAS:-1}
      restart_policy:
        condition: on-failure
    volumes:
      - logs_api:/code/plane/logs
    environment:
      <<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env]
    depends_on:
      - plane-db
      - plane-redis
      - plane-mq

  worker:
    image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-stable}
    command: ./bin/docker-entrypoint-worker.sh
    deploy:
      replicas: ${WORKER_REPLICAS:-1}
      restart_policy:
        condition: on-failure
    volumes:
      - logs_worker:/code/plane/logs
    environment:
      <<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env]
    depends_on:
      - api
      - plane-db
      - plane-redis
      - plane-mq

  beat-worker:
    image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-stable}
    command: ./bin/docker-entrypoint-beat.sh
    deploy:
      replicas: ${BEAT_WORKER_REPLICAS:-1}
      restart_policy:
        condition: on-failure
    volumes:
      - logs_beat-worker:/code/plane/logs
    environment:
      <<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env]
    depends_on:
      - api
      - plane-db
      - plane-redis
      - plane-mq

  migrator:
    image: artifacts.plane.so/makeplane/plane-backend:${APP_RELEASE:-stable}
    command: ./bin/docker-entrypoint-migrator.sh
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    volumes:
      - logs_migrator:/code/plane/logs
    environment:
      <<: [*app-env, *db-env, *redis-env, *minio-env, *aws-s3-env, *proxy-env]
    depends_on:
      - plane-db
      - plane-redis

  # Comment this if you already have a database running
  plane-db:
    image: postgres:15.7-alpine
    command: postgres -c 'max_connections=1000'
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    environment:
      <<: *db-env
    volumes:
      - pgdata:/var/lib/postgresql/data

  plane-redis:
    image: valkey/valkey:7.2.5-alpine
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    volumes:
      - redisdata:/data

  plane-mq:
    image: rabbitmq:3.13.6-management-alpine
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    environment:
      <<: *mq-env
    volumes:
      - rabbitmq_data:/var/lib/rabbitmq

  # Comment this if you using any external s3 compatible storage
  plane-minio:
    image: minio/minio:latest
    command: server /export --console-address ":9090"
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    environment:
      <<: *minio-env
    volumes:
      - uploads:/export

  # Comment this if you already have a reverse proxy running
  proxy:
    image: artifacts.plane.so/makeplane/plane-proxy:${APP_RELEASE:-stable}
    ports:
      - target: 80
        published: ${NGINX_PORT:-80}
        protocol: tcp
        mode: host
    environment:
      <<: *proxy-env
    deploy:
      replicas: 1
      restart_policy:
        condition: on-failure
    depends_on:
      - web
      - api
      - space

volumes:
  pgdata:
  redisdata:
  uploads:
  logs_api:
  logs_worker:
  logs_beat-worker:
  logs_migrator:
  rabbitmq_data:

ronpetit avatar May 10 '25 00:05 ronpetit

@akshat5302 Hello, I kept analyzing this issue and I'm starting to suspect that pages content were not saved on postgres at all as I backed up my plane instance on 02/15/2025 and on 05/09/2025, I downloaded the pgdata backup on both and both have the description blank on the pages table

This is an image of my 05/09/2025 backup

Image

As I said before I'm on the version 0.26.0 and I made a backup which do have content on postgres. Was this some known error?

Current content on 0.26.0

Image

ronpetit avatar May 17 '25 00:05 ronpetit

Were you able to access the page contents in the latest version, or does the issue still persist? Let us know if we can go ahead and close this issue.

akshat5302 avatar Jul 07 '25 10:07 akshat5302

Were you able to access the page contents in the latest version, or does the issue still persist? Let us know if we can go ahead and close this issue.

The issue still persist, I lost my old content and was unable to recover it I was just trying to understand how it happened because I lost important data and I don't want it to happen again

ronpetit avatar Jul 07 '25 13:07 ronpetit

Once again after few month i tryed again.

Image

feurer98 avatar Sep 25 '25 13:09 feurer98