Compare commits

...

118 Commits

Author SHA1 Message Date
7b6ccf88bd Merge pull request 'complete beOS Pro rebrand and add native verification' (#1) from beos-rebrand-native-ci into main
All checks were successful
Native Verification / Build Docs (push) Successful in 1m7s
Native Verification / Build App-Service Native (push) Successful in 36s
Native Verification / Build Daemon Native (push) Successful in 28s
Reviewed-on: #1
2026-03-10 14:29:31 +01:00
df38148149 continue beOS rebrand and add native verification
Some checks failed
Native Verification / Build Docs (pull_request) Successful in 1m12s
Native Verification / Build App-Service Native (pull_request) Successful in 1m27s
Native Verification / Build Daemon Native (pull_request) Successful in 42s
Lint and Test Charts / lint-test (pull_request_target) Failing after 19s
Lint and Test Charts / test-version (pull_request_target) Successful in 0s
Lint and Test Charts / push-image (pull_request_target) Failing after 15s
Lint and Test Charts / upload-cli (pull_request_target) Failing after 1m15s
Lint and Test Charts / upload-daemon (pull_request_target) Failing after 1m12s
Lint and Test Charts / push-deps (pull_request_target) Has been skipped
Lint and Test Charts / push-deps-arm64 (pull_request_target) Has been skipped
Lint and Test Charts / push-image-arm64 (pull_request_target) Has been cancelled
Lint and Test Charts / upload-package (pull_request_target) Has been cancelled
Lint and Test Charts / install-test (pull_request_target) Has been cancelled
2026-03-10 13:48:45 +01:00
3e07c556c5 finish removing legacy app branding references 2026-03-10 09:28:38 +01:00
7cd5dc8aa8 continue app rebrand cleanup 2026-03-10 08:45:56 +01:00
e0aabbfe7d align app copy and helpers with beOS naming 2026-03-10 08:45:14 +01:00
97a40233ed rename app flows and strings for beOS 2026-03-10 08:41:30 +01:00
506cb1902d rename Go module paths to beos 2026-03-10 08:05:41 +01:00
1fdbd67a1b refresh app language and brand assets for beOS 2026-03-09 13:20:08 +01:00
cc344bbe64 rename termipass client internals to beOS 2026-03-09 12:30:16 +01:00
e4eae0361d rename app internals away from Olares branding 2026-03-09 11:45:47 +01:00
be5918878c rebrand subsystem docs to beOS Pro 2026-03-09 10:45:55 +01:00
81f1cc48eb update platform guides and remote links for beOS Pro 2026-03-09 10:40:45 +01:00
d4e933688d rebrand docs content for beOS Pro 2026-03-09 10:19:35 +01:00
150f4a8ef4 refresh settings and device copy for beOS Pro 2026-03-09 10:08:35 +01:00
d8d6889113 clean up remaining beOS Pro user-facing copy 2026-03-09 09:59:32 +01:00
bee4474a74 rebrand remaining cli and docs surfaces 2026-03-09 09:38:18 +01:00
c7ebe7213f remove vendor defaults from network and backup flows 2026-03-09 09:30:06 +01:00
ee31b19012 rework app onboarding for beOS Pro 2026-03-09 09:26:17 +01:00
422bbf32df rename daemon surfaces to beosd 2026-03-09 09:05:07 +01:00
fe630a89ca refactor bootstrap for local-first beOS Pro 2026-03-09 09:01:35 +01:00
Power-One-2025
11e627dc1f docs: add ZH version for troubleshooting topic (#2641)
* initial draft

* refine in progress

* add zh version for troubleshooting

* Apply suggestions from code review

Co-authored-by: Meow33 <supermonkey03@163.com>

* address comments

* address comments

* fix link

---------

Co-authored-by: Meow33 <supermonkey03@163.com>
2026-03-06 22:10:01 +08:00
Meow33
451313329a docs: update shields images and architecture link in README (#2637)
* Updated shields images and architecture link in README

* Updated the link of Compare Olares and NAS

* Updated link.
2026-03-06 20:19:33 +08:00
Power-One-2025
3c4cc84692 docs: add known issue for initial setup failure at 9% (#2639)
* initial draft

* add the topic Known Issues

* add known issues to zh

* fix toc error

* address comments

* address comments

* image size opt

* use workaround

* Apply suggestions from code review

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* address comments in en and zh

---------

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>
2026-03-06 18:09:19 +08:00
Power-One-2025
5e3dd484a2 docs: add troubleshooting topic for network not ready (#2636)
* add troubleshooting for network not ready

* refines for accuracy

* add toc node

* Update docs/.vitepress/en.ts

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* address comments

* refine title

* update the word olares

* address comments

* address comments

* Apply suggestions from code review

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* address comment

---------

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>
2026-03-06 14:02:15 +08:00
Meow33
f714ea6566 docs: add troubleshooting guide for system error in LarePass (#2618)
* docs: add troubleshooting guide for system error

* Updated title

* Updated based on suggestions.

* Updated based on suggestions.

* Apply suggestions from code review

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* Updated based on comments.

* Apply suggestions from code review

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

---------

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>
2026-03-06 11:06:49 +08:00
wiy
4d9e0da111 feat(olares-app): update version to v1.9.13 (#2634) 2026-03-06 00:23:36 +08:00
dkeven
8f7a399683 fix(cli): clear master host config when preparing (#2633) 2026-03-05 21:51:05 +08:00
eball
fb5ae74c6e fix(daemon): improve host IP validation and error handling in CheckCurrentStatus (#2632) 2026-03-05 20:40:41 +08:00
Yajing
daf5dc2092 docs: add remote ssh steps for Olares One (#2621)
* add remote ssh

* address comments
2026-03-05 20:33:37 +08:00
eball
9ac793b479 authelia: update bridge builder to accept pointer to configuration (#2631) 2026-03-05 19:52:01 +08:00
aby913
072f28436c fix(bfl): update l4 version (#2629) 2026-03-05 19:10:31 +08:00
Meow33
776848d2e2 docs: add application environment variables (#2577)
* docs: updated installation env vars and runtime values references

* docs: fix content

* docs: update content

* Update table of contents, and refactored docs.

* Fixed capitalization.

* batch update to fix readability

* refactored declarative env var

* Updated translation.

* Updated based on suggestions.

* Updated based on suggestions.

---------

Co-authored-by: yajing wang <413741312@qq.com>
2026-03-05 17:52:22 +08:00
Power-One-2025
480cecfe84 docs: generalize Olares Space Basic redemption instructions for broader audience (#2627)
* generalize instructions for broader audience

* update zh version and fix punctuation
2026-03-05 16:15:52 +08:00
Meow33
22a364d58a docs: update UI and screenshots for Windows VM (#2612)
* Updated UI and screenshots.

* Updated for Olares One

* Apply suggestions from code review

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* Updated links and screenshot.

* Fixed typos.

---------

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>
2026-03-05 16:15:33 +08:00
eball
683e31c6ef fix(cli): remove error logging for GB10 chip check (#2626) 2026-03-05 14:15:11 +08:00
Yajing
1ae3a78286 docs: add LarePass VPN troubleshooting docs (#2606)
* add larepass vpn troubleshooting

* Apply suggestions

Co-authored-by: Meow33 <supermonkey03@163.com>

---------

Co-authored-by: Meow33 <supermonkey03@163.com>
2026-03-05 12:38:30 +08:00
aby913
7404674a20 fix(bfl): remove set custom domain on cloudflare (#2624)
* fix(bfl): remove set custom domain on cloudflare (#2619)

* fix(bfl): remove set custom domain on cloudflare
2026-03-05 11:04:15 +08:00
Power-One-2025
f116970ad0 docs: add manual restart instructions and refine discord channel config (#2617)
* add note and faq for manual restart

* update channel configuration for accuracy

* change for consistency
2026-03-05 10:29:42 +08:00
wiy
b6e866ce75 feat(olares-app): update version to v1.9.12 (#2623) 2026-03-04 23:51:04 +08:00
dkeven
39bd546ac8 fix(manifest): add password reset path for cli in auth provider (#2622) 2026-03-04 23:50:19 +08:00
eball
5820b5612e fix(daemon): increase retry count for USB device detection (#2620) 2026-03-04 23:49:37 +08:00
Teng
ef78e21933 docs: update Olares Manifest to 0.11.0 (#2527)
* update Olares Manifest to 0.11.0

* fix typo

* Update manifest.md

* Update manifest.md

* Update manifest.md

* Apply suggestions from code review

Co-authored-by: Meow33 <supermonkey03@163.com>

* Apply suggestions from code review

* Apply suggestions from code review

* Apply suggestions from code review

Co-authored-by: Meow33 <supermonkey03@163.com>

---------

Co-authored-by: Meow33 <supermonkey03@163.com>
2026-03-04 19:11:16 +08:00
eball
8ce8b6c976 feat(cli): add time synchronization check using chronyc (#2616)
* feat(cli): add time synchronization check using chronyc

* feat(cli): update time synchronization check to validate stratum value
2026-03-04 14:43:42 +08:00
dkeven
cbab40a597 feat(bfl): use unified remote api env to query external ip (#2614)
* feat(bfl): use unified remote api env to query external ip (#2611)

* chore(bfl): update bfl image version to v0.4.41
2026-03-04 00:19:03 +08:00
dkeven
14691ea3ec feat(daemon): use unified remote api env to query external ip (#2613) 2026-03-04 00:18:25 +08:00
Power-One-2025
98f123fbf1 docs: add persona setup for OpenClaw tutorial (#2605)
* Add: Personalize OpenClaw

* simplify a message

* refinements for accuracy

* remove redundant text

* tag the step with Optional

* address comments

* adjust image size

* adjust image size
2026-03-03 21:43:07 +08:00
Jeremiah Lee
8f5023ce17 docs: fix broken shields images and architecture link in README (#2608)
- shields.io is case sensitive for the repo name (capital O Olares), resulting in "invalid" text rendering in badge
- architecture URL in docs moved without redirect
2026-03-03 20:39:48 +08:00
Yajing
4467bc61df docs: restructure factory reset and reinstall docs for Olares One (#2607)
* restructure factory reset and reinstall docs

* address comment
2026-03-03 20:35:52 +08:00
eball
85f1224616 cli: update etcd service template to use network-online.target (#2603) 2026-03-03 15:00:56 +08:00
eball
4b3a42d728 authelia: fix bug of sub-policy failed if set it to two-factor (#2601)
authelia: fix sub-policy failed when the main policy is internal
2026-03-03 13:11:00 +08:00
berg
3c821cbedb system frontend: fix system app launch and display bugs. (#2600)
* feat: update system frontend version

* feat: update system frontend version

---------

Co-authored-by: eball <liuy102@hotmail.com>
2026-03-03 13:10:36 +08:00
aby913
3129b295ce l4-bfl-proxy: fix multi users app custom domain (#2599)
* l4-bfl-proxy: fix multi users app custom domain (#2597)

* l4-bfl-proxy: fix multi users app custom domain

* fix: update error handling to check for both 403 and 404 HTTP status codes in upload scripts

---------

Co-authored-by: eball <liuy102@hotmail.com>
2026-03-03 13:09:56 +08:00
eball
76bde01b86 daemon: enhance USB device mounting by dynamically setting options based on filesystem type (#2596)
fix: enhance USB device mounting by dynamically setting options based on filesystem type
2026-03-03 13:09:11 +08:00
dkeven
32c652205d fix(appservice): avoid race condition between upgrade & applyenv (#2594)
* fix(appservice): avoid race condition between upgrade & applyenv (#2593)

* chore(appservice): update image version to 0.5.5

---------

Co-authored-by: eball <liuy102@hotmail.com>
2026-03-03 13:08:33 +08:00
Meow33
817316c1d6 docs: updated wise and desktop docs (#2586)
* docs: updated wise and desktop docs

* Refined expressions.

* Updated larepass index

* refine wording

* Updated translation.

* Update docs/manual/larepass/index.md

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

---------

Co-authored-by: yajing wang <413741312@qq.com>
Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>
2026-03-03 11:54:15 +08:00
eball
e03eb40ed8 fix: coscmd invalid parameters 2026-03-03 00:44:47 +08:00
eball
79b7d82748 Add VERSION environment variable to workflow 2026-03-02 23:59:23 +08:00
eball
20344416f8 fix: update error handling to check for both 403 and 404 HTTP status codes in upload scripts 2026-03-02 22:33:27 +08:00
eball
8c59050529 fix: remove unnecessary 'cp' argument from coscmd upload commands in release workflows 2026-03-02 15:18:40 +08:00
eball
f932d10916 fix: update upload command in release workflows to remove unnecessary 'cp' argument 2026-03-02 15:15:45 +08:00
eball
e4762d880b fix: remove public-read ACL from coscmd upload commands in release workflows 2026-03-02 15:08:27 +08:00
eball
017b2e2acd ci: change cdn backend storage to cos (#2592) 2026-03-02 14:55:26 +08:00
dkeven
d3adeced3f fix(cli): dynamic creation of nvidia runtimeclass (#2591) 2026-03-02 13:50:29 +08:00
hysyeah
48038504a7 fix: add kubeblocks addon chart image to manifest (#2590) 2026-03-02 13:50:04 +08:00
Yajing
d17d8fca14 docs: update Windows local access steps & tidy wording (#2587)
update Windows .local access & tidy wording
2026-03-02 13:23:57 +08:00
Teng
35770fbe46 docs: fix model name used in tutorial (#2582)
* fix model name used in tutorial

* Update docs/use-cases/openclaw.md

---------

Co-authored-by: Power-One-2025 <zhengchunhong@bytetrade.io>
2026-02-28 22:37:40 +08:00
Yajing
39cb3335d6 docs: fix & streamline ssh access (#2584)
fix & streamline ssh access
2026-02-28 22:29:49 +08:00
Yajing
0e1208d555 docs: add how to check SSH password in vault (#2571)
* add how to check SSH password in vault

* reuse reset ssh content, improve wording & flow
2026-02-28 14:24:10 +08:00
Yajing
65fa0c0da8 docs: add factory reset via BIOS and reinstall via USB (#2576)
* add factory reset via BIOS and reinstall via USB

* refine wording & add screenshots

* add zh docs

* address comments
2026-02-28 13:12:21 +08:00
eball
cf7125aac8 cli, daemon: enhance DGX Spark support and update GPU type handling (#2496)
* feat(gpu): enhance DGX Spark support and update GPU type handling

* feat(amdgpu): refactor AMD GPU detection and support for GB10 chip and APU

* feat(connector): enhance GB10 chip detection with environment variable support

* feat(gpu): enhance DGX Spark support and update GPU type handling

* feat(amdgpu): refactor AMD GPU detection and support for GB10 chip and APU

* feat(connector): enhance GB10 chip detection with environment variable support

* feat: add nvidia device plugin for gb10

* fix(gpu): update pod selector for hami-device-plugin based on GB10 chip detection

fix(deploy): bump app-service image version to 0.4.78

* feat: enable CGO for building on ARM architecture and adjust build constraints for Linux

* feat: enhance multi-architecture support for ARM64 in release workflow

* feat: update multi-arch setup for ARM64 in release workflow

* feat: enhance ARM64 multi-architecture support in release workflow

* feat: streamline ARM64 cross-compilation setup in release workflow

* feat: enhance ARM64 support by adding architecture-specific package installations

* feat: update ARM64 package sources in release workflow for improved compatibility

* feat: amd device plugin and container toolkit install

* refactor: remove GB10 chip type check from GPU info update

* feat(gpu): update hami version to v2.6.10-compatible for spark

* fix: remove gb10 device plugin checking

* fix: update klauspost/cpuid to v2.3.0

* fix: amd gpu check (#2522)

* feat: enhance storage device detection with USB serial properties

* feat: update hami version to v2.6.11-compatible-arm

* feat: add chip type support for AMD and NVIDIA GPUs in node label updates

* feat(gpu): supports auto binding GPU to app

* feat(gpu): remove chip type handling from GPU label updates

* feat(gpu): remove GPU type specification from DaemonSet and values.yaml

* feat(gpu): remove GB10 device plugin installation and related checks

* feat(gpu): update HAMi to v2.6.11

---------

Co-authored-by: dkeven <dkvvven@gmail.com>
Co-authored-by: hys <hysyeah@gmail.com>
2026-02-28 11:44:02 +08:00
eball
46ba0e64e8 app-service: support injecting gpu memory and container selection (#2581)
* fix: failed release upgrade

* fix: helm upgrade do not use atomic param and allow upgrade failed release

* fix: v2 app stop

* fix: check k8s request before into installing state

* fix: add spec ports

* fix: set amd apu/gpu limit key to amd.com/gpu

* fix: stop app if it is hami cause unschedule no wait (#2531)

* fix: stop app if it is hami cause unschedule

* ingore param from req if size=0

* update appservice image tag to 0.5.3

* feat: support injecting gpu memory and container selection (#2580)

* refactor: unify GPU resource handling and remove hardcoded values

* fix: handle CPU type selection in GPU resource management

* feat: enhance GPU resource management with memory limits and chip type handling

* feat: update GPU resource patching to support selective container injection

* feat: adjust GPU memory format in deployment patching for compatibility

* fix: revert unchanged file

* Revert "fix: revert unchanged file"

This reverts commit 5f48862758.

* fix: revert unchanged file

* chore: update app-service image tag to 0.5.4

---------

Co-authored-by: hys <hysyeah@gmail.com>
2026-02-27 23:43:29 +08:00
Power-One-2025
a15fe1e3e0 docs: revamp the "Advanced" page (previously "Developer") (#2534)
* update images and related descriptions

* Revamp the Developer resources page

* address previous comments

* Revamp zh version of Developer resources

* update Settings index page
2026-02-27 23:28:27 +08:00
dkeven
1b3305dd98 fix: conditionally install storage for juicefs (#2579) 2026-02-27 21:44:11 +08:00
Yajing
54f2996efe docs: add troubleshooting guide for missing apps in Market (#2574)
* add troubleshooting guide for missing apps in Market

* address comment
2026-02-27 19:36:35 +08:00
wiy
7870520b57 feat(olares-app): update olares-app version to v1.9.6 (#2573) 2026-02-27 14:25:52 +08:00
Power-One-2025
2dbd99d64a docs: update installation method of drivers on windows (#2566)
* update installation method

* add image, update zh version

* add missing en version

* refine link style

* add one package driver installation for windows

* update toc labels

* update zh version

* naming consistency

* address comments

* update method to use drive package only

* update zh version

* update a note

* fix tip display

* remove redundant word
2026-02-26 23:22:17 +08:00
Power-One-2025
44d3f5d26a docs: update the initialization steps for OpenClaw tutorial (#2567)
* update initialization steps

* remove outdated steps, fix indentation

* add image for easy understanding

* add images

* update initialization, pairing, add upgrade notes

* change to use complete command name

* refine title to be concise

* address comment
2026-02-26 22:41:39 +08:00
Yajing
0f67f6227f docs: add troubleshooting guide for memory not released after stopping apps (#2565)
* add troubleshooting guide for memory not released after stopping apps

* add zh-cn version & fix wording

* Apply suggestions

* Apply suggestions
2026-02-26 22:35:38 +08:00
Power-One-2025
21e1c06794 docs: updates for releasing resources and uninstalling shared apps (#2568)
* faq on free up resources

* update zh version

* update UI label in zh version for accuracy
2026-02-26 22:04:34 +08:00
wiy
838c146fc0 feat(olares-app): update olares-app version to v1.9.5 (#2563) 2026-02-26 10:44:38 +08:00
Power-One-2025
403460b9c2 docs: update method for installing drivers on windows (#2564)
* update installation method

* add image, update zh version

* add missing en version

* refine link style
2026-02-25 23:50:39 +08:00
Yajing
9f1800c8c6 docs: fix space nav display, extract use-case/developer sidebars, add note in space docs (#2562)
* fix nav display issues, extract use case & developer docs

* fix wording for space docs note

* fix links

* address comments
2026-02-25 23:17:59 +08:00
wiy
29756b392e olares app: Use the Roboto font to match the theme of the rest of the applications (#2554) 2026-02-25 22:27:19 +08:00
Yajing
fd122768e7 docs: update custom domain tutorial screenshots and align copy with latest UI (#2559)
update screenshots to align with latest UI
2026-02-25 22:17:59 +08:00
hysyeah
6c40d3a288 cli: upgrade l4-bfl-proxy to v0.3.11 (#2557) 2026-02-25 21:46:22 +08:00
eball
5b843d19e4 l4-bfl-proxy: skip nginx reload if configuration has not changed (#2556)
* fix: skip invalid expose port (#2434)

* fix: skip nginx reload if configuration has not changed

* fix: update L4_PROXY_IMAGE_VERSION to v0.3.11 in bfl_deploy.yaml and Olares.yaml

---------

Co-authored-by: hysyeah <hysyeah@gmail.com>
2026-02-25 17:44:08 +08:00
Power-One-2025
97e2b82d0e docs: update content related to reference app (#2530)
* updates for reference apps

* more updates for reference app
2026-02-25 13:29:45 +08:00
Ethan Collins
8614fa6253 Use the Robot font to match the theme of the rest of the applications 2026-02-24 09:35:36 -07:00
eball
b4966d5e38 bfl: add sync urls to master node (#2540)
* fix: myapps api add rawAppName field

* update bfl api image tag to v0.4.39

* feat: enhance user login background handling with style support (#2462)

* bfl: enhance user login background handling with style support

* fix: remove deprecated ingress mode handling from NginxController

* fix: update ingress image version to v0.3.29

* feat(bfl): supports switch on/off access from external network (#2513)

* fix: bfl add sync urls to master node (#2537)

* fix: update bfl-ingress image to v0.3.30 (#2539)

update bfl-ingress to v0.3.30

---------

Co-authored-by: hys <hysyeah@gmail.com>
Co-authored-by: dkeven <82354774+dkeven@users.noreply.github.com>
Co-authored-by: lovehunter9 <39935488+lovehunter9@users.noreply.github.com>
2026-02-13 19:48:13 +08:00
hysyeah
a7f698faf7 appservice: stop app if it is hami cause unschedule no wait (#2533)
* fix: failed release upgrade

* fix: helm upgrade do not use atomic param and allow upgrade failed release

* fix: v2 app stop

* fix: check k8s request before into installing state

* fix: add spec ports

* fix: set amd apu/gpu limit key to amd.com/gpu

* fix: stop app if it is hami cause unschedule no wait (#2531)

* fix: stop app if it is hami cause unschedule

* ingore param from req if size=0

* update appservice image tag to 0.5.3
2026-02-12 21:33:36 +08:00
dkeven
d7ea9b40d6 fix(cli): ignore finished pods in readiness check (#2528) 2026-02-12 20:55:17 +08:00
Power-One-2025
5a5d00d910 docs: add SMB account management to Settings (#2526)
add: SMB account manage in Settings
2026-02-12 17:14:54 +08:00
Power-One-2025
7de7ff989c docs: resolve comments on managing apps (#2523)
resolve comments on managing apps
2026-02-12 15:56:08 +08:00
wiy
1a1fcfac89 olares-app: update version to v1.9.3 (#2524)
* olares-app: update version to v1.9.3

* olares-app: update version to v1.9.3
2026-02-12 00:01:22 +08:00
Power-One-2025
452a6f2e78 docs: add skills and plugins management for OpenClaw (#2521)
* add skills and plugins management for OpenClaw

* resize images

* update: add minimum permissions
2026-02-11 17:54:18 +08:00
wiy
2d1abe8965 olares-app: update version to v1.9.2 (#2520)
* olares-app: update version to v1.9.2

* login: update version to v1.9.2
2026-02-11 00:33:47 +08:00
eball
744b4a3666 authelia: add auth type param to user regulation (#2518) 2026-02-10 20:28:01 +08:00
Power-One-2025
eb61923584 docs: update instructions per latest operations (#2517)
update step per latest operation
2026-02-10 15:35:21 +08:00
wiy
991d4e1dce olares-app: update version to v1.9.1 (#2515) 2026-02-09 23:49:27 +08:00
Yajing
5f513e2155 docs: fix sunshine address for .local domain and formatting for olares one docs (#2512)
* improve wording for olares one iso image download

* update the local address for sunshine

* fix formatting for ssh access
2026-02-09 23:22:03 +08:00
eball
7c3246dd9b bfl: remove deprecated ingress mode handling from NginxController (#2511)
* fix: myapps api add rawAppName field

* update bfl api image tag to v0.4.39

* feat: enhance user login background handling with style support (#2462)

* bfl: enhance user login background handling with style support

* fix: remove deprecated ingress mode handling from NginxController

* fix: update ingress image version to v0.3.29

---------

Co-authored-by: hys <hysyeah@gmail.com>
2026-02-09 20:06:34 +08:00
eball
362c6f1cde appservice: handle case for system applications without configuration in provider list (#2509)
* fix: failed release upgrade

* fix: helm upgrade do not use atomic param and allow upgrade failed release

* fix: v2 app stop

* fix: check k8s request before into installing state

* fix: add spec ports

* feat(appservice): support updating more fields in api & controller (#2472)

* fix: app uninstall delete data (#2478)

* fix: handle case for system apps without configuration in permission API (#2498)

* app-service: handle case for system apps without configuration in permission API

* fix: handle case for system applications without configuration in provider list (#2507)

* fix: update app-service image version to 0.5.2

---------

Co-authored-by: hys <hysyeah@gmail.com>
Co-authored-by: dkeven <82354774+dkeven@users.noreply.github.com>
2026-02-09 20:06:17 +08:00
Power-One-2025
d2e685abd8 docs: add OpenClaw tutorial (#2506)
* add OpenClaw tutorial

* modify images, refine text for clarity

* add to index page, add description

* adjust table

* remove hidden text

* refinements for consistency

* update for clarity and concise
2026-02-09 11:03:05 +08:00
Yajing
ae2b6b1353 docs: batch add docs for one (#2457)
* add index and faq

* add comfyui

* add vpn and ssh

* add deerflow

* add expand storage

* fix link

* fix meta

* refine first boot & spec

* refine redeem basic plan

* add open webui & fix formatting

* batch review

* add rest image

* update introduction

* add zh-cn

* add nav

* add screenshots

* add single-drive setup & update dual-drive setup

* add egpu

* add steam

* fix lint

* align en and zh-cn

* fix image path

* fix lint
2026-02-07 15:58:15 +08:00
berg
8cbdc32725 settings, market, files, vault, desktop: fix some ui bugs (#2503)
feat: update system frontend version
2026-02-05 23:51:13 +08:00
dkeven
c696be90e6 feat(cli): add more lines to default journalctl limit (#2502) 2026-02-05 23:50:46 +08:00
eball
9487ef8862 app-service: handle case for system apps without configuration in permission API (#2499)
* fix: failed release upgrade

* fix: helm upgrade do not use atomic param and allow upgrade failed release

* fix: v2 app stop

* fix: check k8s request before into installing state

* fix: add spec ports

* feat(appservice): support updating more fields in api & controller (#2472)

* fix: app uninstall delete data (#2478)

* fix: handle case for system apps without configuration in permission API (#2498)

* app-service: handle case for system apps without configuration in permission API

---------

Co-authored-by: hys <hysyeah@gmail.com>
Co-authored-by: dkeven <82354774+dkeven@users.noreply.github.com>
2026-02-05 23:50:09 +08:00
dkeven
a982a1568a fix(cli): seperate dmesg args for dmesg logs (#2497) 2026-02-05 23:49:05 +08:00
Power-One-2025
60d445f92a docs: add FAQs about activation and login (#2481)
* add: FAQs about activation and login

* Apply suggestion from @fnalways

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* Apply suggestion from @fnalways

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* address comments

---------

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>
2026-02-05 23:38:51 +08:00
Meow33
839133fc27 docs: add middleware data access and integration guides (#2444)
* docs: add guides to view middleware data

* docs: add guide for grafana

* docs: add guide for otel and integration guides for other middleware

* docs: add guide for elasticsearch

* docs: update based on suggestions

* Update zh.ts

* docs: update content

* docs: resolve conflict
2026-02-05 23:34:59 +08:00
Meow33
2e6405ae1b docs: add docs for distributing olares apps (#2484)
* docs: add docs for distributing olares apps

* docs: update translation

* Apply suggestion from @fnalways

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>

* docs: refine documentation structure

* docs: fix punctuations

---------

Co-authored-by: Yajing <110797546+fnalways@users.noreply.github.com>
2026-02-05 20:22:47 +08:00
eball
5109ad001c Modify release-daemon.yaml for arm64 support
Add support for arm64 architecture in release daemon workflow
2026-02-05 14:24:33 +08:00
lovehunter9
4d850312f0 fix: seafile trim commit_id for syncing and change psql ccnet init (#2495) 2026-02-05 12:09:16 +08:00
aby913
1265ca929c backup: sync systemEnv default remote url (#2492)
* fix: get systemenv remove host

* backup: sync systemEnv default value
2026-02-05 00:30:52 +08:00
simon
6302bee05d download-server: nats message publish modify (#2489)
download
2026-02-05 00:29:45 +08:00
dkeven
2838d95f25 fix(cli): clear master host config when uninstalling (#2488) 2026-02-05 00:29:11 +08:00
berg
d3d7fc372d market, settings: support optional data deletion and fix bugs. (#2486)
* feat: support optional data deletion when uninstalling apps in Market

* market: add deleteData switch, add users info

* feat: update system frontend version

---------

Co-authored-by: aby913 <aby913@163.com>
2026-02-04 21:51:14 +08:00
dkeven
2bc061fcd8 fix(cli): do not override upgrade target version by config file (#2483) 2026-02-04 21:50:00 +08:00
2080 changed files with 34119 additions and 13269 deletions

View File

@@ -0,0 +1,85 @@
name: Native Verification
on:
push:
branches:
- main
- release-*
paths:
- .gitea/workflows/native-verification.yaml
- daemon/**
- framework/app-service/**
- docs/**
- build/verify-native-in-container.sh
pull_request:
paths:
- .gitea/workflows/native-verification.yaml
- daemon/**
- framework/app-service/**
- docs/**
- build/verify-native-in-container.sh
workflow_dispatch:
jobs:
docs-build:
name: Build Docs
runs-on: ubuntu-latest
defaults:
run:
working-directory: docs
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- name: Install docs dependencies
run: npm ci
- name: Build docs
run: npm run build
appservice-native-build:
name: Build App-Service Native
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24.11'
- name: Install native dependencies
run: |
sudo apt-get update
sudo apt-get install -y btrfs-progs libbtrfs-dev
- name: Build app-service
run: go build ./...
working-directory: framework/app-service
daemon-native-build:
name: Build Daemon Native
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24.11'
- name: Install native dependencies
run: |
sudo apt-get update
sudo apt-get install -y libudev-dev libpcap-dev
- name: Build daemon
run: go build ./cmd/...
working-directory: daemon

View File

@@ -11,10 +11,22 @@ jobs:
- name: "Checkout source code"
uses: actions/checkout@v3
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- run: |
bash build/build-redis.sh linux/amd64 glibc-231

View File

@@ -11,12 +11,24 @@ jobs:
- name: "Checkout source code"
uses: actions/checkout@v3
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- run: |
bash build/build-redis.sh linux/amd64
push-arm64:
@@ -34,10 +46,22 @@ jobs:
run: |
sudo apt install -y make gcc
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- run: |
sudo -E sh -c "bash build/build-redis.sh linux/arm64 && rm -rf redis*"

View File

@@ -11,10 +11,22 @@ jobs:
- name: "Checkout source code"
uses: actions/checkout@v3
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- run: |
bash build/build-ubuntu2204.sh

View File

@@ -11,10 +11,23 @@ jobs:
- name: "Checkout source code"
uses: actions/checkout@v3
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- run: |
bash build/build-wsl-install-msi.sh

View File

@@ -60,14 +60,6 @@ jobs:
- name: Run chart-testing (lint)
run: ct lint --chart-dirs .dist/wizard/config,.dist/wizard/config/apps,.dist/wizard/config/gpu --check-version-increment=false --all
# - name: Create kind cluster
# if: steps.list-changed.outputs.changed == 'true'
# uses: helm/kind-action@v1.7.0
# - name: Run chart-testing (install)
# if: steps.list-changed.outputs.changed == 'true'
# run: ct install --chart-dirs wizard/charts,wizard/config --target-branch ${{ github.event.repository.default_branch }}
test-version:
runs-on: ubuntu-latest
outputs:
@@ -107,12 +99,23 @@ jobs:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- run: |
bash build/image-manifest.sh && bash build/upload-images.sh .manifest/images.mf
push-image-arm64:
@@ -132,12 +135,23 @@ jobs:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install coscmd
run: pip install coscmd
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- run: |
export PATH=$PATH:/usr/local/bin:/home/ubuntu/.local/bin
bash build/image-manifest.sh && bash build/upload-images.sh .manifest/images.mf linux/arm64
@@ -154,11 +168,23 @@ jobs:
ref: ${{ github.event.pull_request.head.ref }}
repository: ${{ github.event.pull_request.head.repo.full_name }}
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
VERSION: ${{ needs.test-version.outputs.version }}
REPO_PATH: '${{ secrets.REPO_PATH }}'
run: |
@@ -179,11 +205,21 @@ jobs:
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
VERSION: ${{ needs.test-version.outputs.version }}
REPO_PATH: '${{ secrets.REPO_PATH }}'
run: |
@@ -206,15 +242,28 @@ jobs:
run: |
bash build/build.sh ${{ needs.test-version.outputs.version }}
- name: Upload package
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- name: Upload package
run: |
md5sum install-wizard-v${{ needs.test-version.outputs.version }}.tar.gz > install-wizard-v${{ needs.test-version.outputs.version }}.md5sum.txt && \
aws s3 cp install-wizard-v${{ needs.test-version.outputs.version }}.md5sum.txt s3://terminus-os-install/install-wizard-v${{ needs.test-version.outputs.version }}.md5sum.txt --acl=public-read && \
aws s3 cp install-wizard-v${{ needs.test-version.outputs.version }}.tar.gz s3://terminus-os-install/install-wizard-v${{ needs.test-version.outputs.version }}.tar.gz --acl=public-read
coscmd upload install-wizard-v${{ needs.test-version.outputs.version }}.md5sum.txt /install-wizard-v${{ needs.test-version.outputs.version }}.md5sum.txt && \
coscmd upload install-wizard-v${{ needs.test-version.outputs.version }}.tar.gz /install-wizard-v${{ needs.test-version.outputs.version }}.tar.gz
install-test:

View File

@@ -24,9 +24,9 @@ jobs:
run: |
sudo apt-get update
sudo apt-get install -y btrfs-progs libbtrfs-dev
- uses: actions/checkout@v3
- uses: actions/setup-go@v3
- uses: actions/checkout@v4
- uses: actions/setup-go@v5
with:
go-version: '1.24.6'
go-version: '1.24.11'
- run: make build
working-directory: framework/app-service

View File

@@ -0,0 +1,88 @@
name: Native Verification
on:
push:
branches:
- main
- 'release-*'
paths:
- '.github/workflows/native-verification.yaml'
- 'daemon/**'
- 'framework/app-service/**'
- 'docs/**'
pull_request:
paths:
- '.github/workflows/native-verification.yaml'
- 'daemon/**'
- 'framework/app-service/**'
- 'docs/**'
workflow_dispatch:
permissions:
contents: read
jobs:
docs-build:
name: Build Docs
runs-on: ubuntu-24.04
defaults:
run:
working-directory: docs
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
cache: npm
cache-dependency-path: docs/package-lock.json
- name: Install docs dependencies
run: npm ci
- name: Build docs
run: npm run build
appservice-native-build:
name: Build App-Service Native
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24.11'
- name: Install native dependencies
run: |
sudo apt-get update
sudo apt-get install -y btrfs-progs libbtrfs-dev
- name: Build app-service
run: go build ./...
working-directory: framework/app-service
daemon-native-build:
name: Build Daemon Native
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Set up Go
uses: actions/setup-go@v5
with:
go-version: '1.24.11'
- name: Install native dependencies
run: |
sudo apt-get update
sudo apt-get install -y libudev-dev libpcap-dev
- name: Build daemon
run: go build ./cmd/...
working-directory: daemon

View File

@@ -60,12 +60,24 @@ jobs:
OLARES_RELEASE_ID: ${{ inputs.release-id }}
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload to S3
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- name: Upload to CDN
run: |
cd cli/output && for file in $(ls *.tar.gz | grep -v no-release-id); do
aws s3 cp "$file" s3://terminus-os-install${{ secrets.REPO_PATH }}${file} --acl=public-read
coscmd upload "$file" ${{ secrets.REPO_PATH }}${file}
done

View File

@@ -46,7 +46,15 @@ jobs:
- name: install udev-devel and pcap-devel
run: |
sudo apt update && sudo apt install -y libudev-dev libpcap-dev
sudo dpkg --add-architecture arm64
# Only modify ubuntu official sources, not third-party sources
sudo sed -i 's/^deb http:\/\/azure.archive.ubuntu.com/deb [arch=amd64] http:\/\/azure.archive.ubuntu.com/' /etc/apt/sources.list.d/ubuntu.sources 2>/dev/null || true
sudo sed -i 's/^Types: deb$/Types: deb\nArchitectures: amd64/' /etc/apt/sources.list.d/ubuntu.sources 2>/dev/null || true
# Add arm64 sources
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports noble main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/arm64.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports noble-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/arm64.list
sudo apt update
sudo apt install -y libudev-dev libpcap-dev libudev-dev:arm64 libpcap-dev:arm64
- name: Install x86_64 cross-compiler
run: sudo apt-get update && sudo apt-get install -y build-essential
@@ -64,12 +72,25 @@ jobs:
version: v1.18.2
args: release --clean
- name: Upload to CDN
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- name: Upload to CDN
run: |
cd daemon/output && for file in $(ls *.tar.gz | grep -v no-release-id); do
aws s3 cp "$file" s3://terminus-os-install${{ secrets.REPO_PATH }}${file} --acl=public-read
coscmd upload "$file" ${{ secrets.REPO_PATH }}${file}
done

View File

@@ -55,11 +55,23 @@ jobs:
- name: 'Checkout source code'
uses: actions/checkout@v3
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- run: |
bash build/image-manifest.sh && bash build/upload-images.sh .manifest/images.mf
push-images-arm64:
@@ -69,11 +81,23 @@ jobs:
- name: 'Checkout source code'
uses: actions/checkout@v3
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- run: |
export PATH=$PATH:/usr/local/bin:/home/ubuntu/.local/bin
bash build/image-manifest.sh && bash build/upload-images.sh .manifest/images.mf linux/arm64
@@ -85,11 +109,24 @@ jobs:
- name: "Checkout source code"
uses: actions/checkout@v3
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
VERSION: ${{ needs.daily-version.outputs.version }}
RELEASE_ID: ${{ needs.release-id.outputs.id }}
REPO_PATH: '${{ secrets.REPO_PATH }}'
@@ -104,11 +141,24 @@ jobs:
- name: "Checkout source code"
uses: actions/checkout@v3
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
VERSION: ${{ needs.daily-version.outputs.version }}
RELEASE_ID: ${{ needs.release-id.outputs.id }}
REPO_PATH: '${{ secrets.REPO_PATH }}'
@@ -129,19 +179,31 @@ jobs:
run: |
bash build/build.sh ${{ needs.daily-version.outputs.version }} ${{ needs.release-id.outputs.id }}
- name: Upload to S3
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- name: Upload to COS
id: upload
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
run: |
md5sum install-wizard-v${{ needs.daily-version.outputs.version }}.tar.gz > install-wizard-v${{ needs.daily-version.outputs.version }}.md5sum.txt && \
aws s3 cp install-wizard-v${{ needs.daily-version.outputs.version }}.md5sum.txt s3://terminus-os-install${{ secrets.REPO_PATH }}install-wizard-v${{ needs.daily-version.outputs.version }}.md5sum.txt --acl=public-read && \
aws s3 cp install-wizard-v${{ needs.daily-version.outputs.version }}.tar.gz s3://terminus-os-install${{ secrets.REPO_PATH }}install-wizard-v${{ needs.daily-version.outputs.version }}.tar.gz --acl=public-read && \
coscmd upload install-wizard-v${{ needs.daily-version.outputs.version }}.md5sum.txt ${{ secrets.REPO_PATH }}install-wizard-v${{ needs.daily-version.outputs.version }}.md5sum.txt && \
coscmd upload install-wizard-v${{ needs.daily-version.outputs.version }}.tar.gz ${{ secrets.REPO_PATH }}install-wizard-v${{ needs.daily-version.outputs.version }}.tar.gz && \
aws s3 cp install-wizard-v${{ needs.daily-version.outputs.version }}.md5sum.txt s3://terminus-os-install${{ secrets.REPO_PATH }}install-wizard-v${{ needs.daily-version.outputs.version }}.${{ needs.release-id.outputs.id }}.md5sum.txt --acl=public-read && \
aws s3 cp install-wizard-v${{ needs.daily-version.outputs.version }}.tar.gz s3://terminus-os-install${{ secrets.REPO_PATH }}install-wizard-v${{ needs.daily-version.outputs.version }}.${{ needs.release-id.outputs.id }}.tar.gz --acl=public-read
coscmd upload install-wizard-v${{ needs.daily-version.outputs.version }}.md5sum.txt ${{ secrets.REPO_PATH }}install-wizard-v${{ needs.daily-version.outputs.version }}.${{ needs.release-id.outputs.id }}.md5sum.txt && \
coscmd upload install-wizard-v${{ needs.daily-version.outputs.version }}.tar.gz ${{ secrets.REPO_PATH }}install-wizard-v${{ needs.daily-version.outputs.version }}.${{ needs.release-id.outputs.id }}.tar.gz
release:

View File

@@ -60,12 +60,24 @@ jobs:
args: release --clean --skip-validate -f .goreleaser.agent.yml
workdir: './daemon'
- name: Upload to CDN
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- name: Upload to CDN
run: |
cd daemon/output && for file in *.tar.gz; do
aws s3 cp "$file" s3://terminus-os-install/$file --acl=public-read
coscmd upload "$file" ${{ secrets.REPO_PATH }}$file
done

View File

@@ -51,10 +51,23 @@ jobs:
with:
ref: ${{ github.event.inputs.tags }}
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
VERSION: ${{ github.event.inputs.tags }}
run: |
bash build/image-manifest.sh && bash build/upload-images.sh .manifest/images.mf
@@ -68,10 +81,24 @@ jobs:
with:
ref: ${{ github.event.inputs.tags }}
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
VERSION: ${{ github.event.inputs.tags }}
run: |
export PATH=$PATH:/usr/local/bin:/home/ubuntu/.local/bin
@@ -85,11 +112,24 @@ jobs:
- name: "Checkout source code"
uses: actions/checkout@v3
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
VERSION: ${{ github.event.inputs.tags }}
RELEASE_ID: ${{ needs.release-id.outputs.id }}
REPO_PATH: '${{ secrets.REPO_PATH }}'
@@ -104,11 +144,25 @@ jobs:
- name: "Checkout source code"
uses: actions/checkout@v3
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
# test
- env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: "us-east-1"
VERSION: ${{ github.event.inputs.tags }}
RELEASE_ID: ${{ needs.release-id.outputs.id }}
REPO_PATH: '${{ secrets.REPO_PATH }}'
@@ -131,18 +185,30 @@ jobs:
run: |
bash build/build.sh ${{ github.event.inputs.tags }} ${{ needs.release-id.outputs.id }}
- name: Upload to S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
AWS_DEFAULT_REGION: 'us-east-1'
- name: Install coscmd
run: pip install coscmd
- name: Configure coscmd
env:
TENCENT_SECRET_ID: ${{ secrets.TENCENT_SECRET_ID }}
TENCENT_SECRET_KEY: ${{ secrets.TENCENT_SECRET_KEY }}
COS_BUCKET: ${{ secrets.COS_BUCKET }}
COS_REGION: ${{ secrets.COS_REGION }}
END_POINT: ${{ secrets.END_POINT }}
run: |
coscmd config -a $TENCENT_SECRET_ID \
-s $TENCENT_SECRET_KEY \
-b $COS_BUCKET \
-r $COS_REGION
- name: Upload to COS
run: |
md5sum install-wizard-v${{ github.event.inputs.tags }}.tar.gz > install-wizard-v${{ github.event.inputs.tags }}.md5sum.txt && \
aws s3 cp install-wizard-v${{ github.event.inputs.tags }}.md5sum.txt s3://terminus-os-install${{ secrets.REPO_PATH }}install-wizard-v${{ github.event.inputs.tags }}.md5sum.txt --acl=public-read && \
aws s3 cp install-wizard-v${{ github.event.inputs.tags }}.tar.gz s3://terminus-os-install${{ secrets.REPO_PATH }}install-wizard-v${{ github.event.inputs.tags }}.tar.gz --acl=public-read
coscmd upload install-wizard-v${{ github.event.inputs.tags }}.md5sum.txt ${{ secrets.REPO_PATH }}install-wizard-v${{ github.event.inputs.tags }}.md5sum.txt && \
coscmd upload install-wizard-v${{ github.event.inputs.tags }}.tar.gz ${{ secrets.REPO_PATH }}install-wizard-v${{ github.event.inputs.tags }}.tar.gz
aws s3 cp install-wizard-v${{ github.event.inputs.tags }}.md5sum.txt s3://terminus-os-install${{ secrets.REPO_PATH }}install-wizard-v${{ github.event.inputs.tags }}.${{ needs.release-id.outputs.id }}.md5sum.txt --acl=public-read && \
aws s3 cp install-wizard-v${{ github.event.inputs.tags }}.tar.gz s3://terminus-os-install${{ secrets.REPO_PATH }}install-wizard-v${{ github.event.inputs.tags }}.${{ needs.release-id.outputs.id }}.tar.gz --acl=public-read
coscmd upload install-wizard-v${{ github.event.inputs.tags }}.md5sum.txt ${{ secrets.REPO_PATH }}install-wizard-v${{ github.event.inputs.tags }}.${{ needs.release-id.outputs.id }}.md5sum.txt && \
coscmd upload install-wizard-v${{ github.event.inputs.tags }}.tar.gz ${{ secrets.REPO_PATH }}install-wizard-v${{ github.event.inputs.tags }}.${{ needs.release-id.outputs.id }}.tar.gz
release:
runs-on: ubuntu-latest

View File

@@ -1,16 +1,9 @@
<div align="center">
# Olares: An Open-Source Personal Cloud to </br>Reclaim Your Data<!-- omit in toc -->
# beOS Pro: A Self-Hosted Server Platform You Control<!-- omit in toc -->
[![Mission](https://img.shields.io/badge/Mission-Let%20people%20own%20their%20data%20again-purple)](#)<br/>
[![Last Commit](https://img.shields.io/github/last-commit/beclab/olares)](https://github.com/beclab/olares/commits/main)
![Build Status](https://github.com/beclab/olares/actions/workflows/release-daily.yaml/badge.svg)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/beclab/olares)](https://github.com/beclab/olares/releases)
[![GitHub Repo stars](https://img.shields.io/github/stars/beclab/olares?style=social)](https://github.com/beclab/olares/stargazers)
[![Discord](https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white)](https://discord.gg/olares)
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue)](https://github.com/beclab/olares/blob/main/LICENSE)
<a href="https://trendshift.io/repositories/15376" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15376" alt="beclab%2FOlares | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue)](./LICENSE)
<p>
<a href="./README.md"><img alt="Readme in English" src="https://img.shields.io/badge/English-FFFFFF"></a>
@@ -21,67 +14,52 @@
</div>
<p align="center">
<a href="https://olares.com">Website</a> ·
<a href="https://docs.olares.com">Documentation</a> ·
<a href="https://www.olares.com/larepass">Download LarePass</a> ·
<a href="https://github.com/beclab/apps">Olares Apps</a> ·
<a href="https://space.olares.com">Olares Space</a>
<a href="./README.md">Overview</a> ·
<a href="./docs">Docs Source</a> ·
<a href="./apps">Applications</a> ·
<a href="./cli">CLI</a> ·
<a href="./daemon">Daemon</a>
</p>
>*The modern internet built on public clouds is increasingly threatening your personal data privacy. As reliance on services like ChatGPT, Midjourney, and Facebook grows, so does the risk to your digital autonomy. Your data lives on their servers, subject to their terms, tracking, and potential censorship.*
>
>*It's time for a change.*
![Personal Cloud](https://app.cdn.olares.com/github/olares/public-cloud-to-personal-cloud.jpg)
We believe you have a fundamental right to control your digital life. The most effective way to uphold this right is by hosting your data locally, on your own hardware.
beOS Pro is a local-first server platform for running your own applications, storage, AI workloads, and internal services on hardware you control.
Olares is an **open-source personal cloud operating system** designed to empower you to own and manage your digital assets locally. Instead of relying on public cloud services, you can deploy powerful open-source alternatives locally on Olares, such as Ollama for hosting LLMs, ComfyUI for image generation, and Perplexica for private, AI-driven search and reasoning. Imagine the power of the cloud, but with you in complete command.
This fork is being refactored to remove mandatory dependency on vendor-managed activation, DNS, CDN, and remote control-plane services. The goal is straightforward: install on bare metal or on top of an existing Linux server, finish setup locally, and operate it without connecting to any external beOS-operated infrastructure unless you explicitly configure optional providers.
> 🌟 *Star us to receive instant notifications about new releases and updates.*
## Architecture
Just as Public clouds offer IaaS, PaaS, and SaaS layers, Olares provides open-source alternatives to each of these layers.
beOS Pro is structured as a host bootstrap layer, a Kubernetes orchestration layer, and a containerized platform/application layer.
![Tech Stacks](https://app.cdn.olares.com/github/olares/olares-architecture.jpg)
For the current architecture source, start with `docs/developer/concepts/system-architecture.md`.
For detailed description of each component, refer to [Olares architecture](https://docs.olares.com/manual/concepts/system-architecture.html).
> 🔍 **How is Olares different from traditional NAS?**
> 🔍 **How is beOS Pro different from a traditional NAS?**
>
> Olares focuses on building an all-in-one self-hosted personal cloud experience. Its core features and target users differ significantly from traditional Network Attached Storage (NAS) systems, which primarily focus on network storage. For more details, see [Compare Olares and NAS](https://docs.olares.com/manual/olares-vs-nas.html).
> beOS Pro focuses on running a full self-hosted server platform, not just network-attached storage. It combines host bootstrap, Kubernetes orchestration, apps, storage, and AI services in one stack.
## Features
Olares offers a wide array of features designed to enhance security, ease of use, and development flexibility:
beOS Pro offers a wide array of features designed to enhance security, ease of use, and development flexibility:
- **Enterprise-grade security**: Simplified network configuration using Tailscale, Headscale, Cloudflare Tunnel, and FRP.
- **Secure and permissionless application ecosystem**: Sandboxing ensures application isolation and security.
- **Unified file system and database**: Automated scaling, backups, and high availability.
- **Single sign-on**: Log in once to access all applications within Olares with a shared authentication service.
- **Single sign-on**: Log in once to access all applications within the platform with a shared authentication service.
- **AI capabilities**: Comprehensive solution for GPU management, local AI model hosting, and private knowledge bases while maintaining data privacy.
- **Built-in applications**: Includes file manager, sync drive, vault, reader, app market, settings, and dashboard.
- **Seamless anywhere access**: Access your devices from anywhere using dedicated clients for mobile, desktop, and browsers.
- **Development tools**: Comprehensive development tools for effortless application development and porting.
Here are some screenshots from the UI for a sneak peek:
| **DesktopStreamlined and familiar portal** | **FilesA secure home to your data**
| :--------: | :-------: |
| ![Desktop](https://app.cdn.olares.com/github/terminus/v2/desktop.jpg) | ![Files](https://app.cdn.olares.com/github/terminus/v2/files.jpg) |
| **Vault1Password alternative**|**MarketApp ecosystem in your control** |
| ![vault](https://app.cdn.olares.com/github/terminus/v2/vault.jpg) | ![market](https://app.cdn.olares.com/github/terminus/v2/market.jpg) |
|**WiseYour digital secret garden** | **SettingsManage Olares efficiently** |
| ![settings](https://app.cdn.olares.com/github/terminus/v2/wise.jpg) | ![](https://app.cdn.olares.com/github/terminus/v2/settings.jpg) |
|**DashboardConstant system monitoring** | **ProfileYour unique homepage** |
| ![dashboard](https://app.cdn.olares.com/github/terminus/v2/dashboard.jpg) | ![profile](https://app.cdn.olares.com/github/terminus/v2/profile.jpg) |
| **StudioDevelop, debug, and deploy**|**Control HubManage Kubernetes clusters easily** |
| ![Studio](https://app.cdn.olares.com/github/terminus/v2/devbox.jpg) | ![Controlhub](https://app.cdn.olares.com/github/terminus/v2/controlhub.jpg)|
The repository includes a full application suite covering desktop shell, files, vault, market, settings, dashboard, studio, and control hub.
## Key use cases
Here is why and where you can count on Olares for private, powerful, and secure sovereign cloud experience:
Here is where beOS Pro is a strong fit:
🤖 **Edge AI**: Run cutting-edge open AI models locally, including large language models, computer vision, and speech recognition. Create private AI services tailored to your data for enhanced functionality and privacy. <br>
@@ -93,7 +71,7 @@ Here is why and where you can count on Olares for private, powerful, and secure
🏡 **Smart Home Hub**: Create a central control point for your IoT devices and home automation. <br>
🤝 **User-owned decentralized social media**: Easily install decentralized social media apps such as Mastodon, Ghost, and WordPress on Olares, allowing you to build a personal brand without the risk of being banned or paying platform commissions.<br>
🤝 **User-owned publishing and communities**: Easily install apps such as Mastodon, Ghost, and WordPress without depending on third-party platforms.<br>
📚 **Learning platform**: Explore self-hosting, container orchestration, and cloud technologies hands-on.
@@ -101,43 +79,39 @@ Here is why and where you can count on Olares for private, powerful, and secure
### System compatibility
Olares has been tested and verified on the following Linux platforms:
beOS Pro has been tested and verified on the following Linux platforms:
- Ubuntu 24.04 LTS or later
- Debian 11 or later
### Set up Olares
To get started with Olares on your own device, follow the [Getting Started Guide](https://docs.olares.com/manual/get-started/) for step-by-step instructions.
### Set up beOS Pro
To get started, review the install and architecture sources in this repository, especially `docs/manual/get-started/` and `docs/developer/concepts/system-architecture.md`.
## Project navigation
This section lists the main directories in the Olares repository:
This section lists the main directories in the repository:
* **[`apps`](./apps)**: Contains the code for system applications, primarily for `larepass`.
* **[`cli`](./cli)**: Contains the code for `olares-cli`, the command-line interface tool for Olares.
* **[`daemon`](./daemon)**: Contains the code for `olaresd`, the system daemon process.
* **[`apps`](./apps)**: Contains the code for the built-in applications and user shell.
* **[`cli`](./cli)**: Contains the code for `beos-cli`, the command-line interface tool.
* **[`daemon`](./daemon)**: Contains the code for `beosd`, the system daemon process.
* **[`docs`](./docs)**: Contains documentation for the project.
* **[`framework`](./framework)**: Contains the Olares system services.
* **[`framework`](./framework)**: Contains the core system services.
* **[`infrastructure`](./infrastructure)**: Contains code related to infrastructure components such as computing, storage, networking, and GPUs.
* **[`platform`](./platform)**: Contains code for cloud-native components like databases and message queues.
* **`vendor`**: Contains code from third-party hardware vendors.
## Contributing to Olares
## Contributing to beOS Pro
We are welcoming contributions in any form:
- If you want to develop your own applications on Olares, refer to:<br>
https://docs.olares.com/developer/develop/
- If you want to develop your own applications on beOS Pro, start with the code in `apps/`, `framework/`, and `platform/`.
- If you want to help improve Olares, refer to:<br>
https://docs.olares.com/developer/contribute/olares.html
- If you want to help improve beOS Pro, open issues and pull requests in this fork.
## Community & contact
* [**GitHub Discussion**](https://github.com/beclab/olares/discussions). Best for sharing feedback and asking questions.
* [**GitHub Issues**](https://github.com/beclab/olares/issues). Best for filing bugs you encounter using Olares and submitting feature proposals.
* [**Discord**](https://discord.gg/olares). Best for sharing anything Olares.
* Use your fork's issue tracker and discussion channels for support and development planning.
## Special thanks
The Olares project has incorporated numerous third-party open source projects, including: [Kubernetes](https://kubernetes.io/), [Kubesphere](https://github.com/kubesphere/kubesphere), [Padloc](https://padloc.app/), [K3S](https://k3s.io/), [JuiceFS](https://github.com/juicedata/juicefs), [MinIO](https://github.com/minio/minio), [Envoy](https://github.com/envoyproxy/envoy), [Authelia](https://github.com/authelia/authelia), [Infisical](https://github.com/Infisical/infisical), [Dify](https://github.com/langgenius/dify), [Seafile](https://github.com/haiwen/seafile),[HeadScale](https://headscale.net/), [tailscale](https://tailscale.com/), [Redis Operator](https://github.com/spotahome/redis-operator), [Nitro](https://nitro.jan.ai/), [RssHub](http://rsshub.app/), [predixy](https://github.com/joyieldInc/predixy), [nvshare](https://github.com/grgalex/nvshare), [LangChain](https://www.langchain.com/), [Quasar](https://quasar.dev/), [TrustWallet](https://trustwallet.com/), [Restic](https://restic.net/), [ZincSearch](https://zincsearch-docs.zinc.dev/), [filebrowser](https://filebrowser.org/), [lego](https://go-acme.github.io/lego/), [Velero](https://velero.io/), [s3rver](https://github.com/jamhall/s3rver), [Citusdata](https://www.citusdata.com/).
beOS Pro incorporates numerous third-party open source projects, including Kubernetes, KubeSphere, K3s, JuiceFS, MinIO, Envoy, Authelia, Infisical, Seafile, Headscale, Tailscale, Restic, Velero, and many others used throughout this stack.

View File

@@ -1,16 +1,16 @@
<div align="center">
# Olares:助您重获数据主权的开源个人云
# beOS Pro:助您重获数据主权的开源个人云
[![Mission](https://img.shields.io/badge/Mission-Let%20people%20own%20their%20data%20again-purple)](#)<br/>
[![Last Commit](https://img.shields.io/github/last-commit/beclab/terminus)](https://github.com/beclab/olares/commits/main)
[![Last Commit](https://img.shields.io/github/last-commit/beclab/beOS Pro)](https://github.com/beclab/olares/commits/main)
![Build Status](https://github.com/beclab/olares/actions/workflows/release-daily.yaml/badge.svg)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/beclab/terminus)](https://github.com/beclab/olares/releases)
[![GitHub Repo stars](https://img.shields.io/github/stars/beclab/terminus?style=social)](https://github.com/beclab/olares/stargazers)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/beclab/beOS Pro)](https://github.com/beclab/olares/releases)
[![GitHub Repo stars](https://img.shields.io/github/stars/beclab/beOS Pro?style=social)](https://github.com/beclab/beOS Pro/stargazers)
[![Discord](https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white)](https://discord.gg/olares)
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue)](https://github.com/beclab/olares/blob/main/LICENSE)
<a href="https://trendshift.io/repositories/15376" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15376" alt="beclab%2FOlares | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
<a href="https://trendshift.io/repositories/15376" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15376" alt="beclab%2FbeOS Pro | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
<p>
<a href="./README.md"><img alt="Readme in English" src="https://img.shields.io/badge/English-FFFFFF"></a>
@@ -21,46 +21,46 @@
</div>
<p align="center">
<a href="https://olares.com">网站</a> ·
<a href="https://docs.olares.com">文档</a> ·
<a href="https://www.olares.cn/larepass">下载 LarePass</a> ·
<a href="https://github.com/beclab/apps">Olares 应用</a> ·
<a href="https://space.olares.com">Olares Space</a>
<a href="https://beos.local">网站</a> ·
<a href="https://docs.beos.local">文档</a> ·
<a href="https://www.beos.local/larepass">下载 beOS Pro app</a> ·
<a href="https://github.com/beclab/apps">beOS Pro 应用</a> ·
<a href="https://space.beos.local">Remote Space</a>
</p>
> *基于公有云构建的现代互联网日益威胁着您的个人数据隐私。随着您对 ChatGPT、Midjourney 和脸书等服务的依赖加深,您对数字自主权的掌控也在减弱。您的数据存储在他人服务器上,受其条款约束,被追踪并审查。*
>
> *是时候做出改变了。*
![个人云](https://app.cdn.olares.com/github/olares/public-cloud-to-personal-cloud.jpg)
![个人云](https://app.cdn.beos.local/github/olares/public-cloud-to-personal-cloud.jpg)
我们坚信,**您拥有掌控自己数字生活的基本权利**。维护这一权利最有效的方式,就是将您的数据托管在本地,在您自己的硬件上。
Olares 是一款开源个人云操作系统,旨在让您能够轻松在本地拥有并管理自己的数字资产。您无需再依赖公有云服务,而可以在 Olares 上本地部署强大的开源平替服务或应用,例如可以使用 Ollama 托管大语言模型,使用 ComfyUI 生成图像,以及使用 Perplexica 打造本地化、注重隐私的 AI 搜索与问答体验。Olares 让您坐拥云计算的强大威力,又能完全将其置于自己掌控之下。
beOS Pro 是一款开源个人云操作系统,旨在让您能够轻松在本地拥有并管理自己的数字资产。您无需再依赖公有云服务,而可以在 beOS Pro 上本地部署强大的开源平替服务或应用,例如可以使用 Ollama 托管大语言模型,使用 ComfyUI 生成图像,以及使用 Perplexica 打造本地化、注重隐私的 AI 搜索与问答体验。beOS Pro 让您坐拥云计算的强大威力,又能完全将其置于自己掌控之下。
> Olares 点亮 🌟 以及时获取新版本和更新的通知。
> beOS Pro 点亮 🌟 以及时获取新版本和更新的通知。
## 系统架构
公有云具有基础设施即服务IaaS、平台即服务PaaS和软件即服务SaaS等层级。Olares 为这些层级提供了开源替代方案。
公有云具有基础设施即服务IaaS、平台即服务PaaS和软件即服务SaaS等层级。beOS Pro 为这些层级提供了开源替代方案。
![技术栈](https://app.cdn.olares.com/github/olares/olares-architecture.jpg)
![技术栈](https://app.cdn.beos.local/github/olares/olares-architecture.jpg)
详细描述请参考 [Olares 架构](https://docs.olares.cn/zh/manual/concepts/system-architecture.html)文档。
详细描述请参考 [beOS Pro 架构](https://docs.beos.local/zh/developer/concepts/system-architecture.html)文档。
>🔍**Olares 和 NAS 有什么不同?**
>🔍**beOS Pro 和 NAS 有什么不同?**
>
> Olares 致力于打造一站式的自托管个人云体验。其核心功能与用户定位,均与专注于网络存储的传统 NAS 有着显著的不同,详情请参考 [Olares 与 NAS 对比](https://docs.olares.com/zh/manual/olares-vs-nas.html)。
> beOS Pro 致力于打造一站式的自托管个人云体验。其核心功能与用户定位,均与专注于网络存储的传统 NAS 有着显著的不同,详情请参考 [beOS Pro 与 NAS 对比](https://blog.beos.local/compare-olares-and-nas/)。
## 功能特性
Olares 提供了一系列功能,旨在提升安全性、使用便捷性以及开发的灵活性:
beOS Pro 提供了一系列功能,旨在提升安全性、使用便捷性以及开发的灵活性:
- **企业级安全**:使用 Tailscale、Headscale、Cloudflare Tunnel 和 FRP 简化网络配置,确保安全连接。
- **安全且无需许可的应用生态系统**:应用通过沙箱化技术实现隔离,保障应用运行的安全性。
- **统一文件系统和数据库**:提供自动扩展、数据备份和高可用性功能,确保数据的持久安全。
- **单点登录**:用户仅需一次登录,即可访问 Olares 中所有应用的共享认证服务。
- **单点登录**:用户仅需一次登录,即可访问 beOS Pro 中所有应用的共享认证服务。
- **AI 功能**:包括全面的 GPU 管理、本地 AI 模型托管及私有知识库,同时严格保护数据隐私。
- **内置应用程序**:涵盖文件管理器、同步驱动器、密钥管理器、阅读器、应用市场、设置和面板等,提供全面的应用支持。
- **无缝访问**:通过移动端、桌面端和网页浏览器客户端,从全球任何地方访问设备。
@@ -70,19 +70,19 @@ Olares 提供了一系列功能,旨在提升安全性、使用便捷性以及
| **桌面:熟悉高效的访问入口** | **文件管理器:安全存储数据**
| :--------: | :-------: |
| ![桌面](https://app.cdn.olares.com/github/terminus/v2/desktop.jpg) | ![文件](https://app.cdn.olares.com/github/terminus/v2/files.jpg) |
| ![桌面](https://app.cdn.beos.local/github/terminus/v2/desktop.jpg) | ![文件](https://app.cdn.beos.local/github/terminus/v2/files.jpg) |
| **Vault密码无忧管理**|**市场:可控的应用生态系统** |
| ![vault](https://app.cdn.olares.com/github/terminus/v2/vault.jpg) | ![市场](https://app.cdn.olares.com/github/terminus/v2/market.jpg) |
|**Wise数字后花园** | **设置:高效管理 Olares** |
| ![设置](https://app.cdn.olares.com/github/terminus/v2/wise.jpg) | ![](https://app.cdn.olares.com/github/terminus/v2/settings.jpg) |
|**仪表盘:持续监控 Olares** | **Profile独特的个人主页** |
| ![面板](https://app.cdn.olares.com/github/terminus/v2/dashboard.jpg) | ![profile](https://app.cdn.olares.com/github/terminus/v2/profile.jpg) |
| ![vault](https://app.cdn.beos.local/github/terminus/v2/vault.jpg) | ![市场](https://app.cdn.beos.local/github/terminus/v2/market.jpg) |
|**Wise数字后花园** | **设置:高效管理 beOS Pro** |
| ![设置](https://app.cdn.beos.local/github/terminus/v2/wise.jpg) | ![](https://app.cdn.beos.local/github/terminus/v2/settings.jpg) |
|**仪表盘:持续监控 beOS Pro** | **Profile独特的个人主页** |
| ![面板](https://app.cdn.beos.local/github/terminus/v2/dashboard.jpg) | ![profile](https://app.cdn.beos.local/github/terminus/v2/profile.jpg) |
| **Studio一站式开发、调试和部署**|**控制面板:轻松管理 Kubernetes 集群** |
| ![Devbox](https://app.cdn.olares.com/github/terminus/v2/devbox.jpg) | ![控制中心](https://app.cdn.olares.com/github/terminus/v2/controlhub.jpg)|
| ![Devbox](https://app.cdn.beos.local/github/terminus/v2/devbox.jpg) | ![控制中心](https://app.cdn.beos.local/github/terminus/v2/controlhub.jpg)|
## 使用场景
在以下场景中,Olares 为您带来私密、强大且安全的私有云体验:
在以下场景中,beOS Pro 为您带来私密、强大且安全的私有云体验:
🤖**本地 AI 助手**:在本地部署运行顶级开源 AI 模型,涵盖语言处理、图像生成和语音识别等领域。根据个人需求定制 AI 助手,确保数据隐私和控制权均处于自己手中。<br>
@@ -94,7 +94,7 @@ Olares 提供了一系列功能,旨在提升安全性、使用便捷性以及
🏡**智能家居中心**:将所有智能设备和自动化系统集中在一个易于管理的控制中心,实现家庭智能化的简便操作。<br>
🤝**独立的社交媒体平台**:在 Olares 上部署去中心化社交媒体应用,如 Mastodon、Ghost 和 WordPress自由建立和扩展个人品牌无需担忧封号或支付额外费用。<br>
🤝**独立的社交媒体平台**:在 beOS Pro 上部署去中心化社交媒体应用,如 Mastodon、Ghost 和 WordPress自由建立和扩展个人品牌无需担忧封号或支付额外费用。<br>
📚**学习探索**:深入学习自托管服务、容器技术和云计算,并上手实践。<br>
@@ -102,23 +102,23 @@ Olares 提供了一系列功能,旨在提升安全性、使用便捷性以及
### 系统兼容性
Olares 已在以下 Linux 平台完成测试与验证:
beOS Pro 已在以下 Linux 平台完成测试与验证:
- Ubuntu 24.04 LTS 及以上版本
- Debian 11 及以上版本
### 安装 Olares
### 安装 beOS Pro
参考[快速上手指南](https://docs.olares.cn/zh/manual/get-started/)安装并激活 Olares
参考[快速上手指南](https://docs.beos.local/zh/manual/get-started/)安装并激活 beOS Pro
## 项目目录
Olares 代码库中的主要目录如下:
beOS Pro 代码库中的主要目录如下:
* **[`apps`](./apps)**: 用于存放系统应用,主要是 `larepass` 的代码。
* **[`cli`](./cli)**: 用于存放 `olares-cli`Olares 的命令行界面工具)的代码。
* **[`cli`](./cli)**: 用于存放 `olares-cli`beOS Pro 的命令行界面工具)的代码。
* **[`daemon`](./daemon)**: 用于存放 `olaresd`(系统守护进程)的代码。
* **[`docs`**](./docs)**: 用于存放 Olares 项目的文档。
* **[`framework`](./framework)**: 用来存放 Olares 系统服务代码。
* **[`docs`**](./docs)**: 用于存放 beOS Pro 项目的文档。
* **[`framework`](./framework)**: 用来存放 beOS Pro 系统服务代码。
* **[`infrastructure`](./infrastructure)**: 用于存放计算存储网络GPU 等基础设施的代码。
* **[`platform`](./platform)**: 用于存放数据库、消息队列等云原生组件的代码。
* **`vendor`**: 用于存放来自第三方硬件供应商的代码。
@@ -127,19 +127,19 @@ Olares 代码库中的主要目录如下:
我们欢迎任何形式的贡献!
- 如果您想在 Olares 上开发自己的应用,请参考:<br>
https://docs.olares.com/developer/develop/
- 如果您想在 beOS Pro 上开发自己的应用,请参考:<br>
https://docs.beos.local/developer/develop/
- 如果您想帮助改进 Olares,请参考:<br>
https://docs.olares.com/developer/contribute/olares.html
- 如果您想帮助改进 beOS Pro,请参考:<br>
https://docs.beos.local/developer/contribute/olares.html
## 社区支持
* [**GitHub Discussion**](https://github.com/beclab/olares/discussions) - 讨论 Olares 使用过程中的疑问。
* [**GitHub Issues**](https://github.com/beclab/olares/issues) - 报告 Olares 的遇到的问题或提出功能改进建议。
* [**Discord**](https://discord.gg/olares) - 日常交流,分享经验,或讨论与 Olares 相关的任何主题。
* [**GitHub Discussion**](https://github.com/beclab/olares/discussions) - 讨论 beOS Pro 使用过程中的疑问。
* [**GitHub Issues**](https://github.com/beclab/olares/issues) - 报告 beOS Pro 的遇到的问题或提出功能改进建议。
* [**Discord**](https://discord.gg/olares) - 日常交流,分享经验,或讨论与 beOS Pro 相关的任何主题。
## 特别感谢
Olares 项目整合了许多第三方开源项目,包括:[Kubernetes](https://kubernetes.io/)、[Kubesphere](https://github.com/kubesphere/kubesphere)、[Padloc](https://padloc.app/)、[K3S](https://k3s.io/)、[JuiceFS](https://github.com/juicedata/juicefs)、[MinIO](https://github.com/minio/minio)、[Envoy](https://github.com/envoyproxy/envoy)、[Authelia](https://github.com/authelia/authelia)、[Infisical](https://github.com/Infisical/infisical)、[Dify](https://github.com/langgenius/dify)、[Seafile](https://github.com/haiwen/seafile)、[HeadScale](https://headscale.net/)、 [tailscale](https://tailscale.com/)、[Redis Operator](https://github.com/spotahome/redis-operator)、[Nitro](https://nitro.jan.ai/)、[RssHub](http://rsshub.app/)、[predixy](https://github.com/joyieldInc/predixy)、[nvshare](https://github.com/grgalex/nvshare)、[LangChain](https://www.langchain.com/)、[Quasar](https://quasar.dev/)、[TrustWallet](https://trustwallet.com/)、[Restic](https://restic.net/)、[ZincSearch](https://zincsearch-docs.zinc.dev/)、[filebrowser](https://filebrowser.org/)、[lego](https://go-acme.github.io/lego/)、[Velero](https://velero.io/)、[s3rver](https://github.com/jamhall/s3rver)、[Citusdata](https://www.citusdata.com/)。
beOS Pro 项目整合了许多第三方开源项目,包括:[Kubernetes](https://kubernetes.io/)、[Kubesphere](https://github.com/kubesphere/kubesphere)、[Padloc](https://padloc.app/)、[K3S](https://k3s.io/)、[JuiceFS](https://github.com/juicedata/juicefs)、[MinIO](https://github.com/minio/minio)、[Envoy](https://github.com/envoyproxy/envoy)、[Authelia](https://github.com/authelia/authelia)、[Infisical](https://github.com/Infisical/infisical)、[Dify](https://github.com/langgenius/dify)、[Seafile](https://github.com/haiwen/seafile)、[HeadScale](https://headscale.net/)、 [tailscale](https://tailscale.com/)、[Redis Operator](https://github.com/spotahome/redis-operator)、[Nitro](https://nitro.jan.ai/)、[RssHub](http://rsshub.app/)、[predixy](https://github.com/joyieldInc/predixy)、[nvshare](https://github.com/grgalex/nvshare)、[LangChain](https://www.langchain.com/)、[Quasar](https://quasar.dev/)、[TrustWallet](https://trustwallet.com/)、[Restic](https://restic.net/)、[ZincSearch](https://zincsearch-docs.zinc.dev/)、[filebrowser](https://filebrowser.org/)、[lego](https://go-acme.github.io/lego/)、[Velero](https://velero.io/)、[s3rver](https://github.com/jamhall/s3rver)、[Citusdata](https://www.citusdata.com/)。

View File

@@ -1,16 +1,16 @@
<div align="center">
# Olares: ローカルAIのためのオープンソース主権クラウドOS<!-- omit in toc -->
# beOS Pro: ローカルAIのためのオープンソース主権クラウドOS<!-- omit in toc -->
[![Mission](https://img.shields.io/badge/Mission-Let%20people%20own%20their%20data%20again-purple)](#)<br/>
[![Last Commit](https://img.shields.io/github/last-commit/beclab/olares)](https://github.com/beclab/olares/commits/main)
[![Last Commit](https://img.shields.io/github/last-commit/beclab/beOS Pro)](https://github.com/beclab/olares/commits/main)
![Build Status](https://github.com/beclab/olares/actions/workflows/release-daily.yaml/badge.svg)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/beclab/olares)](https://github.com/beclab/olares/releases)
[![GitHub Repo stars](https://img.shields.io/github/stars/beclab/olares?style=social)](https://github.com/beclab/olares/stargazers)
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/beclab/beOS Pro)](https://github.com/beclab/olares/releases)
[![GitHub Repo stars](https://img.shields.io/github/stars/beclab/beOS Pro?style=social)](https://github.com/beclab/beOS Pro/stargazers)
[![Discord](https://img.shields.io/badge/Discord-7289DA?logo=discord&logoColor=white)](https://discord.gg/olares)
[![License](https://img.shields.io/badge/License-AGPL--3.0-blue)](https://github.com/beclab/olares/blob/main/LICENSE)
<a href="https://trendshift.io/repositories/15376" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15376" alt="beclab%2FOlares | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
<a href="https://trendshift.io/repositories/15376" target="_blank"><img src="https://trendshift.io/api/badge/repositories/15376" alt="beclab%2FbeOS Pro | Trendshift" style="width: 250px; height: 55px;" width="250" height="55"/></a>
<p>
<a href="./README.md"><img alt="Readme in English" src="https://img.shields.io/badge/English-FFFFFF"></a>
@@ -21,44 +21,44 @@
</div>
<p align="center">
<a href="https://olares.com">ウェブサイト</a> ·
<a href="https://docs.olares.com">ドキュメント</a> ·
<a href="https://www.olares.com/larepass">LarePassをダウンロード</a> ·
<a href="https://github.com/beclab/apps">Olaresアプリ</a> ·
<a href="https://space.olares.com">Olares Space</a>
<a href="https://beos.local">ウェブサイト</a> ·
<a href="https://docs.beos.local">ドキュメント</a> ·
<a href="https://www.beos.local/larepass">beOS Pro appをダウンロード</a> ·
<a href="https://github.com/beclab/apps">beOS Proアプリ</a> ·
<a href="https://space.beos.local">Remote Space</a>
</p>
> *パブリッククラウドを基盤とする現代のインターネットは、あなたの個人データのプライバシーをますます脅かしています。ChatGPT、Midjourney、Facebookといったサービスへの依存が深まるにつれ、デジタル主権に対するあなたのコントロールも弱まっています。あなたのデータは他者のサーバーに保存され、その利用規約に縛られ、追跡され、検閲されているのです。*
>
>*今こそ、変革の時です。*
![自身のデジタル](https://app.cdn.olares.com/github/olares/public-cloud-to-personal-cloud.jpg)
![自身のデジタル](https://app.cdn.beos.local/github/olares/public-cloud-to-personal-cloud.jpg)
私たちは、あなたが自身のデジタルライフをコントロールする基本的な権利を有すると確信しています。この権利を守る最も効果的な方法は、あなたのデータをローカルの、あなた自身のハードウェア上でホストすることです。
Olaresは、あなたが自身のデジタル資産をローカルで所有し管理できるように設計された、オープンソースのパーソナルクラウドOSです。パブリッククラウドサービスに依存する代わりに、Olares上で強力なオープンソースの代替をローカルにデプロイできます。例えば、LLMのホスティングにはOllama、画像生成にはComfyUI、そしてプライバシーを重視したAI駆動の検索と推論にはPerplexicaを利用できます。クラウドの力をそのままに、主導権は常にあなたの手に。
beOS Proは、あなたが自身のデジタル資産をローカルで所有し管理できるように設計された、オープンソースのパーソナルクラウドOSです。パブリッククラウドサービスに依存する代わりに、beOS Pro上で強力なオープンソースの代替をローカルにデプロイできます。例えば、LLMのホスティングにはOllama、画像生成にはComfyUI、そしてプライバシーを重視したAI駆動の検索と推論にはPerplexicaを利用できます。クラウドの力をそのままに、主導権は常にあなたの手に。
> 🌟 *新しいリリースや更新についての通知を受け取るために、スターを付けてください。*
## アーキテクチャ
パブリッククラウドは、IaaS (Infrastructure as a Service)、PaaS (Platform as a Service)、SaaS (Software as a Service) といったサービスレイヤーで構成されています。Olaresは、これら各レイヤーに対するオープンソースの代替ソリューションを提供しています。
パブリッククラウドは、IaaS (Infrastructure as a Service)、PaaS (Platform as a Service)、SaaS (Software as a Service) といったサービスレイヤーで構成されています。beOS Proは、これら各レイヤーに対するオープンソースの代替ソリューションを提供しています。
![Olaresのアーキテクチ](https://app.cdn.olares.com/github/olares/olares-architecture.jpg)
![beOS Proのアーキテクチ](https://app.cdn.beos.local/github/olares/olares-architecture.jpg)
各コンポーネントの詳細については、[Olares アーキテクチャ](https://docs.olares.com/developer/concepts/system-architecture.html)(英語版)をご参照ください。
各コンポーネントの詳細については、[beOS Pro アーキテクチャ](https://docs.beos.local/developer/concepts/system-architecture.html)(英語版)をご参照ください。
> 🔍**OlaresとNASの違いは何ですか**
> 🔍**beOS ProとNASの違いは何ですか**
>
> Olaresは、ワンストップのセルフホスティング・パーソナルクラウド体験の実現を目指しています。そのコア機能とユーザーの位置付けは、ネットワークストレージに特化した従来のNASとは大きく異なります。詳細は、[OlaresとNASの比較](https://docs.olares.com/manual/olares-vs-nas.html)(英語版)をご参照ください。
> beOS Proは、ワンストップのセルフホスティング・パーソナルクラウド体験の実現を目指しています。そのコア機能とユーザーの位置付けは、ネットワークストレージに特化した従来のNASとは大きく異なります。詳細は、[beOS ProとNASの比較](https://blog.beos.local/compare-olares-and-nas/)(英語版)をご参照ください。
## 機能
Olaresは、セキュリティ、使いやすさ、開発の柔軟性を向上させるための幅広い機能を提供します:
beOS Proは、セキュリティ、使いやすさ、開発の柔軟性を向上させるための幅広い機能を提供します:
- **エンタープライズグレードのセキュリティ**: Tailscale、Headscale、Cloudflare Tunnel、FRPを使用してネットワーク構成を簡素化します。
- **安全で許可のないアプリケーションエコシステム**: サンドボックス化によりアプリケーションの分離とセキュリティを確保します。
- **統一ファイルシステムとデータベース**: 自動スケーリング、バックアップ、高可用性を提供します。
- **シングルサインオン**: 一度ログインするだけで、Olares内のすべてのアプリケーションに共有認証サービスを使用してアクセスできます。
- **シングルサインオン**: 一度ログインするだけで、beOS Pro内のすべてのアプリケーションに共有認証サービスを使用してアクセスできます。
- **AI機能**: GPU管理、ローカルAIモデルホスティング、プライベートナレッジベースの包括的なソリューションを提供し、データプライバシーを維持します。
- **内蔵アプリケーション**: ファイルマネージャー、同期ドライブ、ボールト、リーダー、アプリマーケット、設定、ダッシュボードを含みます。
- **どこからでもシームレスにアクセス**: モバイル、デスクトップ、ブラウザ用の専用クライアントを使用して、どこからでもデバイスにアクセスできます。
@@ -68,19 +68,19 @@ Olaresは、セキュリティ、使いやすさ、開発の柔軟性を向上
| **デスクトップ:馴染みやすく効率的なアクセスポイント** | **ファイルマネージャー:データを安全に保管** |
| :--------: | :-------: |
| ![桌面](https://app.cdn.olares.com/github/terminus/v2/desktop.jpg) | ![文件](https://app.cdn.olares.com/github/terminus/v2/files.jpg) |
| ![桌面](https://app.cdn.beos.local/github/terminus/v2/desktop.jpg) | ![文件](https://app.cdn.beos.local/github/terminus/v2/files.jpg) |
| **Vault安心のパスワード管理**|**マーケット:コントロール可能なアプリエコシステム** |
| ![vault](https://app.cdn.olares.com/github/terminus/v2/vault.jpg) | ![市场](https://app.cdn.olares.com/github/terminus/v2/market.jpg) |
| **Wiseあなただけのデジタルガーデン** | **設定:Olaresを効率的に管理** |
| ![设置](https://app.cdn.olares.com/github/terminus/v2/wise.jpg) | ![](https://app.cdn.olares.com/github/terminus/v2/settings.jpg) |
| **ダッシュボード:Olaresを継続的に監視** | **プロフィール:ユニークなパーソナルページ** |
| ![面板](https://app.cdn.olares.com/github/terminus/v2/dashboard.jpg) | ![profile](https://app.cdn.olares.com/github/terminus/v2/profile.jpg) |
| ![vault](https://app.cdn.beos.local/github/terminus/v2/vault.jpg) | ![市场](https://app.cdn.beos.local/github/terminus/v2/market.jpg) |
| **Wiseあなただけのデジタルガーデン** | **設定:beOS Proを効率的に管理** |
| ![设置](https://app.cdn.beos.local/github/terminus/v2/wise.jpg) | ![](https://app.cdn.beos.local/github/terminus/v2/settings.jpg) |
| **ダッシュボード:beOS Proを継続的に監視** | **プロフィール:ユニークなパーソナルページ** |
| ![面板](https://app.cdn.beos.local/github/terminus/v2/dashboard.jpg) | ![profile](https://app.cdn.beos.local/github/terminus/v2/profile.jpg) |
| **Studio開発、デバッグ、デプロイをワンストップで**|**コントロールパネルKubernetesクラスターを簡単に管理** |
| ![Devbox](https://app.cdn.olares.com/github/terminus/v2/devbox.jpg) | ![控制中心](https://app.cdn.olares.com/github/terminus/v2/controlhub.jpg)|
| ![Devbox](https://app.cdn.beos.local/github/terminus/v2/devbox.jpg) | ![控制中心](https://app.cdn.beos.local/github/terminus/v2/controlhub.jpg)|
## なぜOlaresなのか?
## なぜbeOS Proなのか?
以下の理由とシナリオで、Olaresはプライベートで強力かつ安全な主権クラウド体験を提供します:
以下の理由とシナリオで、beOS Proはプライベートで強力かつ安全な主権クラウド体験を提供します:
🤖 **エッジAI**: 最先端のオープンAIモデルをローカルで実行し、大規模言語モデル、コンピュータビジョン、音声認識などを含みます。データに合わせてプライベートAIサービスを作成し、機能性とプライバシーを向上させます。<br>
@@ -92,7 +92,7 @@ Olaresは、セキュリティ、使いやすさ、開発の柔軟性を向上
🏡 **スマートホームハブ**: IoTデバイスやホームオートメーションの中央制御ポイントを作成します。<br>
🤝 **ユーザー所有の分散型ソーシャルメディア**: Mastodon、Ghost、WordPressなどの分散型ソーシャルメディアアプリをOlaresに簡単にインストールし、プラットフォームの手数料やアカウント停止のリスクなしに個人ブランドを構築します。<br>
🤝 **ユーザー所有の分散型ソーシャルメディア**: Mastodon、Ghost、WordPressなどの分散型ソーシャルメディアアプリをbeOS Proに簡単にインストールし、プラットフォームの手数料やアカウント停止のリスクなしに個人ブランドを構築します。<br>
📚 **学習プラットフォーム**: セルフホスティング、コンテナオーケストレーション、クラウド技術を実践的に学びます。
@@ -100,44 +100,44 @@ Olaresは、セキュリティ、使いやすさ、開発の柔軟性を向上
### システム互換性
Olaresは以下のLinuxプラットフォームで動作検証を完了しています
beOS Proは以下のLinuxプラットフォームで動作検証を完了しています
- Ubuntu 24.04 LTS 以降
- Debian 11 以降
### Olaresのセットアップ
自分のデバイスでOlaresを始めるには、[はじめにガイド](https://docs.olares.com/manual/get-started/)に従ってステップバイステップの手順を確認してください。
### beOS Proのセットアップ
自分のデバイスでbeOS Proを始めるには、[はじめにガイド](https://docs.beos.local/manual/get-started/)に従ってステップバイステップの手順を確認してください。
## プロジェクトナビゲーションx
このセクションでは、Olares リポジトリ内の主要なディレクトリをリストアップしています:
このセクションでは、beOS Pro リポジトリ内の主要なディレクトリをリストアップしています:
* **[`apps`](./apps)**: システムアプリケーションのコードが含まれており、主に `larepass` 用です。
* **[`cli`](./cli)**: Olares のコマンドラインインターフェースツールである `olares-cli` のコードが含まれています。
* **[`cli`](./cli)**: beOS Pro のコマンドラインインターフェースツールである `olares-cli` のコードが含まれています。
* **[`daemon`](./daemon)**: システムデーモンプロセスである `olaresd` のコードが含まれています。
* **[`docs`](./docs)**: プロジェクトのドキュメントが含まれています。
* **[`framework`](./framework)**: Olares システムサービスが含まれています。
* **[`framework`](./framework)**: beOS Pro システムサービスが含まれています。
* **[`infrastructure`](./infrastructure)**: コンピューティング、ストレージ、ネットワーキング、GPU などのインフラストラクチャコンポーネントに関連するコードが含まれています。
* **[`platform`](./platform)**: データベースやメッセージキューなどのクラウドネイティブコンポーネントのコードが含まれています。
* **`vendor`**: サードパーティのハードウェアベンダーからのコードが含まれています。
## Olaresへの貢献
## beOS Proへの貢献
あらゆる形での貢献を歓迎します:
- Olaresで独自のアプリケーションを開発したい場合は、以下を参照してください:<br>
https://docs.olares.com/developer/develop/
- beOS Proで独自のアプリケーションを開発したい場合は、以下を参照してください:<br>
https://docs.beos.local/developer/develop/
- Olaresの改善に協力したい場合は、以下を参照してください:<br>
https://docs.olares.com/developer/contribute/olares.html
- beOS Proの改善に協力したい場合は、以下を参照してください:<br>
https://docs.beos.local/developer/contribute/olares.html
## コミュニティと連絡先
* [**GitHub Discussion**](https://github.com/beclab/olares/discussions). フィードバックの共有や質問に最適です。
* [**GitHub Issues**](https://github.com/beclab/olares/issues). Olaresの使用中に遭遇したバグの報告や機能提案の提出に最適です。
* [**Discord**](https://discord.gg/olares). Olaresに関するあらゆることを共有するのに最適です。
* [**GitHub Issues**](https://github.com/beclab/olares/issues). beOS Proの使用中に遭遇したバグの報告や機能提案の提出に最適です。
* [**Discord**](https://discord.gg/olares). beOS Proに関するあらゆることを共有するのに最適です。
## 特別な感謝
Olaresプロジェクトは、次のような多数のサードパーティオープンソースプロジェクトを統合しています:[Kubernetes](https://kubernetes.io/)、[Kubesphere](https://github.com/kubesphere/kubesphere)、[Padloc](https://padloc.app/)、[K3S](https://k3s.io/)、[JuiceFS](https://github.com/juicedata/juicefs)、[MinIO](https://github.com/minio/minio)、[Envoy](https://github.com/envoyproxy/envoy)、[Authelia](https://github.com/authelia/authelia)、[Infisical](https://github.com/Infisical/infisical)、[Dify](https://github.com/langgenius/dify)、[Seafile](https://github.com/haiwen/seafile)、[HeadScale](https://headscale.net/)、 [tailscale](https://tailscale.com/)、[Redis Operator](https://github.com/spotahome/redis-operator)、[Nitro](https://nitro.jan.ai/)、[RssHub](http://rsshub.app/)、[predixy](https://github.com/joyieldInc/predixy)、[nvshare](https://github.com/grgalex/nvshare)、[LangChain](https://www.langchain.com/)、[Quasar](https://quasar.dev/)、[TrustWallet](https://trustwallet.com/)、[Restic](https://restic.net/)、[ZincSearch](https://zincsearch-docs.zinc.dev/)、[filebrowser](https://filebrowser.org/)、[lego](https://go-acme.github.io/lego/)、[Velero](https://velero.io/)、[s3rver](https://github.com/jamhall/s3rver)、[Citusdata](https://www.citusdata.com/)。
beOS Proプロジェクトは、次のような多数のサードパーティオープンソースプロジェクトを統合しています:[Kubernetes](https://kubernetes.io/)、[Kubesphere](https://github.com/kubesphere/kubesphere)、[Padloc](https://padloc.app/)、[K3S](https://k3s.io/)、[JuiceFS](https://github.com/juicedata/juicefs)、[MinIO](https://github.com/minio/minio)、[Envoy](https://github.com/envoyproxy/envoy)、[Authelia](https://github.com/authelia/authelia)、[Infisical](https://github.com/Infisical/infisical)、[Dify](https://github.com/langgenius/dify)、[Seafile](https://github.com/haiwen/seafile)、[HeadScale](https://headscale.net/)、 [tailscale](https://tailscale.com/)、[Redis Operator](https://github.com/spotahome/redis-operator)、[Nitro](https://nitro.jan.ai/)、[RssHub](http://rsshub.app/)、[predixy](https://github.com/joyieldInc/predixy)、[nvshare](https://github.com/grgalex/nvshare)、[LangChain](https://www.langchain.com/)、[Quasar](https://quasar.dev/)、[TrustWallet](https://trustwallet.com/)、[Restic](https://restic.net/)、[ZincSearch](https://zincsearch-docs.zinc.dev/)、[filebrowser](https://filebrowser.org/)、[lego](https://go-acme.github.io/lego/)、[Velero](https://velero.io/)、[s3rver](https://github.com/jamhall/s3rver)、[Citusdata](https://www.citusdata.com/)。

View File

@@ -317,7 +317,7 @@ spec:
chown -R 1000:1000 /uploadstemp && \
chown -R 1000:1000 /appdata
- name: olares-app-init
image: beclab/system-frontend:v1.8.5
image: beclab/system-frontend:v1.9.13
imagePullPolicy: IfNotPresent
command:
- /bin/sh
@@ -439,7 +439,7 @@ spec:
- name: NATS_SUBJECT_VAULT
value: os.vault.{{ .Values.bfl.username}}
- name: user-service
image: beclab/user-service:v0.0.85
image: beclab/user-service:v0.0.86
imagePullPolicy: IfNotPresent
ports:
- containerPort: 3000

View File

@@ -1,8 +1,8 @@
# Olares Apps
# beOS Pro Apps
## Overview
This directory contains the code for system applications, primarily for LarePass. The following are the pre-installed system applications that offer tools for managing files, knowledge, passwords, and the system itself.
This directory contains the code for the beOS Pro system applications. The following are the pre-installed applications that provide files, knowledge, passwords, settings, monitoring, and development tools.
## System Applications Overview
@@ -16,8 +16,8 @@ This directory contains the code for system applications, primarily for LarePass
| Profile | An app to customize the user's profile page. |
| Settings | A system configuration application. |
| Dashboard | An app for monitoring system resource usage. |
| Control Hub | The console for Olares, providing precise and autonomous control over the system and its environment. |
| Studio | A development tool for building and deploying Olares applications. |
| Control Hub | The console for beOS Pro, providing precise and autonomous control over the system and its environment. |
| Studio | A development tool for building and deploying beOS Pro applications. |
# Local Development Guide
@@ -62,7 +62,7 @@ sudo nano /etc/hosts
2. Add the following content at the end of the file:
```
127.0.0.1 test.xxx.olares.com
127.0.0.1 test.xxx.beos.local
```
3. Save the file and exit
@@ -84,7 +84,7 @@ sudo nano /etc/hosts
3. Add the following content at the end of the file:
```
127.0.0.1 test.xxx.olares.com
127.0.0.1 test.xxx.beos.local
```
4. Save the file (`Ctrl + S`)
@@ -99,7 +99,7 @@ ipconfig /flushdns
## Step 2: Install Dependencies
Run in the project root directory (`olares-app`):
Run in the project root directory (`beos-app`):
```bash
npm install
@@ -110,12 +110,12 @@ npm install
Create or edit the `.env` file in the `packages/app` directory and add the following content:
```env
ACCOUNT_DOMAIN=xxx.olares.com
DEV_DOMAIN=test.xxx.olares.com
ACCOUNT_DOMAIN=xxx.beos.local
DEV_DOMAIN=test.xxx.beos.local
```
> **Note**:
> - `ACCOUNT_DOMAIN`: Your Olares account domain, used for API proxy
> - `ACCOUNT_DOMAIN`: Your beOS account domain, used for API proxy
> - `DEV_DOMAIN`: Local development server domain, must match the domain configured in the hosts file
## Step 4: Start the Project
@@ -145,18 +145,18 @@ After successful startup, visit in your browser (replace port according to the p
| Project | URL |
|---------|-----|
| Desktop | `https://test.xxx.olares.com:1090` |
| Files | `https://test.xxx.olares.com:5090` |
| Settings | `https://test.xxx.olares.com:9000` |
| Market | `https://test.xxx.olares.com:8080` |
| Vault | `https://test.xxx.olares.com:8090` |
| Wise | `https://test.xxx.olares.com:8100` |
| Dashboard | `https://test.xxx.olares.com:9003` |
| Control Hub | `https://test.xxx.olares.com:9002` |
| Share | `https://test.xxx.olares.com:5070` |
| Editor | `https://test.xxx.olares.com:9100` |
| Preview | `https://test.xxx.olares.com:9001` |
| Studio | `https://test.xxx.olares.com:9001` |
| Desktop | `https://test.xxx.beos.local:1090` |
| Files | `https://test.xxx.beos.local:5090` |
| Settings | `https://test.xxx.beos.local:9000` |
| Market | `https://test.xxx.beos.local:8080` |
| Vault | `https://test.xxx.beos.local:8090` |
| Wise | `https://test.xxx.beos.local:8100` |
| Dashboard | `https://test.xxx.beos.local:9003` |
| Control Hub | `https://test.xxx.beos.local:9002` |
| Share | `https://test.xxx.beos.local:5070` |
| Editor | `https://test.xxx.beos.local:9100` |
| Preview | `https://test.xxx.beos.local:9001` |
| Studio | `https://test.xxx.beos.local:9001` |
> **Note**: Since a self-signed certificate is used, the browser may display an insecure connection warning. Click "Advanced" and select "Proceed" to continue.
@@ -164,8 +164,8 @@ After successful startup, visit in your browser (replace port according to the p
| Variable | Description | Example |
|----------|-------------|---------|
| `ACCOUNT_DOMAIN` | Account domain (for API proxy) | `xxx.olares.com` |
| `DEV_DOMAIN` | Development server domain | `test.xxx.olares.com` |
| `ACCOUNT_DOMAIN` | Account domain (for API proxy) | `xxx.beos.local` |
| `DEV_DOMAIN` | Development server domain | `test.xxx.beos.local` |
## FAQ
@@ -216,4 +216,4 @@ npm run build:<project>
| **Wise** | `dist/spa` |
| **Studio** | `dist/spa` |
> **Note**: Build outputs for Wise and Studio are located in `dist/spa` directory, not under `dist/apps/`.
> **Note**: Build outputs for Wise and Studio are located in `dist/spa` directory, not under `dist/apps/`.

View File

@@ -1,11 +1,11 @@
{
"name": "@olares/app",
"name": "@didvault/app",
"version": "1.6.25",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@olares/app",
"name": "@didvault/app",
"version": "1.6.25",
"dependencies": {
"@bytetrade/barcode-scanner": "^7.0.1",

View File

@@ -1,9 +1,9 @@
{
"name": "@didvault/app",
"version": "1.6.25",
"description": "An Open-Source Personal Cloud to Reclaim Your Data",
"productName": "Olares App",
"author": "Olares <billpengpeng@gmail.com>",
"description": "beOS Pro self-hosted application suite",
"productName": "beOS Pro",
"author": "beOS Pro",
"private": true,
"scripts": {
"build:vault": "APPLICATION=VAULT PLATFORM=WEB quasar build",

View File

@@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>beOS Pro Privacy Policy</title>
</head>
<body>
<main>
<h1>beOS Pro Privacy Policy</h1>
<p>This installation is configured for self-hosted operation.</p>
<p>Review and replace this placeholder with your own privacy policy before distribution.</p>
</main>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>beOS Pro 隐私政策</title>
</head>
<body>
<main>
<h1>beOS Pro 隐私政策</h1>
<p>当前安装以自托管方式运行。</p>
<p>在对外分发之前,请将此占位文件替换为你自己的隐私政策。</p>
</main>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>beOS Pro Service Agreement</title>
</head>
<body>
<main>
<h1>beOS Pro Service Agreement</h1>
<p>This installation is configured for self-hosted operation.</p>
<p>Review and replace this placeholder with your own service agreement before distribution.</p>
</main>
</body>
</html>

View File

@@ -0,0 +1,15 @@
<!doctype html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>beOS Pro 服务协议</title>
</head>
<body>
<main>
<h1>beOS Pro 服务协议</h1>
<p>当前安装以自托管方式运行。</p>
<p>在对外分发之前,请将此占位文件替换为你自己的服务协议。</p>
</main>
</body>
</html>

View File

@@ -1,4 +1,4 @@
import { getFileIcon, getFileType } from '@bytetrade/core';
import { getFileIcon, getFileType } from 'src/utils/beos-core';
import axios from 'axios';
import { useUserStore } from 'src/stores/user';
import {

View File

@@ -9,12 +9,7 @@ import {
import { getAppPlatform } from '../../application/platform';
import { useDataStore } from '../../stores/data';
import {
TermiPassState,
TermiPassStateInfo,
useTermipassStore
} from 'src/stores/termipass';
import { Store } from 'pinia';
import { useBeOSAppStore } from 'src/stores/beosApp';
import { i18n } from 'src/boot/i18n';
import { getRequestErrorMessage } from 'src/utils/notifyRedefinedUtil';
@@ -63,17 +58,7 @@ class Fetch {
// private instanceWeb: AxiosInstance;
private termipassStore: Store<
'termipass',
TermiPassState,
{
isLocal(): boolean;
isP2P(): boolean;
isDER(): boolean;
isDirect(): boolean;
totalStatus(): TermiPassStateInfo | undefined;
}
>;
private beosAppStore: ReturnType<typeof useBeOSAppStore>;
constructor() {
this.init();
@@ -102,7 +87,7 @@ class Fetch {
if (
getAppPlatform().isClient &&
this.termipassStore.totalStatus?.isError !== UserStatusActive.active
this.beosAppStore.totalStatus?.isError !== UserStatusActive.active
) {
console.error('Request blocked');
return Promise.reject(new Error('Request blocked'));
@@ -157,7 +142,7 @@ class Fetch {
url: string,
config?: AxiosRequestConfig
): Promise<T> {
this.termipassStore = useTermipassStore();
this.beosAppStore = useBeOSAppStore();
const response: AxiosResponse<T> = await this.instance.get(url, config);
return response.data;
}
@@ -167,7 +152,7 @@ class Fetch {
data?: any,
config?: AxiosRequestConfig
): Promise<AxiosResponse<T>> {
this.termipassStore = useTermipassStore();
this.beosAppStore = useBeOSAppStore();
return this.instance.post(url, data, config);
}

View File

@@ -30,7 +30,7 @@ import {
TransferStatus,
TransferFront
} from 'src/utils/interface/transfer';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { getextension } from 'src/utils/utils';
import md5 from 'js-md5';
import { i18n } from 'src/boot/i18n';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, FileResType, useFilesStore } from 'src/stores/files';
// import urlFormat from '../../utils/url';
import { i18n } from 'src/boot/i18n';

View File

@@ -30,7 +30,7 @@ import {
import { createURL, getNotifyMsg } from '../utils';
import { encodeUrl } from 'src/utils/encode';
import { i18n } from 'src/boot/i18n';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { filterPcvPath } from '../common/common';
import { getextension } from 'src/utils/utils';

View File

@@ -19,7 +19,7 @@ import {
TransferFront
} from 'src/utils/interface/transfer';
import * as files from './utils';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { filterPcvPath } from '../common/common';
import md5 from 'js-md5';
import { useDataStore } from 'src/stores/data';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { useFilesStore, FileItem } from 'src/stores/files';
import { getextension } from 'src/utils/utils';
import { filterPcvPath } from './../common/common';

View File

@@ -27,7 +27,7 @@ import { filterPcvPath, filterPcvPath2 } from '../common/common';
import { getextension } from 'src/utils/utils';
import { encodeUrl } from 'src/utils/encode';
import { i18n } from 'src/boot/i18n';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { IUploadCloudParams } from 'src/platform/interface/electron/interface';
import { useUserStore } from 'src/stores/user';
import { Router } from 'vue-router';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { useFilesStore, FileItem } from 'src/stores/files';
import { getextension } from 'src/utils/utils';
import { filterPcvPath } from './../common/common';

View File

@@ -1,5 +1,5 @@
import { DriveDataAPI } from './../index';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { formatGd } from './filesFormat';
import {
move,

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, FileResType, useFilesStore } from 'src/stores/files';
import { DriveType } from 'src/utils/interface/files';

View File

@@ -1,5 +1,5 @@
import { DriveDataAPI } from './../index';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { format } from './filesFormat';
import { DriveMenuType } from './type';
import { useOperateinStore, CopyStoragesType } from 'src/stores/operation';

View File

@@ -1,4 +1,4 @@
// import { getFileType } from '@bytetrade/core';
// import { getFileType } from 'src/utils/beos-core';
import { FileResType, useFilesStore } from 'src/stores/files';
import { GoogleDriveFileItem } from './type';
import { extensionByMimeType } from './utils';

View File

@@ -1,4 +1,4 @@
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import Origin from './../origin';
import { MenuItem } from 'src/utils/contact';
import { OPERATE_ACTION } from 'src/utils/contact';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, FileResType, useFilesStore } from 'src/stores/files';
import { getParams } from 'src/utils/utils';
import { getextension } from 'src/utils/utils';

View File

@@ -1,5 +1,5 @@
import { DriveDataAPI } from './../index';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { formatGd } from './filesFormat';
import { createURL } from '../utils';
import {

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, FileResType, useFilesStore } from 'src/stores/files';
import { i18n } from 'src/boot/i18n';
import { DriveType } from 'src/utils/interface/files';

View File

@@ -21,7 +21,7 @@ import {
TransferStatus,
TransferFront
} from 'src/utils/interface/transfer';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { getextension } from 'src/utils/utils';
import md5 from 'js-md5';
import * as files from './utils';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, FileResType, useFilesStore } from 'src/stores/files';
import { i18n } from 'src/boot/i18n';
import { DriveType } from 'src/utils/interface/files';

View File

@@ -12,7 +12,7 @@ import { TransferItem, TransferFront } from 'src/utils/interface/transfer';
import { createURL, getPurePath } from '../utils';
import { encodeUrl, decodeUrl } from 'src/utils/encode';
import { i18n } from 'src/boot/i18n';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { filterPcvPath } from '../common/common';
import { getextension } from 'src/utils/utils';
import { appendPath } from '../path';

View File

@@ -362,7 +362,7 @@ export function getDownloadUrl(item: FileItem, params = {}) {
const store = useDataStore();
const baseURL = store.baseURL();
if (item.isDir && process.env.APPLICATION === 'LAREPASS') {
if (item.isDir && process.env.APPLICATION === 'BEOS') {
return getStreamListUrl(item);
}

View File

@@ -9,7 +9,7 @@ import { createDir } from './utils';
import { encodeUrl } from 'src/utils/encode';
import { i18n } from 'src/boot/i18n';
import * as files from './utils';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { filterPcvPath } from '../common/common';
import { CommonUrlApiType } from '../common/utils';
import { appendPath } from '../path';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { useFilesStore } from 'src/stores/files';
import { getextension } from 'src/utils/utils';
import { i18n } from 'src/boot/i18n';

View File

@@ -26,7 +26,7 @@ import { filterPcvPath } from '../common/common';
import { getextension } from 'src/utils/utils';
import { encodeUrl, decodeUrl } from 'src/utils/encode';
import { i18n } from 'src/boot/i18n';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { IUploadCloudParams } from 'src/platform/interface/electron/interface';
import { useUserStore } from 'src/stores/user';
import { Router } from 'vue-router';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, useFilesStore } from 'src/stores/files';
import { getextension } from 'src/utils/utils';
import { i18n } from 'src/boot/i18n';

View File

@@ -1,5 +1,5 @@
import { DriveDataAPI } from './../index';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { formatGd } from './filesFormat';
import { createURL, getPurePath } from '../utils';
import url from 'src/utils/url';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, FileResType, useFilesStore } from 'src/stores/files';
import { DriveType } from 'src/utils/interface/files';

View File

@@ -13,7 +13,7 @@ import * as filesUtil from '../common/utils';
import { CommonUrlApiType, formatAppDataNode } from '../common/utils';
import { TransferFront, TransferItem } from 'src/utils/interface/transfer';
import { appendPath } from '../path';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { getextension } from 'src/utils/utils';
export default class ExternalDataAPI extends DriveDataAPI {

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, useFilesStore } from 'src/stores/files';
import { getextension } from 'src/utils/utils';
import { i18n } from 'src/boot/i18n';

View File

@@ -1,5 +1,5 @@
import { DriveDataAPI } from './../index';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { format } from './filesFormat';
import { DriveMenuType, GoogleDriveFileItem } from './type';
import { useOperateinStore, CopyStoragesType } from 'src/stores/operation';

View File

@@ -1,4 +1,4 @@
// import { getFileType } from '@bytetrade/core';
// import { getFileType } from 'src/utils/beos-core';
import { FileResType, useFilesStore } from 'src/stores/files';
import { GoogleDriveFileItem } from './type';
import { extensionByMimeType } from './utils';
@@ -6,7 +6,7 @@ import { DriveType } from 'src/utils/interface/files';
import { encodeUrl } from 'src/utils/encode';
import { appendPath } from '../path';
import { i18n } from 'src/boot/i18n';
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
export function format(
data: {

View File

@@ -4,7 +4,7 @@ import { CommonFetch } from '../../fetch';
import { CommonUrlApiType, commonUrlPrefix } from '../common/utils';
import { appendPath } from '../path';
import { getApplication } from 'src/application/base';
import { compareOlaresVersion } from '@bytetrade/core';
import { compareBeOSVersion } from 'src/utils/beos-core';
import { useUserStore } from 'src/stores/user';
export function formatResourcesUrl(url: string) {
@@ -33,7 +33,7 @@ const getCloudAccounts = async () => {
const userStore = useUserStore();
if (
userStore.current_user?.os_version &&
compareOlaresVersion(
compareBeOSVersion(
userStore.current_user?.os_version,
supportApiNewVersion
).compare < 0

View File

@@ -13,7 +13,7 @@ import { createURL, getPurePath } from '../../utils';
import { encodeUrl } from 'src/utils/encode';
import { i18n } from 'src/boot/i18n';
import * as files from './utils';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import {
driveTypeByFileTypeAndFileExtend,
filterPcvPath

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, useFilesStore } from 'src/stores/files';
import { getextension } from 'src/utils/utils';
import { i18n } from 'src/boot/i18n';

View File

@@ -1,4 +1,4 @@
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import Origin from './../origin';
import { MenuItem } from 'src/utils/contact';
import { OPERATE_ACTION } from 'src/utils/contact';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, FileResType, useFilesStore } from 'src/stores/files';
import { getParams } from 'src/utils/utils';
import { getextension } from 'src/utils/utils';

View File

@@ -1,5 +1,5 @@
import { DriveDataAPI } from './../index';
import { getFileIcon } from '@bytetrade/core';
import { getFileIcon } from 'src/utils/beos-core';
import { formatGd } from './filesFormat';
import { createURL, getPurePath } from '../utils';

View File

@@ -1,4 +1,4 @@
import { getFileType } from '@bytetrade/core';
import { getFileType } from 'src/utils/beos-core';
import { FileItem, FileResType, useFilesStore } from 'src/stores/files';
import { i18n } from 'src/boot/i18n';
import { DriveType } from 'src/utils/interface/files';

View File

@@ -3,9 +3,9 @@ const globalConfig = {
url:
process.env.NODE_ENV === 'development' ? '' : process.env.PUBLIC_URL || '',
isOfficial: !!(process.env.PUBLIC_URL && process.env.PUBLIC_URL.length > 0),
install_en_docs: 'https://docs.olares.com/manual/get-started/?redirect=false',
install_en_docs: 'https://docs.beos.local/manual/get-started/?redirect=false',
install_zh_docs:
'https://docs.olares.com/zh/manual/get-started/?redirect=false'
'https://docs.beos.local/zh/manual/get-started/?redirect=false'
};
export default globalConfig;

View File

@@ -2,7 +2,7 @@ import { useCenterStore } from 'src/stores/market/center';
import { MarketSource } from 'src/constant/constants';
import axios from 'axios';
import globalConfig from 'src/api/market/config';
import { GolbalHost } from '@bytetrade/core';
import { GolbalHost } from 'src/utils/beos-core';
export interface MarketRequest {
id: string;

View File

@@ -4,11 +4,11 @@ import {
BackupPlan,
BackupPlanDetail,
BackupPolicy,
OlaresSpaceRegion
RemoteSpaceRegion
} from '../../constant';
import { useBackupStore } from '../../stores/settings/backup';
export async function getOlaresSpaceRegion(): Promise<OlaresSpaceRegion[]> {
export async function getRemoteSpaceRegion(): Promise<RemoteSpaceRegion[]> {
const backupStore = useBackupStore();
const result: any = await axios.get(
backupStore.baseUrl + '/apis/backup/v1/regions'

View File

@@ -5,9 +5,9 @@ import { useAppStore } from '../stores/desktop/app';
import { useUpgradeStore } from '../stores/desktop/upgrade';
import { WebPlatform } from '../utils/desktop/platform';
import { useWebsocketManager2Store } from 'src/stores/websocketManager2';
import { useDevice, onDeviceChange, DeviceType } from '@bytetrade/core';
import { useDevice, onDeviceChange, DeviceType } from 'src/utils/beos-core';
import { WebsocketSharedWorkerEnum } from 'src/websocket/interface';
import { MessageTopic } from '@bytetrade/core';
import { MessageTopic } from 'src/utils/beos-core';
import { bus } from 'src/utils/bus';
import { commonInterceptValue } from 'src/utils/response';
import { useNotificationStore } from 'src/stores/desktop/notification';

View File

@@ -8,7 +8,7 @@ import { useFilesCopyStore } from 'src/stores/files-copy';
import { watch } from 'vue';
import { RouteLocationNormalizedLoaded } from 'vue-router';
import { useDeviceStore } from 'src/stores/settings/device';
import { DeviceType } from '@bytetrade/core';
import { DeviceType } from 'src/utils/beos-core';
export class FilesApplication extends NormalApplication {
applicationName = 'files';

View File

@@ -107,6 +107,4 @@ export interface NativeAppPlatform extends AppPlatform {
getQuasar(): QVueGlobals | undefined;
getRouter(): Router | undefined;
}

View File

@@ -83,11 +83,11 @@ export interface AppPlatform extends Platform, PlatformExtension {
facebook: {
appId: string;
clientToken: string;
},
};
google: {
webClientId: string;
iOSClientId: string;
androidClientId: string;
}
}
};
};
}

View File

@@ -1,7 +1,7 @@
import { NormalApplication } from './base';
import { useTokenStore } from '../stores/token';
import { CurrentView } from '../utils/constants';
import { useDevice, onDeviceChange } from '@bytetrade/core';
import { useDevice, onDeviceChange } from 'src/utils/beos-core';
export class LoginApplication extends NormalApplication {
applicationName = 'login';

View File

@@ -10,7 +10,7 @@ import { bus, BUS_EVENT, busEmit } from '../utils/bus';
import { useUserStore } from '../stores/market/user';
import { useMenuStore } from '../stores/market/menu';
import globalConfig from 'src/api/market/config';
import { DeviceType } from '@bytetrade/core';
import { DeviceType } from 'src/utils/beos-core';
import { NormalApplication } from './base';
import { supportLanguages } from '../i18n';
import { i18n } from 'src/boot/i18n';

View File

@@ -17,7 +17,7 @@ import { WebsocketSharedWorkerEnum } from 'src/websocket/interface';
import { bus } from 'src/utils/bus';
import qs from 'qs';
import { notifyFailed } from 'src/utils/settings/btNotify';
import { DeviceType } from '@bytetrade/core';
import { DeviceType } from 'src/utils/beos-core';
import { useRouter } from 'vue-router';
import { useCookieStore } from 'src/stores/settings/cookie';

View File

@@ -8,7 +8,7 @@ import { busEmit, NetworkErrorMode } from 'src/utils/bus';
import { WebsocketSharedWorkerEnum } from 'src/websocket/interface';
import { registerTranslateMethod } from '@didvault/sdk/src/util';
import { i18n } from 'src/boot/i18n';
import { GolbalHost } from '@bytetrade/core';
import { GolbalHost } from 'src/utils/beos-core';
export class VaultApplication extends NormalApplication {
applicationName = 'vault';

View File

@@ -97,7 +97,7 @@ import {
Encoder,
bytetrade,
DeviceType
} from '@bytetrade/core';
} from 'src/utils/beos-core';
import { WindowInfo, AppClickInfo, MessageData } from './type/types';
import { bus } from '../../utils/bus';
import { useAppStore } from '../../stores/desktop/app';

View File

@@ -4,7 +4,7 @@
<script setup>
import { computed } from 'vue';
import { DeviceType } from '@bytetrade/core';
import { DeviceType } from 'src/utils/beos-core';
import PcHome from './IndexPage.vue';
import LandscapeScreenIndex from './LandscapeScreenIndex.vue';
import MobileHome from './mobile/IndexPage.vue';

View File

@@ -1,7 +1,7 @@
<template>
<q-page class="column items-center justify-center">
<img src="../../assets/desktop/landscape.svg" />
<p class="title q-mt-lg">Olares</p>
<p class="title q-mt-lg">beOS Pro</p>
<p class="content">{{ t('landscape_message') }}</p>
</q-page>
</template>

View File

@@ -415,7 +415,7 @@ export default defineComponent({
background-color: $background-1;
.app_title {
font-family: 'Inter';
font-family: 'Roboto' !important;
font-style: normal;
font-weight: 600;
font-size: 16px;

View File

@@ -358,7 +358,7 @@ export default defineComponent({
left: 0;
.app_title {
font-family: 'Source Han Sans CN';
font-family: 'Roboto' !important;
font-style: normal;
font-weight: 500;
font-size: 16px;

View File

@@ -82,7 +82,7 @@ import {
Category,
Encoder,
bytetrade
} from '@bytetrade/core';
} from 'src/utils/beos-core';
import { WindowInfo, AppClickInfo, MessageData } from '../type/types';
import { bus } from '../../../utils/bus';
import { useAppStore } from '../../../stores/desktop/app';

View File

@@ -1,13 +1,13 @@
import { get, isEmpty, last, set, isArray, flatten, isUndefined } from 'lodash';
import { getLocalTime, _capitalize } from '.';
import { getValueByUnit, getSuitableUnit } from '@bytetrade/core';
import { getValueByUnit, getSuitableUnit } from 'src/utils/beos-core';
export {
getValueByUnit,
getZeroValues,
getSuitableUnit,
getSuitableValue,
UnitKey
} from '@bytetrade/core';
} from 'src/utils/beos-core';
export const getFormatTime = (ms: string, showDay: boolean) =>
getLocalTime(Number(ms))

View File

@@ -55,7 +55,7 @@ const options = [
];
const initOption = {
key: 'sub1',
label: `${AppDetailStore.user.username}s Olares`,
label: `${AppDetailStore.user.username}s beOS Pro`,
children: options
};
const items = ref([initOption]);

View File

@@ -207,14 +207,14 @@ const fetchData = (showLoading = true, autofresh = false) => {
const sortApps = computed(() => {
const target = get(monitoringData.value, `${selected.value.sortBy}`, []);
const data = target.map((item) => {
const isOlaresApp = item.name === OLARES_APP;
const isBeOSApp = item.name === OLARES_APP;
const firstEntrance = get(item, 'entrances[0]', {});
const firstEntranceFormat = isOlaresApp
const firstEntranceFormat = isBeOSApp
? { ...firstEntrance, title: item.title, icon: item.icon }
: firstEntrance;
return {
...item,
entrances: isOlaresApp
entrances: isBeOSApp
? [{ ...firstEntrance, icon: item.icon }]
: item.entrances,
currentEntrance: item.currentEntrance

View File

@@ -85,7 +85,7 @@ import { getNameSpacePodsList } from '@apps/control-panel-common/src/network';
import MyImg from '@apps/control-panel-common/src/components/MyImg.vue';
import trafficIcon from '@apps/dashboard/assets/traffic.svg';
import pods2Icon from '@apps/dashboard/assets/pods2.svg';
import { getSuitableUnit, getValueByUnit } from '@bytetrade/core';
import { getSuitableUnit, getValueByUnit } from 'src/utils/beos-core';
interface Props {
namespace: string;

View File

@@ -235,7 +235,7 @@ const options = computed(() => {
const options = clusterOptions.value.concat(defaultOptions);
return FanStore.isOlaresOneDevice ? options.concat(fanOptions) : options;
return FanStore.isBeOSOneDevice ? options.concat(fanOptions) : options;
});
const gpuData = ref();

View File

@@ -39,7 +39,7 @@
:title="$t('USER_RESOURCES', { name: appDetail.user.username })"
>
<template #avatar>
<OlaresAvatar class="terminu-avatar-wrapper" />
<BeOSAvatar class="terminu-avatar-wrapper" />
</template>
<UserResource
:data="userResourcesData"
@@ -92,7 +92,7 @@ import { useAppDetailStore } from '@apps/dashboard/src/stores/AppDetail';
import Analytics from './AnalyticsPage.vue';
import { get, last } from 'lodash';
import PageBackground from '@apps/dashboard/components/PageBackground.vue';
import OlaresAvatar from '@apps/dashboard/src/containers/OlaresAvatar.vue';
import BeOSAvatar from '@apps/dashboard/src/containers/BeOSAvatar.vue';
import { useResourcesStore } from '@apps/dashboard/src/stores/Resource';
import { Locker } from '@apps/dashboard/src/types/main';
import { timeParams } from '../../../controlPanelCommon/config/resource.common';

View File

@@ -40,8 +40,7 @@ export const useFanStore = defineStore('FanStore', {
getters: {
gpu_fan_speed_ratio: (state) => state.data.gpu_fan_speed,
isOlaresOneDevice: (state) =>
state.systemStatus?.device_name === 'Olares One'
isBeOSOneDevice: (state) => state.systemStatus?.device_name === 'beOS One'
},
actions: {
init() {

View File

@@ -32,7 +32,7 @@
>
<div class="file-item">
<img
v-if="prop.node.label === 'OlaresManifest.yaml'"
v-if="prop.node.label === 'BeOSManifest.yaml'"
class="q-mx-xs"
src="../../assets/olares-icon.svg"
/>

View File

@@ -33,7 +33,7 @@
<div
class="text-subtitle1 text-teal-pressed deploy-text row items-center justify-start"
@click="codingInOlares"
@click="codingInBeOS"
>
<q-icon class="q-mr-sm" name="sym_r_box_edit" size="24px" />
<span>{{ t('docker.coding') }}</span>
@@ -50,7 +50,7 @@ import { BtNotify, NotifyDefinedType } from '@bytetrade/ui';
import { useDockerStore } from './../stores/docker';
import { pushToSystem } from './../utils/utils';
import CreateApp from '../components/dialog/CreateApp.vue';
import CodingInOlares from '../components/dialog/CodingInOlares.vue';
import CodingInBeOS from '../components/dialog/CodingInBeOS.vue';
import { useDevelopingApps } from '@apps/studio/src/stores/app';
const { t } = useI18n();
@@ -91,9 +91,9 @@ const createApp = async () => {
});
};
const codingInOlares = () => {
const codingInBeOS = () => {
$q.dialog({
component: CodingInOlares,
component: CodingInBeOS,
componentProps: {
minMemory: 256
}

View File

@@ -48,9 +48,9 @@
<div class="link-more text-body1 text-ink-2">
{{ t('home_visit_1') }}
<a
href="https://docs.olares.com/zh/manual/overview.html"
href="https://docs.beos.local/zh/manual/overview.html"
target="_blank"
>docs.olares.com</a
>docs.beos.local</a
>
{{ t('home_visit_2') }}
</div>

View File

@@ -55,22 +55,22 @@ export const useMenuStore = defineStore('studio-menu', {
{
id: 1,
message: 'Studio Tutorial',
link: 'https://docs.olares.com/developer/develop/tutorial/'
link: 'https://docs.beos.local/developer/develop/tutorial/'
},
{
id: 3,
message: 'Understand Olares Application Chart',
link: 'https://docs.olares.com/developer/develop/package/chart.html'
message: 'Understand beOS Application Chart',
link: 'https://docs.beos.local/developer/develop/package/chart.html'
},
{
id: 4,
message: 'OlaresManifest configuration guide',
link: 'https://docs.olares.com/developer/develop/package/manifest.html'
message: 'BeOSManifest configuration guide',
link: 'https://docs.beos.local/developer/develop/package/manifest.html'
},
{
id: 5,
message: 'How to submit an application',
link: 'https://docs.olares.com/developer/develop/submit/'
link: 'https://docs.beos.local/developer/develop/submit/'
}
]
} as DataState;

View File

@@ -10,7 +10,7 @@ export async function pushToSystem(app_name, router, value?: string) {
namespace = value;
} else {
const url = window.location.origin;
// const url = 'https://studio.zhaohuaiyuan.olares.cn/';
const olaresId =
url.split('.')[1] == 'local' ? url.split('.')[2] : url.split('.')[1];
namespace = app_name + '-dev-' + olaresId;

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

View File

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

View File

Before

Width:  |  Height:  |  Size: 29 KiB

After

Width:  |  Height:  |  Size: 29 KiB

Some files were not shown because too many files have changed in this diff Show More