19757 Commits

Author SHA1 Message Date
Johannes Zellner
a4ea80cf5e Use the full backup paths for sshfs remote copy
Fixes #889
2026-04-14 13:19:45 +02:00
Johannes Zellner
feacb58cd1 Only print readable shell.spawn() error details 2026-04-14 12:43:15 +02:00
Girish Ramakrishnan
1de30c0c38 reverseproxy: X-Content-Type-Options is worth keeping
looks like this has no modern replacement
2026-04-10 16:34:53 +02:00
Girish Ramakrishnan
4c30054a2d nginx: remove the various X- headers
these are all deprecated https://datatracker.ietf.org/doc/html/rfc6648
2026-04-10 16:08:20 +02:00
Girish Ramakrishnan
0b9e06c28d remove obsolete X-XSS-Protection
https://http.dev/x-xss-protection
2026-04-10 16:06:10 +02:00
Johannes Zellner
37e4a99ba6 Update dependencies 2026-04-09 16:37:53 +02:00
Girish Ramakrishnan
7078eb7482 use constants.DOCKER_IPv4_GATEWAY 2026-04-09 15:29:48 +02:00
Girish Ramakrishnan
c2ec97d641 mail: listen on the bridge IP
when requiresValidCertificate is set, we ended up injecting mutliple
IP addresses for my.domain.com - 172.18.0.1 (bridge) and the mail container IP.

Since the mail server is not running on the bridge, email may or may not be
sent depending on which IP is picked up by the app.

The solution is to make the mail container listen on the bridge as well.

The other solution might have been to introduce a new subdomain for mail container
and ensuring it is different from the dashboard subdomain. That way we can route
the requests to different IPs.
2026-04-09 15:25:19 +02:00
Girish Ramakrishnan
2a2a5ffb66 filesystem: remove shell usage
recent version of node throws this error:

(node:210013) [DEP0190] DeprecationWarning: Passing args to a child process with shell option true can lead to security vulnerabilities, as the arguments are not escaped, only concatenated.
2026-04-08 17:29:56 +02:00
Girish Ramakrishnan
b84ef57d58 appstore: language counts 2026-04-08 15:00:56 +02:00
Girish Ramakrishnan
14b066d3cd rename mountpoint to 'User-managed Mount Point'
this makes it clear that the user has to manage this
2026-04-08 13:30:52 +02:00
Johannes Zellner
2b5e167b07 Only update pankow 2026-04-07 18:01:15 +02:00
Johannes Zellner
c9547cbdb8 Improve app configure resource form states 2026-04-07 15:26:58 +02:00
Johannes Zellner
89a76148b4 Fix vue type casting warning 2026-04-07 14:53:44 +02:00
Girish Ramakrishnan
81fd472bb3 Fix typo crash 2026-04-07 13:21:48 +02:00
Girish Ramakrishnan
4ba9c63eb4 docker: attempt container start a few times
Docker Error: (HTTP code 500) server error - failed to set up container networking: driver failed programming external connectivity on endpoint a877975d-38be-4088-bc92-e0d7a486a818 (2e5adaa635a95bd65ca0f290712065d444528e3420c49f2f88323b40c62caaa5): failed to bind host port for 0.0.0.0:40014:172.18.16.130:40014/tcp: address already in use

This happens during app updates. Can only be two reasons:

- some race in docker not freeing up ports (unlikely)
- ephemeral port got reallocated between destroy and create as part of app update

A future commit will reserve net.ipv4.ip_local_reserved_ports as well

Similar fix as b08e3a5128
2026-04-07 13:04:56 +02:00
Girish Ramakrishnan
9e20c5a3e3 logs: escape and unescape new lines 2026-04-07 12:54:51 +02:00
Girish Ramakrishnan
20e0774df2 impersonate: just generate a random password
this way we don't let user set some insecure one. and this two step
passowrd generate is quite confusing (generate button becomes copy)
2026-04-07 12:18:16 +02:00
Girish Ramakrishnan
603244aa6a removed double progressbars 2026-04-07 11:53:54 +02:00
Girish Ramakrishnan
1cc30934c7 apppasswords: add loading state 2026-04-07 11:50:08 +02:00
Girish Ramakrishnan
053f26cd02 apppasswords: list oidc apps in the ui 2026-04-07 11:41:23 +02:00
Girish Ramakrishnan
cc82a088a9 apppassword: 16 lowercase letters in groups of 4, to make it easier to type 2026-04-07 11:01:43 +02:00
Girish Ramakrishnan
e30e384cec services: stop turn if unused by apps 2026-04-05 11:49:18 +02:00
Girish Ramakrishnan
33691a6507 schema: add missing fields 2026-04-05 11:12:06 +02:00
Girish Ramakrishnan
83917f98f5 backup sites: disable del in demo mode 2026-04-04 11:01:52 +02:00
Johannes Zellner
1fe5a61e52 Manually update tldjs rules when we create a release tarball 2026-04-03 15:24:33 +02:00
Johannes Zellner
dab9bcb9db Add local authserver to provide /verify-credentials route
This is used for apps which are using OpenID to login but still need to
be able to verify the users password or app password
v9.1.6
2026-04-02 22:02:45 +02:00
Johannes Zellner
b2ca6206cc Fix dashboard lock file to work with node 24.13.0 2026-04-02 20:09:29 +02:00
Johannes Zellner
918c2f8587 Move to @cloudron/safetydance 2026-04-01 09:49:34 +02:00
Girish Ramakrishnan
8f851164d6 reboot: fix dashboard link 2026-04-01 09:25:10 +02:00
Johannes Zellner
d215d1998f Update docs link for tls provider 2026-03-31 13:51:08 +02:00
Girish Ramakrishnan
75e3256497 mail: update haraka to 3.1.4 2026-03-31 12:22:37 +02:00
Girish Ramakrishnan
58f5a17a83 mail: remove queue proxy
this has never worked well
2026-03-31 11:36:16 +02:00
Girish Ramakrishnan
e7c3d797be rsync: reupload files with corrupt integrity
we found sha256: null as the integrity in some of the cache files.
not sure how this happenned. for now, we just mark files with invalid
or missing sha256 for re-upload.
2026-03-31 11:31:17 +02:00
Girish Ramakrishnan
34abd5b8f5 9.1.6 changes 2026-03-30 14:40:26 +02:00
Girish Ramakrishnan
8b138d14bb backup site: remove the local disk provider
we already have ext4, xfs, mountpoint and filesystem to cover all cases

fixes #879
2026-03-30 14:37:48 +02:00
Johannes Zellner
e23abd69b5 Update frontend dependencies 2026-03-30 13:54:26 +02:00
Girish Ramakrishnan
9c16ad456d backups: set focus in the edit dialog 2026-03-30 13:52:54 +02:00
Girish Ramakrishnan
4b851afc6a location: show what DNS is being overwritten in location UI
fixes #858
2026-03-30 13:43:07 +02:00
Girish Ramakrishnan
f333148afa Update translations 2026-03-30 13:07:56 +02:00
Girish Ramakrishnan
8d0160a3e7 app configure: refresh app when a task is started 2026-03-30 10:25:26 +02:00
Girish Ramakrishnan
4a02e988c1 location: fix duplication of port bindings on submit 2026-03-30 09:47:05 +02:00
Girish Ramakrishnan
134472cd4b cloudron-support: services could be lazy-stopped 2026-03-28 14:46:00 +01:00
Girish Ramakrishnan
b40a10da7b restore: prune portBindings whose tcpPorts/udpPorts no longer exist
fixes #871
2026-03-27 18:47:52 +01:00
Girish Ramakrishnan
25f5b33d17 Remove unused secondaryDomains in update and restore code paths
fixes #814
2026-03-27 17:46:28 +01:00
Girish Ramakrishnan
f57c39bba2 repair: rebuild image 2026-03-27 16:17:41 +01:00
Girish Ramakrishnan
99b234eca8 source install: persist buildConfig so restore, import, clone work correctly 2026-03-27 16:10:43 +01:00
Girish Ramakrishnan
9c3c8cc9d1 rename promise-retry to retry 2026-03-27 11:39:38 +01:00
Girish Ramakrishnan
b08e3a5128 docker: attempt container recreate a few times
Docker Error: (HTTP code 500) server error - failed to set up container networking: driver failed programming external connectivity on endpoint a877975d-38be-4088-bc92-e0d7a486a818 (2e5adaa635a95bd65ca0f290712065d444528e3420c49f2f88323b40c62caaa5): failed to bind host port for 0.0.0.0:40014:172.18.16.130:40014/tcp: address already in use

This happens during app updates. Can only be two reasons:

- some race in docker not freeing up ports (unlikely)
- ephemeral port got reallocated between destroy and create as part of app update

A future commit will reserve net.ipv4.ip_local_reserved_ports as well
2026-03-27 10:29:26 +01:00
Girish Ramakrishnan
e48cdc85f7 notifications: subscribe owner and users to all by default 2026-03-27 09:14:18 +01:00