diff --git a/apps/affine/stable-e98f035/data.yml b/apps/affine/0.23.3/data.yml similarity index 100% rename from apps/affine/stable-e98f035/data.yml rename to apps/affine/0.23.3/data.yml diff --git a/apps/affine/stable-e98f035/docker-compose.yml b/apps/affine/0.23.3/docker-compose.yml similarity index 95% rename from apps/affine/stable-e98f035/docker-compose.yml rename to apps/affine/0.23.3/docker-compose.yml index 7818268..f9e7955 100644 --- a/apps/affine/stable-e98f035/docker-compose.yml +++ b/apps/affine/0.23.3/docker-compose.yml @@ -1,6 +1,6 @@ services: affine: - image: ghcr.io/toeverything/affine-graphql:stable-e98f035 + image: ghcr.io/toeverything/affine:0.23.3 container_name: ${CONTAINER_NAME} ports: - ${PANEL_APP_PORT_HTTP}:3010 @@ -25,7 +25,7 @@ services: labels: createdBy: Apps affine_migration: - image: ghcr.io/toeverything/affine-graphql:stable-e98f035 + image: ghcr.io/toeverything/affine:0.23.3 container_name: ${CONTAINER_NAME}_migration_job volumes: # custom configurations diff --git a/apps/affine/latest/data.yml b/apps/affine/latest/data.yml new file mode 100644 index 0000000..34f2889 --- /dev/null +++ b/apps/affine/latest/data.yml @@ -0,0 +1,70 @@ +additionalProperties: + formFields: + - default: 3010 + envKey: PANEL_APP_PORT_HTTP + labelEn: Web Port + labelZh: HTTP 端口 + required: true + rule: paramPort + type: number + label: + en: Web Port + zh: HTTP 端口 + - default: affine + envKey: DB_DATABASE + labelEn: Database + labelZh: 数据库名 + required: true + rule: paramCommon + type: text + label: + en: Database + zh: 数据库名 + - default: affine + envKey: DB_USERNAME + labelEn: User + labelZh: 数据库用户 + random: true + required: true + rule: paramCommon + type: text + label: + en: User + zh: 数据库用户 + - default: affine + envKey: DB_PASSWORD + labelEn: Password + labelZh: 数据库用户密码 + random: true + required: true + type: password + label: + en: Password + zh: 数据库用户密码 + - default: ./.affine/self-host/storage + envKey: UPLOAD_LOCATION + labelEn: Upload Location + labelZh: 上传目录 + required: true + type: text + label: + en: Upload Location + zh: 上传目录 + - default: ./.affine/self-host/storage + envKey: CONFIG_LOCATION + labelEn: Config Location + labelZh: 配置目录 + required: true + type: text + label: + en: Config Location + zh: 配置目录 + - default: ./.affine/self-host/postgres/pgdata + envKey: DB_DATA_LOCATION + labelEn: Postgre Data Location + labelZh: Postgre 数据目录 + required: true + type: text + label: + en: Postgre Data Location + zh: Postgre 数据目录 \ No newline at end of file diff --git a/apps/affine/latest/docker-compose.yml b/apps/affine/latest/docker-compose.yml new file mode 100644 index 0000000..b773ddd --- /dev/null +++ b/apps/affine/latest/docker-compose.yml @@ -0,0 +1,90 @@ +services: + affine: + image: ghcr.io/toeverything/affine:stable + container_name: ${CONTAINER_NAME} + ports: + - ${PANEL_APP_PORT_HTTP}:3010 + depends_on: + redis: + condition: service_healthy + postgres: + condition: service_healthy + affine_migration: + condition: service_completed_successfully + volumes: + # custom configurations + - ${UPLOAD_LOCATION}:/root/.affine/storage + - ${CONFIG_LOCATION}:/root/.affine/config + environment: + - REDIS_SERVER_HOST=redis + - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres:5432/${DB_DATABASE:-affine} + - AFFINE_INDEXER_ENABLED=false + networks: + - 1panel-network + restart: always + labels: + createdBy: Apps + affine_migration: + image: ghcr.io/toeverything/affine:stable + container_name: ${CONTAINER_NAME}_migration_job + volumes: + # custom configurations + - ${UPLOAD_LOCATION}:/root/.affine/storage + - ${CONFIG_LOCATION}:/root/.affine/config + command: ['sh', '-c', 'node ./scripts/self-host-predeploy.js'] + networks: + - 1panel-network + environment: + - REDIS_SERVER_HOST=redis + - DATABASE_URL=postgresql://${DB_USERNAME}:${DB_PASSWORD}@postgres:5432/${DB_DATABASE:-affine} + - AFFINE_INDEXER_ENABLED=false + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + labels: + createdBy: Apps + skipStatusCheck: "true" + restart: no + redis: + image: redis + container_name: ${CONTAINER_NAME}_redis + healthcheck: + test: ['CMD', 'redis-cli', '--raw', 'incr', 'ping'] + interval: 10s + timeout: 5s + retries: 5 + networks: + - 1panel-network + labels: + createdBy: Apps + restart: always + + postgres: + image: pgvector/pgvector:pg16 + container_name: ${CONTAINER_NAME}_postgres + volumes: + - ${DB_DATA_LOCATION}:/var/lib/postgresql/data + networks: + - 1panel-network + labels: + createdBy: Apps + environment: + POSTGRES_USER: ${DB_USERNAME} + POSTGRES_PASSWORD: ${DB_PASSWORD} + POSTGRES_DB: ${DB_DATABASE:-affine} + POSTGRES_INITDB_ARGS: '--data-checksums' + # you better set a password for you database + # or you may add 'POSTGRES_HOST_AUTH_METHOD=trust' to ignore postgres security policy + POSTGRES_HOST_AUTH_METHOD: trust + healthcheck: + test: + ['CMD', 'pg_isready', '-U', "${DB_USERNAME}", '-d', "${DB_DATABASE:-affine}"] + interval: 10s + timeout: 5s + retries: 5 + restart: always +networks: + 1panel-network: + external: true \ No newline at end of file