Closed arealclimber closed 1 month ago
修改 docker-compose.yml,新增 postgres username, db name
services:
nginx:
image: nginx:1.26.2
ports:
- "80:80"
- "443:443"
volumes:
- ./nginx/templates:/etc/nginx/templates
env_file:
- ./nginx/.env.nginx
depends_on:
- isunfa
- faith
- aich
deploy:
resources:
limits:
memory: 256M
isunfa:
image: node:20
volumes:
- ./isunfa:/isunfa
command: >
sh -c "chmod +x /isunfa/isunfa-start.sh && /isunfa/isunfa-start.sh"
env_file:
- ./isunfa/.env.isunfa
environment:
- PORT=${ISUNFA_PORT}
expose:
- "${ISUNFA_PORT}"
depends_on:
- aich
- postgres
deploy:
resources:
limits:
memory: 2G
faith:
image: node:20
volumes:
- ./faith:/faith
command: >
sh -c "chmod +x /faith/faith-start.sh && /faith/faith-start.sh"
env_file:
- ./faith/.env.faith
environment:
- PORT=${FAITH_PORT}
expose:
- "${FAITH_PORT}"
# 查詢 postgres docker container id
docker ps
# 進到 postgres 的 docker container
docker exec -it 7d4e2aa51ccf bash
# 進到 postgres CLI (psql)
psql -U postgres
# 創建使用者
CREATE USER isunfa_staging WITH PASSWORD 'example_password' CREATEDB;
# 退出 psql 之後,嘗試連線
\q
psql -U isunfa_staging -d isunfa
# 退出 postgres docker container
exit
# ----- 其他指令 -----
# 重置用戶的密碼
ALTER USER isunfa_staging WITH PASSWORD 'new_password';
# 列出所有使用者
\du
# 列出所有資料庫
\l
# 給予 isunfa_staging 用戶所有權限
GRANT ALL PRIVILEGES ON SCHEMA public TO isunfa_staging;
GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO isunfa_staging;
ALTER DEFAULT PRIVILEGES IN SCHEMA public GRANT ALL PRIVILEGES ON TABLES TO isunfa_staging;
# -- 給予用戶在所有現有 schema 上的權限
DO $$
DECLARE
r RECORD;
BEGIN
FOR r IN (SELECT nspname FROM pg_namespace WHERE nspname NOT LIKE 'pg_%' AND nspname != 'information_schema')
LOOP
EXECUTE format('GRANT ALL PRIVILEGES ON SCHEMA %I TO isunfa_staging', r.nspname);
EXECUTE format('GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA %I TO isunfa_staging', r.nspname);
EXECUTE format('GRANT ALL PRIVILEGES ON ALL SEQUENCES IN SCHEMA %I TO isunfa_staging', r.nspname);
EXECUTE format('GRANT ALL PRIVILEGES ON ALL FUNCTIONS IN SCHEMA %I TO isunfa_staging', r.nspname);
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT ALL PRIVILEGES ON TABLES TO isunfa_staging', r.nspname);
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT ALL PRIVILEGES ON SEQUENCES TO isunfa_staging', r.nspname);
EXECUTE format('ALTER DEFAULT PRIVILEGES IN SCHEMA %I GRANT ALL PRIVILEGES ON FUNCTIONS TO isunfa_staging', r.nspname);
END LOOP;
END $$;
# -- 給予用戶創建新 schema 的權限
ALTER USER isunfa_staging CREATEDB;
# -- 給予用戶在未來創建的 schema 上的權限
ALTER DEFAULT PRIVILEGES FOR USER isunfa_staging GRANT ALL PRIVILEGES ON SCHEMAS TO isunfa_staging;
ALTER DEFAULT PRIVILEGES FOR USER isunfa_staging GRANT ALL PRIVILEGES ON TABLES TO isunfa_staging;
ALTER DEFAULT PRIVILEGES FOR USER isunfa_staging GRANT ALL PRIVILEGES ON SEQUENCES TO isunfa_staging;
ALTER DEFAULT PRIVILEGES FOR USER isunfa_staging GRANT ALL PRIVILEGES ON FUNCTIONS TO isunfa_staging;
# 查看權限
# 查看特定對象(如表)的所有權限
\dp
docker compose logs isunfa
isunfa-1 | fatal: destination path '/isunfa/app' already exists and is not an empty directory.
isunfa-1 | From https://github.com/CAFECA-IO/iSunFA
isunfa-1 | * branch develop -> FETCH_HEAD
isunfa-1 | Already up to date.
isunfa-1 |
isunfa-1 | > iSunFA@0.8.2+41 prepare
isunfa-1 | > husky
isunfa-1 |
isunfa-1 |
isunfa-1 | up to date, audited 1229 packages in 2s
isunfa-1 |
isunfa-1 | 226 packages are looking for funding
isunfa-1 | run `npm fund` for details
isunfa-1 |
isunfa-1 | 3 low severity vulnerabilities
isunfa-1 |
isunfa-1 | To address all issues possible (including breaking changes), run:
isunfa-1 | npm audit fix --force
isunfa-1 |
isunfa-1 | Some issues need review, and may require choosing
isunfa-1 | a different dependency.
isunfa-1 |
isunfa-1 | Run `npm audit` for details.
isunfa-1 | npm notice
isunfa-1 | npm notice New minor version of npm available! 10.8.2 -> 10.9.0
isunfa-1 | npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.0
isunfa-1 | npm notice To update run: npm install -g npm@10.9.0
isunfa-1 | npm notice
isunfa-1 |
isunfa-1 | added 138 packages in 4s
isunfa-1 |
isunfa-1 | 13 packages are looking for funding
isunfa-1 | run `npm fund` for details
isunfa-1 | Prisma schema loaded from prisma/schema.prisma
isunfa-1 | Datasource "db": PostgreSQL database "isunfa" at "211.22.118.147:5432"
isunfa-1 |
isunfa-1 | 2 migrations found in prisma/migrations
isunfa-1 |
isunfa-1 | Error: ERROR: permission denied for schema public
isunfa-1 | 0: sql_schema_connector::sql_migration_persistence::initialize
isunfa-1 | with namespaces=None
isunfa-1 | at schema-engine/connectors/sql-schema-connector/src/sql_migration_persistence.rs:14
isunfa-1 | 1: schema_core::state::ApplyMigrations
isunfa-1 | at schema-engine/core/src/state.rs:226
isunfa-1 |
isunfa-1 | Running seed command `ts-node -r tsconfig-paths/register --compiler-options {"module":"CommonJS"} prisma/seed.ts` ...
isunfa-1 |
isunfa-1 | An error occurred while running the seed command:
isunfa-1 | Error: Command failed with exit code 1: ts-node -r tsconfig-paths/register --compiler-options {"module":"CommonJS"} prisma/seed.ts
isunfa-1 |
isunfa-1 | > iSunFA@0.8.2+41 build
isunfa-1 | > npm run generate && next build
isunfa-1 |
isunfa-1 |
isunfa-1 | > iSunFA@0.8.2+41 generate
isunfa-1 | > prisma generate
isunfa-1 |
isunfa-1 | Prisma schema loaded from prisma/schema.prisma
isunfa-1 |
isunfa-1 | ✔ Generated Prisma Client (v5.20.0) to ./node_modules/@prisma/client in 379ms
isunfa-1 |
isunfa-1 | Start by importing your Prisma Client (See: http://pris.ly/d/importing-client)
isunfa-1 |
isunfa-1 | Tip: Curious about the SQL queries Prisma ORM generates? Optimize helps you enhance your visibility: https://pris.ly/tip-2-optimize
isunfa-1 |
isunfa-1 | ▲ Next.js 14.2.15
isunfa-1 | - Experiments (use with caution):
isunfa-1 | · instrumentationHook
isunfa-1 |
isunfa-1 | Linting and checking validity of types ...
isunfa-1 |
isunfa-1 | ./src/components/certificate/certificate_table.tsx
isunfa-1 | 43:12 Warning: Classname 'h-fit-content' is not a Tailwind CSS class! tailwindcss/no-custom-classname
isunfa-1 |
isunfa-1 | info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
isunfa-1 | Creating an optimized production build ...
isunfa-1 | ✓ Compiled successfully
isunfa-1 | Collecting page data ...
isunfa-1 | Generating static pages (0/79) ...
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | Generating static pages (19/79)
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | Generating static pages (39/79)
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | Generating static pages (59/79)
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | ✓ Generating static pages (79/79)
isunfa-1 | Finalizing page optimization ...
isunfa-1 | Collecting build traces ...
isunfa-1 |
isunfa-1 | Route (pages) Size First Load JS
isunfa-1 | ┌ ● / 8.06 kB 214 kB
isunfa-1 | ├ /_app 0 B 199 kB
isunfa-1 | ├ ○ /404 182 B 199 kB
isunfa-1 | ├ ● /add_voucher 4.37 kB 208 kB
isunfa-1 | ├ ƒ /api/auth/[...nextauth] 0 B 199 kB
isunfa-1 | ├ ƒ /api/auth/error 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/account_public 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/account_public/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/audit_report 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/audit_report/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/account 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/account/[accountId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/account/[accountId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/account/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/admin 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/admin/[adminId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ask_ai/[resultId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ask_ai/[resultId]/status 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/asset 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/asset/[assetId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/contract 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/contract/[contractId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/department 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/department/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/employee 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/employee/[employeeId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/employee/[employeeId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/employee/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/file 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/file/[fileId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/image/[imageId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/income_expense_trend 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/income_expense_trend/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/invitation 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/invoice 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/invoice/[invoiceId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/journal 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/journal/[journalId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/kyc 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/labor_cost_chart 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/labor_cost_chart/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ocr 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ocr/[resultId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ocr/[resultId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ocr/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/order 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/payment 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/profit_comparison 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/profit_comparison/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/profit_insight 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/profit_insight/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project_progress 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project_progress/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId]/progress 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId]/sale 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId]/value 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId]/work_rate 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/public_key 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/report 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/report/[reportId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/[salaryId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/employee/[employeeId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/employee/[employeeId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/folder 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/folder/[folderId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/voucher 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/select 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/test/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/transfer_owner 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/voucher 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/voucher/[voucherId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/email 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/sign_out 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/status_info 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/user 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/user/[userId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/user/[userId]/agreement 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/user/[userId]/invitation 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/accounting_setting 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ask_ai 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ask_ai/[resultId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ask_ai/[resultId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ask_ai/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/asset 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/asset/[assetId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/asset/[assetId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/asset/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate/[certificateId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate/[certificateId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate/route_utils 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/company_setting 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/customer_vendor 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/customer_vendor/[customerVendorId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ledger 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ledger/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/pending_task 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/report 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/report/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/trial_balance 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/trial_balance/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/[voucherId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/[voucherId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/read 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/read.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/route_utils 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/encrypt 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/[jobId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/[jobId]/application 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/[jobId]/application.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/[jobId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/kyc 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/news 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/pusher 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/role 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/upload 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/action_log 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/agreement 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/invitation 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/pending_task 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/user_setting 0 B 199 kB
isunfa-1 | ├ ○ /beta/example 535 B 199 kB
isunfa-1 | ├ ○ /beta/job_record 2.63 kB 203 kB
isunfa-1 | ├ ƒ /beta/login 2.31 kB 202 kB
isunfa-1 | ├ ƒ /beta/select_role 3.05 kB 202 kB
isunfa-1 | ├ ● /mobile_upload 1.4 kB 200 kB
isunfa-1 | ├ ● /privacy-policy 1.67 kB 208 kB
isunfa-1 | ├ ● /reports 2.04 kB 207 kB
isunfa-1 | ├ ● /terms-of-service 1.67 kB 208 kB
isunfa-1 | ├ ● /users/accounting 1.69 kB 349 kB
isunfa-1 | ├ ƒ /users/accounting/[journalId] 1.68 kB 211 kB
isunfa-1 | ├ ● /users/accounting/add_new_voucher 7.27 kB 207 kB
isunfa-1 | ├ ƒ /users/accounting/certificate_list 36.5 kB 240 kB
isunfa-1 | ├ ● /users/accounting/journal_list 1.92 kB 217 kB
isunfa-1 | ├ ● /users/accounting/payable_receivable_list 3.53 kB 203 kB
isunfa-1 | ├ ● /users/accounting/voucher_list 4.28 kB 204 kB
isunfa-1 | ├ ● /users/asset 3.48 kB 203 kB
isunfa-1 | ├ ƒ /users/dashboard 11.6 kB 216 kB
isunfa-1 | ├ ● /users/kyc 28.3 kB 232 kB
isunfa-1 | ├ ƒ /users/login 2.52 kB 202 kB
isunfa-1 | ├ ● /users/project 4.19 kB 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/contracts 5.78 kB 213 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/dashboard 7.38 kB 215 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/journal 715 B 352 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/journal/[journalId] 675 B 213 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/journal/journal_list 1.14 kB 219 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report 2.62 kB 219 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report/analyses 661 B 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report/analyses/view/[reportId] 664 B 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report/financials 662 B 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report/financials/view/[reportId] 663 B 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/setting 5.07 kB 212 kB
isunfa-1 | ├ ƒ /users/reports/[reportId]/401-report 4.99 kB 209 kB
isunfa-1 | ├ ƒ /users/reports/[reportId]/balance_sheet 6.17 kB 206 kB
isunfa-1 | ├ ƒ /users/reports/[reportId]/cash_flow_statement 71 kB 270 kB
isunfa-1 | ├ └ css/a2790360f02ba622.css 43.9 kB
isunfa-1 | ├ ƒ /users/reports/[reportId]/income_statement 3.92 kB 209 kB
isunfa-1 | ├ ● /users/reports/analyses 5.02 kB 209 kB
isunfa-1 | ├ ƒ /users/reports/analyses/view/[reportId] 5.59 kB 210 kB
isunfa-1 | ├ ƒ /users/reports/financials 6.01 kB 210 kB
isunfa-1 | ├ ƒ /users/reports/financials/view/[reportId] 52.5 kB 257 kB
isunfa-1 | ├ └ css/50ded5cc2e3e0396.css 1.95 kB
isunfa-1 | ├ ● /users/reports/my_reports 7.01 kB 220 kB
isunfa-1 | ├ ● /users/salary 9.38 kB 213 kB
isunfa-1 | ├ ● /users/salary/bookkeeping 7.12 kB 211 kB
isunfa-1 | ├ ƒ /users/select_company 5.5 kB 210 kB
isunfa-1 | ├ ● /users/setting/accounting_title 4.09 kB 210 kB
isunfa-1 | ├ ● /users/setting/company_info 4.05 kB 210 kB
isunfa-1 | └ ● /voucher_detail 4.9 kB 204 kB
isunfa-1 | + First Load JS shared by all 226 kB
isunfa-1 | ├ chunks/framework-840cff9d6bb95703.js 44.8 kB
isunfa-1 | ├ chunks/main-239ddda6dc2e0550.js 32.8 kB
isunfa-1 | ├ chunks/pages/_app-f848a1be9d02ed9e.js 119 kB
isunfa-1 | ├ css/3c0bdadc922ea5d9.css 27.3 kB
isunfa-1 | └ other shared chunks (total) 1.67 kB
isunfa-1 |
isunfa-1 | ○ (Static) prerendered as static content
isunfa-1 | ● (SSG) prerendered as static HTML (uses getStaticProps)
isunfa-1 | ƒ (Dynamic) server-rendered on demand
isunfa-1 |
isunfa-1 | 2024-10-11T08:45:14: PM2 log: Launching in no daemon mode
isunfa-1 | 2024-10-11T08:45:14: PM2 log: App [isunfa:0] starting in -fork mode-
isunfa-1 | 2024-10-11T08:45:14: PM2 log: App [isunfa:0] online
isunfa-1 | > iSunFA@0.8.2+41 start
isunfa-1 | > next start
isunfa-1 | ▲ Next.js 14.2.15
isunfa-1 | - Local: http://localhost:5566
isunfa-1 | ✓ Starting...
isunfa-1 | ✓ Ready in 319ms
isunfa-1 | Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
isunfa-1 | Get:2 http://deb.debian.org/debian bookworm-updates InRelease [55.4 kB]
isunfa-1 | Get:3 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
isunfa-1 | Get:4 http://deb.debian.org/debian bookworm/main amd64 Packages [8787 kB]
isunfa-1 | Get:5 http://deb.debian.org/debian bookworm-updates/main amd64 Packages [2468 B]
isunfa-1 | Get:6 http://deb.debian.org/debian-security bookworm-security/main amd64 Packages [188 kB]
isunfa-1 | Fetched 9232 kB in 2s (5576 kB/s)
isunfa-1 | Reading package lists...
isunfa-1 | Reading package lists...
isunfa-1 | Building dependency tree...
isunfa-1 | Reading state information...
isunfa-1 | The following additional packages will be installed:
isunfa-1 | postgresql-client-15 postgresql-client-common
isunfa-1 | Suggested packages:
isunfa-1 | postgresql-15 postgresql-doc-15
isunfa-1 | The following NEW packages will be installed:
isunfa-1 | postgresql-client postgresql-client-15 postgresql-client-common
isunfa-1 | 0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded.
isunfa-1 | Need to get 1746 kB of archives.
isunfa-1 | After this operation, 8254 kB of additional disk space will be used.
isunfa-1 | Get:1 http://deb.debian.org/debian bookworm/main amd64 postgresql-client-common all 248 [35.1 kB]
isunfa-1 | Get:2 http://deb.debian.org/debian bookworm/main amd64 postgresql-client-15 amd64 15.8-0+deb12u1 [1701 kB]
isunfa-1 | Get:3 http://deb.debian.org/debian bookworm/main amd64 postgresql-client all 15+248 [10.1 kB]
isunfa-1 | debconf: delaying package configuration, since apt-utils is not installed
isunfa-1 | Fetched 1746 kB in 0s (3980 kB/s)
isunfa-1 | Selecting previously unselected package postgresql-client-common.
(Reading database ... 23254 files and directories currently installed.)
isunfa-1 | Preparing to unpack .../postgresql-client-common_248_all.deb ...
isunfa-1 | Unpacking postgresql-client-common (248) ...
isunfa-1 | Selecting previously unselected package postgresql-client-15.
isunfa-1 | Preparing to unpack .../postgresql-client-15_15.8-0+deb12u1_amd64.deb ...
isunfa-1 | Unpacking postgresql-client-15 (15.8-0+deb12u1) ...
isunfa-1 | Selecting previously unselected package postgresql-client.
isunfa-1 | Preparing to unpack .../postgresql-client_15+248_all.deb ...
isunfa-1 | Unpacking postgresql-client (15+248) ...
isunfa-1 | Setting up postgresql-client-common (248) ...
isunfa-1 | Setting up postgresql-client-15 (15.8-0+deb12u1) ...
isunfa-1 | update-alternatives: using /usr/share/postgresql/15/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
isunfa-1 | Setting up postgresql-client (15+248) ...
isunfa-1 | fatal: destination path '/isunfa/app' already exists and is not an empty directory.
isunfa-1 | From https://github.com/CAFECA-IO/iSunFA
isunfa-1 | * branch develop -> FETCH_HEAD
isunfa-1 | Already up to date.
isunfa-1 |
isunfa-1 | > iSunFA@0.8.2+41 prepare
isunfa-1 | > husky
isunfa-1 |
isunfa-1 |
isunfa-1 | up to date, audited 1229 packages in 2s
isunfa-1 |
isunfa-1 | 226 packages are looking for funding
isunfa-1 | run `npm fund` for details
isunfa-1 |
isunfa-1 | 3 low severity vulnerabilities
isunfa-1 |
isunfa-1 | To address all issues possible (including breaking changes), run:
isunfa-1 | npm audit fix --force
isunfa-1 |
isunfa-1 | Some issues need review, and may require choosing
isunfa-1 | a different dependency.
isunfa-1 |
isunfa-1 | Run `npm audit` for details.
isunfa-1 | npm notice
isunfa-1 | npm notice New minor version of npm available! 10.8.2 -> 10.9.0
isunfa-1 | npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.9.0
isunfa-1 | npm notice To update run: npm install -g npm@10.9.0
isunfa-1 | npm notice
isunfa-1 |
isunfa-1 | added 138 packages in 5s
isunfa-1 |
isunfa-1 | 13 packages are looking for funding
isunfa-1 | run `npm fund` for details
isunfa-1 | CREATE SCHEMA
isunfa-1 | Prisma schema loaded from prisma/schema.prisma
isunfa-1 | Datasource "db": PostgreSQL database "isunfa" at "211.22.118.147:5432"
isunfa-1 |
isunfa-1 | 2 migrations found in prisma/migrations
isunfa-1 |
isunfa-1 | Applying migration `0_init`
isunfa-1 | Applying migration `1_beta_change`
isunfa-1 |
isunfa-1 | The following migration(s) have been applied:
isunfa-1 |
isunfa-1 | migrations/
isunfa-1 | └─ 0_init/
isunfa-1 | └─ migration.sql
isunfa-1 | └─ 1_beta_change/
isunfa-1 | └─ migration.sql
isunfa-1 |
isunfa-1 | All migrations have been successfully applied.
isunfa-1 | Running seed command `ts-node -r tsconfig-paths/register --compiler-options {"module":"CommonJS"} prisma/seed.ts` ...
isunfa-1 |
isunfa-1 | An error occurred while running the seed command:
isunfa-1 | Error: Command failed with exit code 1: ts-node -r tsconfig-paths/register --compiler-options {"module":"CommonJS"} prisma/seed.ts
isunfa-1 |
isunfa-1 | > iSunFA@0.8.2+41 build
isunfa-1 | > npm run generate && next build
isunfa-1 |
isunfa-1 |
isunfa-1 | > iSunFA@0.8.2+41 generate
isunfa-1 | > prisma generate
isunfa-1 |
isunfa-1 | Prisma schema loaded from prisma/schema.prisma
isunfa-1 |
isunfa-1 | ✔ Generated Prisma Client (v5.20.0) to ./node_modules/@prisma/client in 447ms
isunfa-1 |
isunfa-1 | Start by importing your Prisma Client (See: http://pris.ly/d/importing-client)
isunfa-1 |
isunfa-1 | Tip: Want to react to database changes in your app as they happen? Discover how with Pulse: https://pris.ly/tip-1-pulse
isunfa-1 |
isunfa-1 | ▲ Next.js 14.2.15
isunfa-1 | - Experiments (use with caution):
isunfa-1 | · instrumentationHook
isunfa-1 |
isunfa-1 | Linting and checking validity of types ...
isunfa-1 |
isunfa-1 | ./src/components/certificate/certificate_table.tsx
isunfa-1 | 43:12 Warning: Classname 'h-fit-content' is not a Tailwind CSS class! tailwindcss/no-custom-classname
isunfa-1 |
isunfa-1 | info - Need to disable some ESLint rules? Learn more here: https://nextjs.org/docs/basic-features/eslint#disabling-rules
isunfa-1 | Creating an optimized production build ...
isunfa-1 | ✓ Compiled successfully
isunfa-1 | Collecting page data ...
isunfa-1 | Generating static pages (0/79) ...
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | Generating static pages (19/79)
isunfa-1 | Generating static pages (39/79)
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | Generating static pages (59/79)
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | react-i18next:: You will need to pass in an i18next instance by using initReactI18next
isunfa-1 | ✓ Generating static pages (79/79)
isunfa-1 | Finalizing page optimization ...
isunfa-1 | Collecting build traces ...
isunfa-1 |
isunfa-1 | Route (pages) Size First Load JS
isunfa-1 | ┌ ● / 8.06 kB 214 kB
isunfa-1 | ├ /_app 0 B 199 kB
isunfa-1 | ├ ○ /404 182 B 199 kB
isunfa-1 | ├ ● /add_voucher 4.37 kB 208 kB
isunfa-1 | ├ ƒ /api/auth/[...nextauth] 0 B 199 kB
isunfa-1 | ├ ƒ /api/auth/error 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/account_public 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/account_public/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/audit_report 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/audit_report/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/account 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/account/[accountId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/account/[accountId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/account/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/admin 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/admin/[adminId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ask_ai/[resultId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ask_ai/[resultId]/status 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/asset 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/asset/[assetId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/contract 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/contract/[contractId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/department 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/department/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/employee 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/employee/[employeeId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/employee/[employeeId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/employee/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/file 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/file/[fileId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/image/[imageId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/income_expense_trend 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/income_expense_trend/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/invitation 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/invoice 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/invoice/[invoiceId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/journal 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/journal/[journalId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/kyc 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/labor_cost_chart 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/labor_cost_chart/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ocr 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ocr/[resultId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ocr/[resultId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/ocr/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/order 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/payment 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/profit_comparison 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/profit_comparison/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/profit_insight 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/profit_insight/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project_progress 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project_progress/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId]/progress 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId]/sale 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId]/value 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/project/[projectId]/work_rate 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/public_key 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/report 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/report/[reportId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/[salaryId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/employee/[employeeId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/employee/[employeeId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/folder 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/folder/[folderId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/salary/voucher 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/select 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/test/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/transfer_owner 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/voucher 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/company/[companyId]/voucher/[voucherId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/email 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/sign_out 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/status_info 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/user 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/user/[userId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/user/[userId]/agreement 0 B 199 kB
isunfa-1 | ├ ƒ /api/v1/user/[userId]/invitation 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/accounting_setting 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ask_ai 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ask_ai/[resultId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ask_ai/[resultId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ask_ai/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/asset 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/asset/[assetId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/asset/[assetId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/asset/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate/[certificateId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate/[certificateId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/certificate/route_utils 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/company_setting 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/customer_vendor 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/customer_vendor/[customerVendorId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ledger 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/ledger/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/pending_task 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/report 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/report/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/trial_balance 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/trial_balance/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/[voucherId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/[voucherId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/read 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/read.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/company/[companyId]/voucher/route_utils 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/encrypt 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/[jobId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/[jobId]/application 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/[jobId]/application.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/[jobId]/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/job/index.test 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/kyc 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/news 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/pusher 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/role 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/upload 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId] 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/action_log 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/agreement 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/invitation 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/pending_task 0 B 199 kB
isunfa-1 | ├ ƒ /api/v2/user/[userId]/user_setting 0 B 199 kB
isunfa-1 | ├ ○ /beta/example 535 B 199 kB
isunfa-1 | ├ ○ /beta/job_record 2.63 kB 203 kB
isunfa-1 | ├ ƒ /beta/login 2.31 kB 202 kB
isunfa-1 | ├ ƒ /beta/select_role 3.05 kB 202 kB
isunfa-1 | ├ ● /mobile_upload 1.4 kB 200 kB
isunfa-1 | ├ ● /privacy-policy 1.67 kB 208 kB
isunfa-1 | ├ ● /reports 2.04 kB 207 kB
isunfa-1 | ├ ● /terms-of-service 1.67 kB 208 kB
isunfa-1 | ├ ● /users/accounting 1.69 kB 349 kB
isunfa-1 | ├ ƒ /users/accounting/[journalId] 1.68 kB 211 kB
isunfa-1 | ├ ● /users/accounting/add_new_voucher 7.27 kB 207 kB
isunfa-1 | ├ ƒ /users/accounting/certificate_list 36.5 kB 240 kB
isunfa-1 | ├ ● /users/accounting/journal_list 1.92 kB 217 kB
isunfa-1 | ├ ● /users/accounting/payable_receivable_list 3.53 kB 203 kB
isunfa-1 | ├ ● /users/accounting/voucher_list 4.28 kB 204 kB
isunfa-1 | ├ ● /users/asset 3.48 kB 203 kB
isunfa-1 | ├ ƒ /users/dashboard 11.6 kB 216 kB
isunfa-1 | ├ ● /users/kyc 28.3 kB 232 kB
isunfa-1 | ├ ƒ /users/login 2.52 kB 202 kB
isunfa-1 | ├ ● /users/project 4.19 kB 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/contracts 5.78 kB 213 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/dashboard 7.38 kB 215 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/journal 715 B 352 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/journal/[journalId] 675 B 213 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/journal/journal_list 1.14 kB 219 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report 2.62 kB 219 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report/analyses 661 B 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report/analyses/view/[reportId] 664 B 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report/financials 662 B 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/report/financials/view/[reportId] 663 B 208 kB
isunfa-1 | ├ ƒ /users/project/[projectId]/setting 5.07 kB 212 kB
isunfa-1 | ├ ƒ /users/reports/[reportId]/401-report 4.99 kB 209 kB
isunfa-1 | ├ ƒ /users/reports/[reportId]/balance_sheet 6.17 kB 206 kB
isunfa-1 | ├ ƒ /users/reports/[reportId]/cash_flow_statement 71 kB 270 kB
isunfa-1 | ├ └ css/a2790360f02ba622.css 43.9 kB
isunfa-1 | ├ ƒ /users/reports/[reportId]/income_statement 3.92 kB 209 kB
isunfa-1 | ├ ● /users/reports/analyses 5.02 kB 209 kB
isunfa-1 | ├ ƒ /users/reports/analyses/view/[reportId] 5.59 kB 210 kB
isunfa-1 | ├ ƒ /users/reports/financials 6.01 kB 210 kB
isunfa-1 | ├ ƒ /users/reports/financials/view/[reportId] 52.5 kB 257 kB
isunfa-1 | ├ └ css/50ded5cc2e3e0396.css 1.95 kB
isunfa-1 | ├ ● /users/reports/my_reports 7.01 kB 220 kB
isunfa-1 | ├ ● /users/salary 9.38 kB 213 kB
isunfa-1 | ├ ● /users/salary/bookkeeping 7.12 kB 211 kB
isunfa-1 | ├ ƒ /users/select_company 5.5 kB 210 kB
isunfa-1 | ├ ● /users/setting/accounting_title 4.09 kB 210 kB
isunfa-1 | ├ ● /users/setting/company_info 4.05 kB 210 kB
isunfa-1 | └ ● /voucher_detail 4.9 kB 204 kB
isunfa-1 | + First Load JS shared by all 226 kB
isunfa-1 | ├ chunks/framework-840cff9d6bb95703.js 44.8 kB
isunfa-1 | ├ chunks/main-239ddda6dc2e0550.js 32.8 kB
isunfa-1 | ├ chunks/pages/_app-f848a1be9d02ed9e.js 119 kB
isunfa-1 | ├ css/3c0bdadc922ea5d9.css 27.3 kB
isunfa-1 | └ other shared chunks (total) 1.67 kB
isunfa-1 |
isunfa-1 | ○ (Static) prerendered as static content
isunfa-1 | ● (SSG) prerendered as static HTML (uses getStaticProps)
isunfa-1 | ƒ (Dynamic) server-rendered on demand
isunfa-1 |
isunfa-1 | 2024-10-11T09:18:06: PM2 log: Launching in no daemon mode
isunfa-1 | 2024-10-11T09:18:06: PM2 log: App [isunfa:0] starting in -fork mode-
isunfa-1 | 2024-10-11T09:18:06: PM2 log: App [isunfa:0] online
isunfa-1 | > iSunFA@0.8.2+41 start
isunfa-1 | > next start
isunfa-1 | ▲ Next.js 14.2.15
isunfa-1 | - Local: http://localhost:5566
isunfa-1 | ✓ Starting...
isunfa-1 | ✓ Ready in 293ms
took 8 hrs done
Summary
[功能] - 修改iSunFA的伺服器swarm,保證所有服務基於該swarm
Tasks
確保每個 docker compose 裡的服務不依賴外部服務/url
iSunFA 連接 docker compose 的 postgres 遇到的問題
確保每個服務可以被外部訪問
Dependencies
No response
Other Dependencies
No response
Additional Notes
No response