Compare commits

..

48 Commits

Author SHA1 Message Date
9e0a0b5a89 v1.14.10
Some checks failed
Publish to npm / npm-publish (push) Failing after 9s
CI / Type Check & Lint (push) Failing after 32s
CI / Build Test (Current Platform) (push) Successful in 59s
CI / Build All Platforms (push) Successful in 2m1s
Release / build-and-release (push) Successful in 2m42s
2026-03-16 08:40:48 +00:00
3a227bd838 fix(services): stop auto-update monitoring during shutdown 2026-03-16 08:40:48 +00:00
f5a7fccfc2 v1.14.9
Some checks failed
CI / Type Check & Lint (push) Failing after 25s
Publish to npm / npm-publish (push) Failing after 32s
CI / Build Test (Current Platform) (push) Successful in 57s
CI / Build All Platforms (push) Successful in 2m20s
Release / build-and-release (push) Successful in 3m50s
2026-03-16 08:25:32 +00:00
a30d2029a5 fix(repo): no changes to commit 2026-03-16 08:25:32 +00:00
88727dd47d v1.14.8
Some checks failed
Publish to npm / npm-publish (push) Failing after 9s
CI / Type Check & Lint (push) Failing after 45s
CI / Build Test (Current Platform) (push) Successful in 1m19s
CI / Build All Platforms (push) Successful in 2m46s
Release / build-and-release (push) Successful in 5m20s
2026-03-16 03:06:23 +00:00
9a5ed2220e fix(repo): no changes to commit 2026-03-16 03:06:23 +00:00
decd39e7c4 v1.14.7
Some checks failed
CI / Build All Platforms (push) Has been cancelled
CI / Type Check & Lint (push) Has been cancelled
CI / Build Test (Current Platform) (push) Has been cancelled
Publish to npm / npm-publish (push) Failing after 8s
Release / build-and-release (push) Successful in 5m34s
2026-03-16 03:06:17 +00:00
ad2e228208 fix(repo): no changes to commit 2026-03-16 03:06:17 +00:00
cf06019d79 v1.14.6
Some checks failed
CI / Build Test (Current Platform) (push) Has been cancelled
CI / Type Check & Lint (push) Has been cancelled
CI / Build All Platforms (push) Has been cancelled
Publish to npm / npm-publish (push) Failing after 6s
Release / build-and-release (push) Successful in 5m30s
2026-03-16 03:06:08 +00:00
cf44b0047d fix(project): no changes to commit 2026-03-16 03:06:08 +00:00
260b5364e6 v1.14.5
Some checks failed
CI / Build All Platforms (push) Failing after 6s
Publish to npm / npm-publish (push) Failing after 8s
CI / Type Check & Lint (push) Failing after 24s
CI / Build Test (Current Platform) (push) Successful in 51s
Release / build-and-release (push) Successful in 3m30s
2026-03-16 03:04:57 +00:00
51c1962042 fix(onebox): move Docker auto-install and swarm initialization into Onebox startup flow 2026-03-16 03:04:57 +00:00
d3b78054ad v1.14.4
Some checks failed
CI / Build Test (Current Platform) (push) Failing after 5s
Publish to npm / npm-publish (push) Failing after 7s
CI / Type Check & Lint (push) Failing after 30s
CI / Build All Platforms (push) Successful in 1m57s
Release / build-and-release (push) Successful in 3m15s
2026-03-16 02:37:59 +00:00
d2ae35f0ce fix(repo): no changes to commit 2026-03-16 02:37:59 +00:00
a605477663 v1.14.3
Some checks failed
Publish to npm / npm-publish (push) Failing after 7s
CI / Type Check & Lint (push) Failing after 29s
CI / Build Test (Current Platform) (push) Successful in 52s
CI / Build All Platforms (push) Successful in 1m54s
Release / build-and-release (push) Successful in 3m14s
2026-03-16 02:17:20 +00:00
ba98086548 fix(repo): no changes to commit 2026-03-16 02:17:20 +00:00
0b3c22556b v1.14.2
Some checks failed
CI / Build All Platforms (push) Failing after 6s
Publish to npm / npm-publish (push) Failing after 7s
CI / Type Check & Lint (push) Failing after 23s
CI / Build Test (Current Platform) (push) Successful in 51s
Release / build-and-release (push) Has been cancelled
2026-03-16 02:11:41 +00:00
069e6e6c8f fix(repo): no changes to commit 2026-03-16 02:11:41 +00:00
10598520d8 v1.14.1
Some checks failed
Publish to npm / npm-publish (push) Failing after 9s
CI / Type Check & Lint (push) Failing after 28s
CI / Build Test (Current Platform) (push) Successful in 57s
CI / Build All Platforms (push) Successful in 2m6s
Release / build-and-release (push) Successful in 3m32s
2026-03-16 01:33:07 +00:00
075b7946b1 fix(repo): no changes to commit 2026-03-16 01:33:07 +00:00
f47fca3304 v1.14.0
Some checks failed
Publish to npm / npm-publish (push) Failing after 7s
CI / Type Check & Lint (push) Failing after 31s
CI / Build Test (Current Platform) (push) Successful in 1m2s
CI / Build All Platforms (push) Successful in 2m5s
Release / build-and-release (push) Successful in 4m57s
2026-03-16 01:19:58 +00:00
575e010a6b feat(daemon): auto-install Docker and initialize Swarm during daemon service setup 2026-03-16 01:19:58 +00:00
60a5dc4663 v1.13.17
Some checks failed
CI / Type Check & Lint (push) Failing after 39s
Publish to npm / npm-publish (push) Failing after 54s
CI / Build Test (Current Platform) (push) Successful in 1m49s
CI / Build All Platforms (push) Successful in 3m18s
Release / build-and-release (push) Successful in 4m38s
2026-03-16 01:10:23 +00:00
36d80b1e27 fix(ci): remove forced container image pulling from Gitea workflow jobs 2026-03-16 01:10:23 +00:00
465cf0ee72 v1.13.16
Some checks failed
CI / Type Check & Lint (push) Failing after 0s
CI / Build Test (Current Platform) (push) Failing after 0s
CI / Build All Platforms (push) Failing after 0s
Publish to npm / npm-publish (push) Failing after 0s
Release / build-and-release (push) Failing after 2m33s
2026-03-16 00:59:27 +00:00
bd5cd5c0cb fix(ci): refresh workflow container images on every run and bump @apiclient.xyz/docker to ^5.1.1 2026-03-16 00:59:27 +00:00
b622565e34 v1.13.15
Some checks failed
CI / Build Test (Current Platform) (push) Failing after 5s
CI / Type Check & Lint (push) Failing after 30s
Publish to npm / npm-publish (push) Failing after 35s
CI / Build All Platforms (push) Successful in 2m25s
Release / build-and-release (push) Successful in 3m43s
2026-03-15 21:13:56 +00:00
56376121ab fix(repo): no changes to commit 2026-03-15 21:13:56 +00:00
e3359d1235 v1.13.14
Some checks failed
CI / Type Check & Lint (push) Failing after 2s
CI / Build Test (Current Platform) (push) Failing after 2s
CI / Build All Platforms (push) Failing after 2s
Publish to npm / npm-publish (push) Failing after 2s
Release / build-and-release (push) Successful in 5m55s
2026-03-15 20:56:22 +00:00
f1eeec6922 fix(repo): no changes to commit 2026-03-15 20:56:22 +00:00
69362bb529 v1.13.13
Some checks failed
CI / Build All Platforms (push) Failing after 6s
Publish to npm / npm-publish (push) Failing after 8s
CI / Type Check & Lint (push) Failing after 32s
CI / Build Test (Current Platform) (push) Failing after 50s
Release / build-and-release (push) Failing after 4s
2026-03-15 20:49:49 +00:00
857fcc50ba fix(repo): no changes to commit 2026-03-15 20:49:49 +00:00
5d0df006eb v1.13.12
Some checks failed
Publish to npm / npm-publish (push) Failing after 9s
CI / Type Check & Lint (push) Failing after 30s
CI / Build Test (Current Platform) (push) Failing after 59s
Release / build-and-release (push) Failing after 1m10s
CI / Build All Platforms (push) Successful in 1m49s
2026-03-15 19:27:13 +00:00
e6256502ce fix(ci): run pnpm install with --ignore-scripts in CI and release workflows 2026-03-15 19:27:13 +00:00
d5dc141171 v1.13.11
Some checks failed
Publish to npm / npm-publish (push) Failing after 9s
CI / Build Test (Current Platform) (push) Failing after 22s
CI / Build All Platforms (push) Failing after 20s
CI / Type Check & Lint (push) Failing after 30s
Release / build-and-release (push) Failing after 15s
2026-03-15 19:11:46 +00:00
2538f5ae2c fix(project): no changes to commit 2026-03-15 19:11:46 +00:00
4613193dcc v1.13.10
Some checks failed
Publish to npm / npm-publish (push) Failing after 12s
CI / Type Check & Lint (push) Failing after 40s
CI / Build All Platforms (push) Failing after 1m28s
CI / Build Test (Current Platform) (push) Failing after 1m31s
Release / build-and-release (push) Failing after 1m21s
2026-03-15 18:39:16 +00:00
848b3afe54 fix(deps): bump @git.zone/tsdeno to ^1.2.0 2026-03-15 18:39:16 +00:00
dd86bae942 v1.13.9
Some checks failed
Publish to npm / npm-publish (push) Failing after 8s
CI / Build Test (Current Platform) (push) Failing after 14s
CI / Build All Platforms (push) Failing after 18s
Release / build-and-release (push) Failing after 19s
CI / Type Check & Lint (push) Failing after 30s
2026-03-15 18:32:32 +00:00
4691c61544 fix(repo): no changes to commit 2026-03-15 18:32:32 +00:00
dfb2d3b340 v1.13.8
Some checks failed
Publish to npm / npm-publish (push) Failing after 9s
CI / Build Test (Current Platform) (push) Failing after 15s
CI / Build All Platforms (push) Failing after 16s
CI / Type Check & Lint (push) Failing after 38s
Release / build-and-release (push) Failing after 31s
2026-03-15 18:12:48 +00:00
6a19ab05e3 fix(repo): no changes to commit 2026-03-15 18:12:48 +00:00
7b718da7a2 v1.13.7
Some checks failed
CI / Build All Platforms (push) Failing after 13m21s
CI / Build Test (Current Platform) (push) Failing after 13m23s
CI / Type Check & Lint (push) Failing after 13m25s
Release / build-and-release (push) Failing after 15s
Publish to npm / npm-publish (push) Failing after 6s
2026-03-15 16:38:24 +00:00
ebaf545418 fix(repo): no changes to commit 2026-03-15 16:38:24 +00:00
2cdfdaed55 v1.13.6
Some checks failed
CI / Build All Platforms (push) Has been cancelled
CI / Build Test (Current Platform) (push) Has been cancelled
Publish to npm / npm-publish (push) Has been cancelled
Release / build-and-release (push) Has been cancelled
CI / Type Check & Lint (push) Failing after 53m53s
2026-03-15 15:49:42 +00:00
2216804652 fix(ci): correct workflow container image registry path 2026-03-15 15:49:42 +00:00
1b177037f5 v1.13.5
Some checks failed
CI / Type Check & Lint (push) Failing after 1s
CI / Build Test (Current Platform) (push) Failing after 1s
CI / Build All Platforms (push) Failing after 1s
Publish to npm / npm-publish (push) Failing after 1s
Release / build-and-release (push) Failing after 1s
2026-03-15 15:47:21 +00:00
9d6590927c fix(workflows): switch Gitea workflow containers from ht-docker-dbase to ht-docker-node 2026-03-15 15:47:21 +00:00
11 changed files with 603 additions and 533 deletions

View File

@@ -13,7 +13,7 @@ jobs:
name: Type Check & Lint
runs-on: ubuntu-latest
container:
image: code.foss.global/hosttoday/ht-docker-dbase:latest
image: code.foss.global/host.today/ht-docker-node:latest
steps:
- name: Checkout code
@@ -42,7 +42,7 @@ jobs:
name: Build Test (Current Platform)
runs-on: ubuntu-latest
container:
image: code.foss.global/hosttoday/ht-docker-dbase:latest
image: code.foss.global/host.today/ht-docker-node:latest
steps:
- name: Checkout code
@@ -62,7 +62,7 @@ jobs:
run: corepack enable
- name: Install dependencies
run: pnpm install
run: pnpm install --ignore-scripts
- name: Compile for current platform
run: |
@@ -81,7 +81,7 @@ jobs:
name: Build All Platforms
runs-on: ubuntu-latest
container:
image: code.foss.global/hosttoday/ht-docker-dbase:latest
image: code.foss.global/host.today/ht-docker-node:latest
steps:
- name: Checkout code
@@ -101,7 +101,7 @@ jobs:
run: corepack enable
- name: Install dependencies
run: pnpm install
run: pnpm install --ignore-scripts
- name: Compile all platform binaries
run: mkdir -p dist/binaries && npx tsdeno compile

View File

@@ -9,7 +9,7 @@ jobs:
npm-publish:
runs-on: ubuntu-latest
container:
image: code.foss.global/hosttoday/ht-docker-dbase:latest
image: code.foss.global/host.today/ht-docker-node:latest
steps:
- name: Checkout code

View File

@@ -9,7 +9,7 @@ jobs:
build-and-release:
runs-on: ubuntu-latest
container:
image: code.foss.global/hosttoday/ht-docker-dbase:latest
image: code.foss.global/host.today/ht-docker-node:latest
steps:
- name: Checkout code
@@ -31,7 +31,7 @@ jobs:
run: corepack enable
- name: Install dependencies
run: pnpm install
run: pnpm install --ignore-scripts
- name: Get version from tag
id: version

View File

@@ -1,5 +1,120 @@
# Changelog
## 2026-03-16 - 1.14.10 - fix(services)
stop auto-update monitoring during shutdown
- Track the auto-update polling interval in the services manager
- Clear the auto-update interval when Onebox shuts down to prevent background checks after shutdown
## 2026-03-16 - 1.14.9 - fix(repo)
no changes to commit
## 2026-03-16 - 1.14.8 - fix(repo)
no changes to commit
## 2026-03-16 - 1.14.7 - fix(repo)
no changes to commit
## 2026-03-16 - 1.14.6 - fix(project)
no changes to commit
## 2026-03-16 - 1.14.5 - fix(onebox)
move Docker auto-install and swarm initialization into Onebox startup flow
- removes Docker setup from daemon service installation
- ensures Docker is installed before Docker initialization during Onebox startup
- preserves automatic Docker Swarm initialization on fresh servers
## 2026-03-16 - 1.14.4 - fix(repo)
no changes to commit
## 2026-03-16 - 1.14.3 - fix(repo)
no changes to commit
## 2026-03-16 - 1.14.2 - fix(repo)
no changes to commit
## 2026-03-16 - 1.14.1 - fix(repo)
no changes to commit
## 2026-03-16 - 1.14.0 - feat(daemon)
auto-install Docker and initialize Swarm during daemon service setup
- Adds a Docker availability check before installing the Onebox daemon service
- Installs Docker automatically when it is missing using the standard installation script
- Attempts to initialize Docker Swarm after installation and handles already-initialized environments gracefully
## 2026-03-16 - 1.13.17 - fix(ci)
remove forced container image pulling from Gitea workflow jobs
- Drops the `--pull always` container option from CI, npm publish, and release workflows.
- Keeps workflow container images unchanged while avoiding forced pulls on every job run.
## 2026-03-16 - 1.13.16 - fix(ci)
refresh workflow container images on every run and bump @apiclient.xyz/docker to ^5.1.1
- add --pull always to CI, release, and npm publish workflow containers to avoid stale images
- update @apiclient.xyz/docker from ^5.1.0 to ^5.1.1 in deno.json
## 2026-03-15 - 1.13.15 - fix(repo)
no changes to commit
## 2026-03-15 - 1.13.14 - fix(repo)
no changes to commit
## 2026-03-15 - 1.13.13 - fix(repo)
no changes to commit
## 2026-03-15 - 1.13.12 - fix(ci)
run pnpm install with --ignore-scripts in CI and release workflows
- Update CI workflow dependency installation steps to skip lifecycle scripts during builds.
- Apply the same install change to the release workflow for consistent automation behavior.
## 2026-03-15 - 1.13.11 - fix(project)
no changes to commit
## 2026-03-15 - 1.13.10 - fix(deps)
bump @git.zone/tsdeno to ^1.2.0
- Updates the tsdeno development dependency from ^1.1.1 to ^1.2.0.
## 2026-03-15 - 1.13.9 - fix(repo)
no changes to commit
## 2026-03-15 - 1.13.8 - fix(repo)
no changes to commit
## 2026-03-15 - 1.13.7 - fix(repo)
no changes to commit
## 2026-03-15 - 1.13.6 - fix(ci)
correct workflow container image registry path
- Update Gitea CI, release, and npm publish workflows to use the corrected ht-docker-node image path
- Align all workflow container references from hosttoday to host.today to prevent pipeline image resolution issues
## 2026-03-15 - 1.13.5 - fix(workflows)
switch Gitea workflow containers from ht-docker-dbase to ht-docker-node
- Updates the CI, release, and npm publish workflows to use the Node-focused container image consistently.
- Aligns workflow runtime images with the project's Node and Deno build and publish steps.
## 2026-03-15 - 1.13.4 - fix(ci)
run workflows in the shared build container and enable corepack for pnpm installs

View File

@@ -1,6 +1,6 @@
{
"name": "@serve.zone/onebox",
"version": "1.13.4",
"version": "1.14.10",
"exports": "./mod.ts",
"tasks": {
"test": "deno test --allow-all test/",
@@ -16,7 +16,7 @@
"@std/encoding": "jsr:@std/encoding@^1.0.10",
"@db/sqlite": "jsr:@db/sqlite@0.12.0",
"@push.rocks/smartdaemon": "npm:@push.rocks/smartdaemon@^2.1.0",
"@apiclient.xyz/docker": "npm:@apiclient.xyz/docker@^5.1.0",
"@apiclient.xyz/docker": "npm:@apiclient.xyz/docker@^5.1.1",
"@apiclient.xyz/cloudflare": "npm:@apiclient.xyz/cloudflare@6.4.3",
"@push.rocks/smartacme": "npm:@push.rocks/smartacme@^8.0.0",
"@push.rocks/smartregistry": "npm:@push.rocks/smartregistry@^2.2.0",

View File

@@ -1,6 +1,6 @@
{
"name": "@serve.zone/onebox",
"version": "1.13.4",
"version": "1.14.10",
"description": "Self-hosted container platform with automatic SSL and DNS - a mini Heroku for single servers",
"main": "mod.ts",
"type": "module",
@@ -61,7 +61,7 @@
},
"devDependencies": {
"@git.zone/tsbundle": "^2.9.0",
"@git.zone/tsdeno": "^1.1.1",
"@git.zone/tsdeno": "^1.2.0",
"@git.zone/tswatch": "^3.2.0"
}
}

920
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@serve.zone/onebox',
version: '1.13.4',
version: '1.14.10',
description: 'Self-hosted container platform with automatic SSL and DNS - a mini Heroku for single servers'
}

View File

@@ -97,6 +97,9 @@ export class Onebox {
// Ensure default admin user exists
await this.ensureDefaultUser();
// Ensure Docker is installed (auto-install on fresh servers)
await this.ensureDocker();
// Initialize Docker
await this.docker.init();
@@ -221,6 +224,59 @@ export class Onebox {
}
}
/**
* Ensure Docker is installed, installing it if necessary
*/
private async ensureDocker(): Promise<void> {
try {
const cmd = new Deno.Command('docker', {
args: ['--version'],
stdout: 'piped',
stderr: 'piped',
});
const result = await cmd.output();
if (result.success) {
const version = new TextDecoder().decode(result.stdout).trim();
logger.info(`Docker found: ${version}`);
return;
}
} catch {
// docker command not found
}
logger.info('Docker not found. Installing Docker...');
const installCmd = new Deno.Command('bash', {
args: ['-c', 'curl -fsSL https://get.docker.com | sh'],
stdin: 'inherit',
stdout: 'inherit',
stderr: 'inherit',
});
const installResult = await installCmd.output();
if (!installResult.success) {
throw new Error('Failed to install Docker. Please install it manually: curl -fsSL https://get.docker.com | sh');
}
logger.success('Docker installed successfully');
// Initialize Docker Swarm
logger.info('Initializing Docker Swarm...');
const swarmCmd = new Deno.Command('docker', {
args: ['swarm', 'init'],
stdout: 'piped',
stderr: 'piped',
});
const swarmResult = await swarmCmd.output();
if (swarmResult.success) {
logger.success('Docker Swarm initialized');
} else {
const stderr = new TextDecoder().decode(swarmResult.stderr);
if (stderr.includes('already part of a swarm')) {
logger.info('Docker Swarm already initialized');
} else {
logger.warn(`Docker Swarm init warning: ${stderr.trim()}`);
}
}
}
/**
* Check if Onebox is initialized
*/
@@ -355,6 +411,9 @@ export class Onebox {
try {
logger.info('Shutting down Onebox...');
// Stop auto-update monitoring
this.services.stopAutoUpdateMonitoring();
// Stop backup scheduler
await this.backupScheduler.stop();

View File

@@ -15,6 +15,7 @@ export class OneboxServicesManager {
private oneboxRef: any; // Will be Onebox instance
private database: OneboxDatabase;
private docker: OneboxDockerManager;
private autoUpdateIntervalId: number | null = null;
constructor(oneboxRef: any) {
this.oneboxRef = oneboxRef;
@@ -681,7 +682,7 @@ export class OneboxServicesManager {
*/
startAutoUpdateMonitoring(): void {
// Check every 30 seconds
setInterval(async () => {
this.autoUpdateIntervalId = setInterval(async () => {
try {
await this.checkForRegistryUpdates();
} catch (error) {
@@ -692,6 +693,17 @@ export class OneboxServicesManager {
logger.info('Auto-update monitoring started (30s interval)');
}
/**
* Stop auto-update monitoring
*/
stopAutoUpdateMonitoring(): void {
if (this.autoUpdateIntervalId !== null) {
clearInterval(this.autoUpdateIntervalId);
this.autoUpdateIntervalId = null;
logger.debug('Auto-update monitoring stopped');
}
}
/**
* Check all services using onebox registry for updates
*/

View File

@@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@serve.zone/onebox',
version: '1.13.4',
version: '1.14.10',
description: 'Self-hosted container platform with automatic SSL and DNS - a mini Heroku for single servers'
}