Commit Graph

118 Commits

Author SHA1 Message Date
Bartosz Sypytkowski d3e59fa801
feat: Appflowy-indexer service and /api/search endpoint (#582)
* feat: implement appflowy-indexer and search api endpoint

* chore: store embedding content type

* chore: more descriptive messages for open ai missing key

* chore: fix sqlx errors in tests

* chore: document watcher - change plain text rendering to use depth-first scan

* chore: added nested document blocks example
2024-05-28 21:09:29 +08:00
Nathan.fooo c491f1a560
chore: fix ci (#549)
* chore: fix ci
2024-05-12 21:02:28 +08:00
Nathan.fooo 359433f14c
fix: pool timeout when there are too many put blob requests (#533)
* fix: pool timeout when there are too many put blob requests

* chore: fix clippy

* fix: dont use transaction while putting data

---------

Co-authored-by: Zack Fu Zi Xiang <speed2exe@live.com.sg>
2024-05-08 12:20:06 +08:00
Nathan.fooo 79bb510aaf
ci: run history test (#513)
* ci: run history test

* chore: fix ci
2024-05-01 16:28:07 +08:00
Nathan.fooo af75e8a2c0
chore: update configuration for ai docker (#512)
* chore: update configuration for ai docker

* chore: add script to test ci docker

* chore: update docs

* chore: update docs
2024-04-30 19:37:52 +08:00
Nathan.fooo 5bebc6a2b2
chore: Integrate appflowy ai (#504)
* chore: remove client api

* chore: add summarize row test

* chore: merge main

* chore: fix ci

* chore: update docker compose file
2024-04-29 22:23:40 +08:00
Nathan.fooo f3279e9b4e
feat: implement grpc for history server (#470)
* ci: docker compose for ci

* chore: add test

* chore: imple grpc

* chore: fix test

* chore: fix ci
2024-04-16 14:10:56 +08:00
Nathan.fooo 28e0e74fd1
feat: Implement history(1) (#466)
* chore: update collab commit

* chore: collab history test

* chore: collab history test

* chore: impl redis stream

* chore: impl redis stream test

* chore: impl migration

* chore: implement history sql

* chore: add test

* chore: add test

* chore: fix test

* chore: update log and test

* chore: add xtask

* chore: clippy

* chore: impl api

* chore: add missing sqlx files

* chore: fix test

* chore: fix test
2024-04-15 09:18:19 +08:00
Nathan.fooo c85383b21d
chore: project folder structture (#392)
* chore: docker build

* chore: update

* chore: update

* chore: test stream pubsub

* chore: fix wanrings

* chore: realtime crate

* chore: realtime crate

* chore: realtime crate

* chore: realtime crate

* chore: reanme crates

* chore: reanme crates

* chore: project structure

* chore: disable docker for collab hisotry
2024-03-22 11:24:28 +08:00
Zack Fu Zi Xiang 9b375a5afb
chore: add env var for docker compose 2024-03-21 10:26:07 +08:00
Nathan.fooo d1c82b7811
chore: enable access control by env (#394) 2024-03-18 19:34:44 +08:00
Nathan.fooo 08693f2d72
chore: integrate appflowy ai (#388)
* chore: integrate appflowy ai

* chore: disable ai test
2024-03-16 21:43:02 +08:00
Zack Fu Zi Xiang 8028f667f2
fix: docker compose 2024-03-09 23:23:28 +08:00
Zack Fu Zi Xiang 4638e3cf01
chore: increase email rate limit during test 2024-03-09 19:50:14 +08:00
Nathan.fooo d5869742c2
fix: test (#339)
* fix: test

* fix: test

* fix: test
2024-02-21 15:05:23 +08:00
Zack Fu Zi Xiang 8e4108a4b2
feat: add env var and docs for admin frontend 2024-02-09 01:12:17 +08:00
Nathan.fooo a9ab3bbb22
chore: update exp in (#288) 2024-02-03 08:36:52 +08:00
Doug Masiero 2b39459b70
Update minio root user & pass variable to match DEPLOYMENT.MD
This change allows for following variables found in lines 94 and 95 of DEPLOYMENT.MD .env example and lines 58 and 59 of deploy.env - Without this change, deployment easily deploys with default user/pass of minioadmin/minioadmin
2024-01-17 21:07:58 -05:00
Fu Zi Xiang 851cd6929e
fix: minio url configs 2024-01-12 22:50:25 +08:00
Zack 615b402782
docs: Doc improvement (#256)
* feat: update docs and self host deploy configs

* feat: use default ports for dev

* feat: revamp self host

* feat: use nginx resolver

* feat: cargo fmt

* feat: ci integration test with nginx routing

* feat: cargo fmt

* feat: make docker ci use deploy env rather than dev env

* feat: update api external url for deploy test

* fix: if sqlx is set to offline dont run casbin for tests

* fix: set api external url for tests

* fix: ignore sqlx test with cfg

* fix: sqlx tests

* fix: test use env

* feat: update the docs on optional components
2024-01-12 16:01:16 +08:00
Fu Zi Xiang 4bb38f7a60
feat: add gotrue image to docker compose 2023-12-27 05:46:34 +08:00
Zack a7b259ad20
feat: use only env var for appflowy cloud (#224)
* feat: use only env var for appflowy cloud

* fix: jwt local testing

* fix: security audit

* feat: update docker deploy configs

* fix: test utils dotenvy

* fix: test try sqlx offline

* fix: add gotrue configs for appflowy

* fix: redis uri in docker
2023-12-19 08:45:42 +08:00
nathan 80f72b91b5 chore: update docker compose 2023-12-17 23:30:13 +08:00
Nathan.fooo 69ed6ff4e8
feat: create snapshot for collab (#221) 2023-12-17 13:38:55 +08:00
Zack edbb0dd0df
Merge pull request #206 from jessebot/update-env-vars
fix: update the S3 env vars in docker-compose.yml to not have `AWS` in them
2023-12-12 16:50:51 -08:00
jessebot eba3876164 fix: update the S3 env vars to the to not have AWS in them anymore 2023-12-12 10:03:29 +01:00
Fu Zi Xiang 4f6323312f
feat: update optional component of deployment 2023-12-11 23:06:15 -08:00
古丁丁 1f8667d43d
fix: remove tunnel service container name 2023-11-28 11:26:34 +08:00
Zack 85b5c26665
feat: remove pgjwt extension (#179) 2023-11-24 11:05:36 +08:00
古丁丁 edc5d2bb9b
feat: Add cloudflare tunnel (#166)
* feat: add cloudflare-tunnel service

* feat: add cloudflare-tunnel service

* feat: add cloudflare tunnel token variable

* revert: remove tunnel service

https://github.com/AppFlowy-IO/AppFlowy-Cloud/pull/166#issuecomment-1813735712
2023-11-16 20:31:49 +08:00
Nathan.fooo 82bcb5e879
feat: Deployment update (#169)
* docs: add ubuntu setup guide

* feat: add docker ci

* feat: create admin frontend image

* feat: trigger push docker ci

* ci: multiple arch

* fix: build

* chore: update ci

* chore: update ci

* fix: build

* fix: build

* fix: test

* fix: database access

* fix: test

* fix: test

* chore: update

* chore: update
2023-11-16 00:29:18 +08:00
Fu Zi Xiang ad948033eb
feat: added persistence to minio and postgresql 2023-11-09 19:15:21 +08:00
Fu Zi Xiang 71ee5c1d0b
chore: merge with main 2023-11-09 18:41:05 +08:00
Zack 1cc1158d36
feat: Metrics (#141)
* feat: added basic monitoring stack

* docs(grafana): import steps and recommended imports

* feat(metric): api metrics

* feat(prometheus): add appflowy cloud metric scraping job

* fix: put back tracing logger

* feat: middleware for path counter

* feat: added gotrue to prometheus metrics

* feat: added nginx to prometheus metrics

* feat: added latency and result to metrics

* feat(nginx): set request id to header

* feat: added request id in nginx

* feat: simplify metric collection

* feat: added simple grafana dashboard for appflowy cloud

* feat(logging): added logging stack

* docs: improve monitoring docs

* docs: added known common issues

* feat: give persistence

* feat: add exemplars

* fix: docker compose volumes

* feat(grafana): add trace id to prometheus datasource

* feat(grafana): improve dashboard to include exemplars
2023-11-02 15:34:00 +08:00
Zack 33b699cbae
feat: user invite (#135)
* feat: user invites another user through magic link

* feat: user invitation

* chore: use google oauth logo from official branding guideline

* chore: use appflowy svg

* chore: home page use appflowy svg

* feat: UI improvement

* chore: edit mailer url path for nginx reverse proxy

* feat: added discord login

* feat: added login with github

* feat(web-api): provide link to open appflowy app

* refactor: simplify sidebar

* feat: added navigational features

* chore: shadow on navigate

* chore: removed unneeded files

* feat: message box improvement

* refactor: remove most javascript
2023-10-25 18:46:41 +08:00
Nathan.fooo f5fd264309
feat: support discord and github (#136)
* feat: support discord and github

* feat: enable discord and github oauth

* chore: update dev.env
2023-10-24 13:05:24 +08:00
Zack d8c0107489
feat: Portainer (#123)
* feat: add portainer to docker compose for monitoring

* feat: add portainer docker compose dev

* feat: add portainer init password
2023-10-19 10:36:26 +08:00
Zack d6c0b7780b
feat: Minio web nginx (#122)
* feat: add minio web UI

* fix: minio redirect url

* fix: simplify minio config
2023-10-18 13:35:19 +08:00
Zack d638c01763
feat: added oauth login for admin (#119)
* doc: added deployment guide for appflowy cloud

* feat: added oauth login for admin

* feat: specify redirect_url

* feat: implemented google oauth

* fix: default value for redirect_to

* fix: add check for location hash
2023-10-17 10:21:06 +08:00
Fu Zi Xiang 99bd0a8689
feat: use volume mounting to set initial servers 2023-10-12 23:49:45 +08:00
Fu Zi Xiang 9ff3a830d9
feat: use pgadmin as recommended from official 2023-10-12 23:39:58 +08:00
Fu Zi Xiang b3471991ff
fix: reverse proxy for pgadmin 2023-10-12 17:14:59 +08:00
Zack 119adf53e4
feat: Pgadmin (#112)
* feat: added pgadmi

* feat: add pgadmin to nginx config for reverse proxy
2023-10-12 16:39:13 +08:00
Zack 8023efae97
feat: add admin frontend project (#102)
* feat: add admin frontend project

* feat: session token WIP

* feat: session token WIP - 2

* feat: session token and dev ease

* feat: added logout

* extractor for access token

* feat: added funtionality to show all users

* feat: show user list on frontend

* feat: user details

* fix: remove unneeded print statements

* chore: enable back to docker-compose.yml

* fix: integration tests

* feat: added redis session

* feat: change to session management using redis

* feat: add email to display at home page

* feat: added logging, logout

* feat: use redirect temporary

* feat: added add user by email

* feat: added add user set password web ui

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-10-11 22:17:41 +08:00
Fu Zi Xiang 096cfb8d2e
feat: upgrade to use docker with compose plugin 2023-10-06 22:31:25 +08:00
Nathan.fooo 17093de469
chore: opti log (#103)
* chore: opti log

* chore: clippy
2023-10-06 21:04:16 +08:00
Zack f1a16058ce
feat: Gotrue admin api (#73)
* feat: set up admin account and auto confirm during appflowy start

* feat: client auth against gotrue whenever possible

* feat: admin add user

* feat: implement admin add user

* feat: generate registered user

* fix: enable cloud feature for client_api

* fix: test same user fix
2023-09-23 17:07:02 +08:00
Zack 67706f9e8e
feat: File api (#68)
* feat: s3 minio wip

* feat: s3 minio bucket create idempotent

* feat: put storage setting into configurations

* chore: clippy lint

* feat: add setting to base config

* feat: add configuration for prod

* fix: allow use different minio host
2023-09-22 15:10:41 +08:00
Fu Zi Xiang 79c8b9478f
feat: nginx reroute callback and verify 2023-09-18 20:49:54 +08:00
Zack 6c4bbbbf7f
feat: Nginx (#57)
* feat: added nginx to docker-compose

* ci: base64 decode for cert and key

* test: fix: wrap secert with double quote

* fix: revert previous cert dir

* feat: use 443 for default https port in nginx

* fix: correct 443 (from 433)

* fix: use correct github action secrets

* fix: use docker compose force recreate

* fix: use another crt and key

* fix: use appflowy cloud crt and key
2023-09-18 11:42:18 +08:00
Zack 3c598f178e
ci: test env docker-compose deployment (#48)
* ci: test env docker-compose deployment

* ci: test deployment

* fix: replace delimiter with pipe to avoid conflict

* fix: API_EXTERNAL_URL_TEST from secrets

* chore: remove unneeded deploy when pull request

* fix: cloud public host name/address

* chore: trigger: change to push

* chore: add ext_url for exposed gotrue auth server
2023-09-15 21:13:43 +08:00
Nathan.fooo e9fc2af43c
feat: implement websocket client (#47)
* feat: implement websocket client

* chore: clippy

* chore: update

* chore: update env
2023-09-15 12:11:04 +08:00
Zack 7345da7c46
feat: Autorefresh (#44)
* feat: use gotrue from source instead of docker hub image

* test: fix test due to gotrue upgrade

* fix: update prod docker-compose

* chore: cargo fmt --all

* chore: cargo fmt --all

* feat: autorefresh

* test: add test case and auto refresh scenario
2023-09-15 11:21:05 +08:00
Zack 9fc2acbc35
feat: Docker/gotrue (#43)
* feat: use gotrue from source instead of docker hub image

* test: fix test due to gotrue upgrade

* fix: update prod docker-compose

* chore: cargo fmt --all
2023-09-14 20:41:04 +08:00
Zack 8d11d7b6cf
feat: support external oauth (#35)
* feat: support external oauth

* chore: cargo fmt

* doc: add docs for google oauth2

* fix: use btree map and get for oauth

* feat: client to open url for oauth login

* feat: add test case for oauth not available

* feat: add placeholder for sign_in_url

* fix: use

* feat: client sign up with url

* feat: add sign_in_with_url simple test

* fix: use url fragments and string split

* fix: test case and gotrue error handling

* fix: return error and remove unwrap

* chore: remove unused file not in module tree

* fix: test cases

* chore: add cfg feature cloud to isolate dependencies
2023-09-13 21:08:13 +08:00
Zack da03009004
feat: use apply server migration when server starts (#30)
* feat: use apply server migration when server starts

* fix: add docs and fix local run

* feat: refactor migration

* feat: local build server wait on gotrue

* fix: add back sqlx commands

* fix: add migrations directory

* fix: try SQLX_OFFLINE=true

* test: fix rustlint

* chore: clippy fmt

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-09-12 15:12:08 +08:00
Zack 36499be26c
docs: test + deploy + environmental variables (#14)
* doc: test + deploy + environmental variables

* doc: local dev and testing(WIP)

* dev: set up local testing

* fix: ci: add DATABASE_URL env

* chore: update .env

* ci: fix

* dev: docker-compose-dev.yml

* ci: update

* ci: test env

* ci: add services

* ci: add services

* ci: update port

* ci: rename ci.yaml to rustlint.yaml

* ci: test

* ci: simplify tests

* ci: use cargo sqlx commands directly

* ci: fix: registered user

* ci: fix: test registered user creation

* ci: fix: test registered user creation - 2

* ci: fix: debug docker ci

* ci: fix: docker integration registered user

* ci: fix: docker integration registered user

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-09-07 15:29:39 +08:00
Nathan.fooo e2e6d79cb0
chore: create tables (#16)
* chore: create tables

* ci: remove postgres service

* chore: separate ci

* chore: run cargo clippy with sqlx offline mode

* refactor: create docker action

* chore: rename

* chore: update table

* chore: update supabase_admin

* chore: update supabase_admin

* chore: remove create auth.jwt function
2023-09-07 10:43:10 +08:00
Nathan.fooo f9825d4221
feat: refactor server collab (#15)
* refactor: collab storage

* chore: fix test

* chore: update sqlx version

* chore: disable realtime test

* chore: sqlx prepare

* chore: remove init.sql
2023-09-06 18:22:40 +08:00
Zack b28d5dda4c
feat: ci: dockerize gotrue auth server (#13)
* feat: ci: dockerize gotrue auth server

* feat: build: add gotrue to docker-compose

* fix: build: docker-compose + test

* feat: ci: simplify tests

* feat: ci: add back needed services for compilation

* fix: ci: github secrets

* fix: ci: use signup

* fix: ci: add export

* fix: test: generate unique email for registration to avoid conflict
2023-09-06 14:12:39 +08:00
Zack c8ae099e90
feat: Auth server integration (#9)
* feat: integrate signup with gotrue auth server

* feat: added email and password sign in via auth server

* feat: added sign in scenarios and client handling

* fix: added missing files

* feat: refine api and store access token in client

* feat: impl token decode and placeholder for signout

* feat: added impl for logout with auth server

* feat: auth server dependency injection, client sign_out impl

* feat: abstract verify token, add placeholder for update endpoint

* feat: make authorization as a param of http handler request

* feat: add update_user to client of auth server

* feat: add client code and test cases for password change

* chore: rename appflowy-server to appflowy-cloud

* ci: upgrade reqwest version to fix audit issue

* ci: fix again

* ci: added gotrue env secrets

---------

Co-authored-by: nathan <nathan@appflowy.io>
2023-09-04 11:23:40 +08:00
Zack 58f0cdd235
feat: Client API and Integration test (#7)
* feat: change to client from test_server

* feat: change to client from test_server: register_success

* fix: use time in email for indempotency

* added rest of register test case

* feat: added client impl for login

* feat: Client: store logged token

* feat: added password change impl

* feat: remove test api, move to using Client

* chore: remove unneeded code

* chore: add client's integration test

* chore: try fix github workflow

* chore: try fix github workflow

* chore: try fix github actions - 2

* chore: try fix github actions - change rust toolchain

* chore: try fix github actions - remove name field

* chore: ci: fixed missing run key

* chore: ci: fixed missing Checkout

* chore: ci: added env settings for docker-compose

* chore: ci: added env BACKEND_VERSION for docker-compose

* chore: ci: added context . to docker-compose.yml

* chore: ci: added old dockerfiles to archive, default values in docker-compose.yml

* chore: github workflow: build server with env SQLX_OFFLINE true

* chore: remove unneeded deps

* chore: ci: try SQLX_OFFLINE export

* fix: ci: remove unneeded integration test ci, spawn server while cargo test

* fix: lint and github workflow

* fix: lint

* fix: github workflows: use workspaces instead of key

* fix: lint: use as_deref instead
2023-08-10 09:49:47 +08:00
Nathan.fooo bb80fd5350
fix: redis connect (#2)
* fix: redis connect

* chore: add Readme and support no tls

* chore: cache docker build

* chore: update

* fix: fix postgres and redis connection

* chore: update port

* ci: lint
2023-05-05 00:00:02 +08:00
nathan 4adfd1a75f ci: fix test 2023-03-14 14:45:53 +08:00
nathan 690ea42d85 refactor: config log 2023-03-12 09:18:06 +08:00
nathan 7b706b54ce refactor: auth 2023-03-11 22:01:25 +08:00
appflowy 3012acce30 refactor: use cargo workspace 2022-02-07 15:08:49 +08:00
appflowy 0bda429d93 init appflowy server 2022-02-06 10:55:48 +08:00