9797 Commits

Author SHA1 Message Date
James Valleroy
f40523a1b1
debian: Update debconf Portuguese translation
Thanks to Américo Monteiro for the patch.
2025-06-16 18:50:05 -04:00
ikmaak
ac9284f9fd
Translated using Weblate (Dutch)
Currently translated at 97.3% (1804 of 1854 strings)
2025-06-14 15:01:54 +02:00
ikmaak
7c74f997bb
Translated using Weblate (German)
Currently translated at 98.0% (1818 of 1854 strings)
2025-06-14 15:01:52 +02:00
ikmaak
f2eee96c0d
Translated using Weblate (Dutch)
Currently translated at 95.6% (1774 of 1854 strings)
2025-06-12 15:01:51 +02:00
Priit Jõerüüt
fd0c3400da
Translated using Weblate (Estonian)
Currently translated at 0.4% (9 of 1854 strings)
2025-06-04 17:01:49 +02:00
András Szűcs
d07c50d14a
Translated using Weblate (Hungarian)
Currently translated at 72.0% (1336 of 1854 strings)
2025-06-04 17:01:45 +02:00
Priit Jõerüüt
119f408270
Added translation using Weblate (Estonian) 2025-06-03 16:35:59 +02:00
Sunil Mohan Adapa
ce341b18ab
homeassistant: Add the most popular app for home automation
- Use docker container via registry.freedombox.org to obtain the package.
Specify this in the description.

- Mark the app as experimental.

- Show information that a dedicated domain is required to host Home Assistant.

- Use special YAML loader/dumper to deal with custom YAML tags in configuration
file.

- Obtain logo file from a test file in code repository with Apache license as
the actual logo files are freely licensed.

- Write functional tests without accessing the website as a dedicated domain is
necessary.

Tests:

- Functional tests work.

- Add a domain 'mydomain.example' using the Names app. Assign this domain in
Home Assistant app configuration. In /etc/hosts on the host machine add a
mapping from mydomain.example to the IP address of the container/VM. Access the
web interface using https://mydomain.example. Home Assistant web interface is
available and functional.

- After install of the app the configuration.yaml file contains the proxy
related lines are expected.

- Diagnostics work (expect the URL access).

- Re-run setup works.

- 'Launch web client' and frontpage shortcut work as expected.

- Non-admin users can't connect on port 8123.

- Home Assistant is able to establish websocket connection in its web UI.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:55 -04:00
Sunil Mohan Adapa
f83485b68c
templates: Show Launch web client button for all FreedomBox URLs
Tests:

- For Bepasty app, the 'Launch web client' button is shown.

- For Matrix app, the 'Launch web client' button is not shown.

- For Home Assistant app, the 'Launch web client' button is shown.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:52 -04:00
Sunil Mohan Adapa
298bb5ae58
config: Allow better Apache default home page
- Don't redirect to '/index.html' when Apache Default is set as the home page.
This allows having other files such as 'index.php' as index file in
/var/www/html/.

- If the home page is currently set to 'Apache Default' upgrade the
configuration.

Tests:

- With Home page set to 'Apache Default' apply the patches. Config setup is
re-run. The configuration file becomes empty but is still present. Correctly
value is shown in the UI. /var/www/html/index.html is still shown as the home
page.

- With Home page set to 'Bepasty' apply the patches. Config setup is re-reun.
The configuration file is not modified. Bepasty is still shown as the home page.
Correctly value is shown in the UI.

- With Home page not modified apply the patches. Config setup is re-reun. The
configuration file is created. FreedomBox is the home page. Correctly value is
shown in the UI.

- On fresh machine with patches applied, perform first run. The configuration
file is not created. FreedomBox is the home page. Correctly value is shown in
the UI.

- Changing home page to Bepasty or 'Apache Default' works. Changing back to
'FreedomBox Service (Plinth)' also works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:50 -04:00
Sunil Mohan Adapa
007d8de346
apache, letsencrypt: Create a site specific config for all domains
- Instead of just the sites that have successfully obtain certificate. This
allows customization of configuration for those sites (especially useful when
testing where LE certs are not obtained).

Tests:

- When a domain is added to the system, an apache TLS configuration is created
for the domain even though the domain does not have a successfully obtained LE
cert.

- When a domain is removed, the TLS configuration for the domain is removed.

- Add a domain without the patches. Apply the patches and restart the service.
The domain added signals are fired during the startup. This results in site
specific TLS configuration files getting created and Apache reloads. When the
service is restarted, the files are not created and Apache is not reloaded.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:48 -04:00
Sunil Mohan Adapa
d76a371f57
apache: Add component to host an app on a site's root
Tests:

- Unit tests work.

- Functional tests on bepasty work.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:45 -04:00
Sunil Mohan Adapa
0fa1dcf902
apache: Generalize TLS config to use certificates only if available
- This allows TLS configuration to setup for domains that haven't yet
successfully obtained certificates yet.

Tests:

- Apply the patch on a production configuration and ensure that LE certificates
are properly used.

- With full pathset applied, on a test container, add a domain and ensure that
domain has its own site configuration and uses the snake-oil certificate.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:38 -04:00
Sunil Mohan Adapa
8401b08357
apache: Allow customization to the root of a site
Tests:

- After a domain is added and a TLS configuration for the site is created,
creating each of the 4 files leads to customization for that domain. In case of
last two files, only the domain is effected.
  - /etc/apache2/includes/all-domains-include-freedombox.conf
  - /etc/apache2/includes/all-domains-include.conf
  - /etc/apache2/includes/$domain-include-freedombox.conf
  - /etc/apache2/includes/$domain-include.conf

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:36 -04:00
Sunil Mohan Adapa
2fdbe9948d
forms: Allow showing a None option during domain selection
- To be used to show that no domain is initially selected in Home Assistant. And
also to release a domain from dedicated use.

Tests:

- Install Matrix Synapse app in unstable VM. After install the setup form does
not show None as an option. Selecting a domain works as expected.

Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:16 -04:00
Sunil Mohan Adapa
927e1dc822
matrixsynapse: Drop help text for domain selection dropdown
- Drop the warning that app may not work properly if domain name is changed.
Currently only user of this form is matrixsynapse. There is already a warning
message that domian name change requires uninstall. This message is redundant
and incorrect.

Tests:

- Install Matrix Synapse on stable VM and ensure that the help text does not
show up.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:14 -04:00
Sunil Mohan Adapa
5b0d980035
container: Add component for managing containers using podman
Tests:

- Unit tests work.

- Enabling/disabling an app works.

- Developer documentation shows the Container in reference section.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:12 -04:00
Sunil Mohan Adapa
16f90d863b
action_utils: Allow checking result for service operations
Tests:

- Functional tests for bepasty, nextcloud, torproxy app work.

- Adding/removing a domains works.

- After first setup, nscd service is masked.

- Re-run setup on miniflux app works.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:10 -04:00
Sunil Mohan Adapa
3c9814cb78
action_utils: Add support for device mappings in podman containers
Tests:

- Functional tests for nextcloud app work.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:08 -04:00
Sunil Mohan Adapa
d8983c8942
dynamicdns: Add info about subdomains with Foundation's service
Tests:

- Visit the dynamicdns app. The new description about subdomains appears.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:06 -04:00
Sunil Mohan Adapa
b494f8a993
names: Add information about adding static domains/subdomains
Tests:

- Visit the add static domain page. Notice that additional form description is
visible.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:04 -04:00
Sunil Mohan Adapa
15f71fe7e0
letsencrypt: Drop old app migration code
- In version 23.6.2 (Debian Bookworm), the migration code is already present.
This means all users on bookworm would have migrated already. We don't have
support users upgrading directly from a version older than bookworm.

Tests:

- First setup works as expected when starting the service on a fresh container.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:14:02 -04:00
Sunil Mohan Adapa
3b1eba216a
uninstall: Use reverse order when uninstalling components
Tests:

- Functional tests for bepasty app work.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-30 15:13:59 -04:00
kosagi
ad2908630c
Translated using Weblate (Catalan)
Currently translated at 28.0% (520 of 1854 strings)
2025-05-29 10:01:45 +00:00
kosagi
f5f02d3432
Translated using Weblate (Catalan)
Currently translated at 25.5% (473 of 1854 strings)
2025-05-21 16:01:51 +00:00
Максим Горпиніч
9b7dfc4830
Translated using Weblate (Ukrainian)
Currently translated at 100.0% (1854 of 1854 strings)
2025-05-21 16:01:48 +00:00
kosagi
e6c30a5ae6
Translated using Weblate (Catalan)
Currently translated at 17.8% (331 of 1854 strings)
2025-05-17 21:51:14 +02:00
Sripath Roy Koganti
d7677c64e2
Translated using Weblate (Telugu)
Currently translated at 100.0% (1854 of 1854 strings)
2025-05-14 19:03:08 +02:00
James Valleroy
9b465faa10
Release v25.9 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v25.9
2025-05-05 20:31:43 -04:00
James Valleroy
ba7f74bf71
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-05 20:28:58 -04:00
Sunil Mohan Adapa
8c6c31d991
minetest: Create the configuration directory if necessary for Trixie
Closes: #2514

- On Trixie the configuration directory is /etc/luanti and not /etc/minetest.
So, it needs to be created.

Tests:

- On Trixie and Bookworm, updating configuration works. On Trixie, directory is
created if it does not exist.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-05 19:57:08 -04:00
Sunil Mohan Adapa
daa7c326b8
minetest: Work with new luanti binary in Trixie
- Based on suggestion from Benedek[1].

Links

1) https://salsa.debian.org/freedombox-team/freedombox/-/issues/2514#note_608054

Tests:

- On Trixie, freshly install minetest server. The server is successfully running.
Command line for the process shows that gameid is minetest_game. Configuration
file is /etc/luanti/default.conf.

- Update configuration. The update is successful. The configuration
/etc/minetest/minetest.conf is created. The server command line shows using
/etc/minetest/minetest.conf as the configuration file.

- On Bookworm, freshly install minetest server. The server is running. Updating
configuration works. Command line shows that /etc/minetest/minetest.conf is
being used.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-05-05 19:57:05 -04:00
Torra-Merin
e0c5d042d5
Translated using Weblate (Catalan)
Currently translated at 9.6% (179 of 1854 strings)
2025-05-03 00:04:07 +02:00
Torra-Merin
7d4de6fed4
Added translation using Weblate (Catalan) 2025-05-01 23:48:59 +02:00
swaroop02-cse
40742bd95d
Translated using Weblate (Telugu)
Currently translated at 99.9% (1853 of 1854 strings)
2025-04-30 09:52:41 +02:00
Bekkam B S M G Babi
1902cec475
Translated using Weblate (Telugu)
Currently translated at 99.9% (1853 of 1854 strings)
2025-04-29 20:27:49 +02:00
swaroop02-cse
93b9ff4383
Translated using Weblate (Telugu)
Currently translated at 99.9% (1853 of 1854 strings)
2025-04-29 20:27:49 +02:00
Thulasi Edhala
7b4a027921
Translated using Weblate (Hindi)
Currently translated at 45.9% (852 of 1854 strings)
2025-04-29 18:30:43 +02:00
Thulasi Edhala
68e28a7e3e
Translated using Weblate (Telugu)
Currently translated at 100.0% (1854 of 1854 strings)
2025-04-29 18:30:42 +02:00
Bekkam B S M G Babi
d9ee37c1ac
Translated using Weblate (Telugu)
Currently translated at 100.0% (1854 of 1854 strings)
2025-04-29 18:30:41 +02:00
John Doe
d3c5360b45
Translated using Weblate (French)
Currently translated at 100.0% (1854 of 1854 strings)
2025-04-26 19:46:30 +02:00
John Doe
6e8bd33c9c
Translated using Weblate (French)
Currently translated at 100.0% (1854 of 1854 strings)
2025-04-25 22:24:30 +02:00
klu2300090005
eb8324935b
Translated using Weblate (Hindi)
Currently translated at 44.9% (834 of 1854 strings)
2025-04-25 09:01:44 +00:00
klu2300030052
e8602b2302
Translated using Weblate (Telugu)
Currently translated at 99.9% (1853 of 1854 strings)
2025-04-25 09:01:42 +00:00
James Valleroy
b9ea15166d
Release v25.8 to unstable
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
v25.8
2025-04-21 20:28:44 -04:00
James Valleroy
339f219116
doc: Fetch latest manual
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-04-21 20:27:42 -04:00
James Valleroy
5136863465
locale: Update translation strings
Signed-off-by: James Valleroy <jvalleroy@mailbox.org>
2025-04-21 20:09:07 -04:00
saisankar333
760416f08b
Translated using Weblate (Telugu)
Currently translated at 99.9% (1861 of 1862 strings)
2025-04-20 14:08:39 +02:00
Sunil Mohan Adapa
04bbcc3f3c
upgrades: Allow packages to be upgraded from stable-updates
Closes: #2512.

- Newer versions of packages such as tzdata are uploaded to
bookworm-updates (first?). However, unattended-upgrades is not configured to get
package updates from bookworm-updates even though it is configured in
/etc/apt/sources.list. So, manually installation will work but not
unattended-upgrades. Fix this by explicitly allowing bookworm-updates in
FreedomBox configuration modifications for unattended-upgrades.

Tests:

- Start a bookworm VM. tzdata package is at version 2025a-0+deb12u1. Latest
version available in bookworm-updates is 2025b-0+deb12u1. Running
'unattended-upgrades -d' on command line does not upgrade the package with that
patches.

- Apply patches, run 'sudo make build install' and rerun unattended-upgrades.
tzdata package upgrades to latest version.

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2025-04-19 10:31:25 -04:00
James Valleroy
446933065a
Translated using Weblate (Telugu)
Currently translated at 99.8% (1860 of 1862 strings)
2025-04-19 15:03:45 +02:00