7 Commits

Author SHA1 Message Date
1b571ba842 docs: add a guide for running
All checks were successful
conventional pull request title check / conventional pull request title check (pull_request) Successful in 10s
actionlint check / actionlint check (pull_request) Successful in 16s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 14s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 16s
hadolint check / hadolint check (pull_request) Successful in 19s
GitLeaks check / GitLeaks check (pull_request) Successful in 21s
markdownlint check / markdownlint check (pull_request) Successful in 39s
Prettier check / Prettier check (pull_request) Successful in 40s
Stylelint check / Stylelint check (pull_request) Successful in 33s
ShellCheck check / ShellCheck check (pull_request) Successful in 44s
htmlhint check / htmlhint check (pull_request) Successful in 54s
yamllint check / yamllint check (pull_request) Successful in 41s
checkov check / checkov check (pull_request) Successful in 1m54s
Rust check / Rust check (pull_request) Successful in 13m29s
2026-03-05 14:44:34 +01:00
fd31d2f725 chore: bump Docker dependencies (#141) 2026-03-05 13:30:00 +00:00
7368d61b2f chore: bump Docker dependencies
All checks were successful
conventional pull request title check / conventional pull request title check (pull_request) Successful in 3s
actionlint check / actionlint check (pull_request) Successful in 7s
hadolint check / hadolint check (pull_request) Successful in 8s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 17s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 18s
GitLeaks check / GitLeaks check (pull_request) Successful in 34s
Prettier check / Prettier check (pull_request) Successful in 36s
Stylelint check / Stylelint check (pull_request) Successful in 33s
ShellCheck check / ShellCheck check (pull_request) Successful in 38s
yamllint check / yamllint check (pull_request) Successful in 37s
htmlhint check / htmlhint check (pull_request) Successful in 57s
markdownlint check / markdownlint check (pull_request) Successful in 55s
checkov check / checkov check (pull_request) Successful in 1m57s
Rust check / Rust check (pull_request) Successful in 17m0s
2026-03-05 14:09:43 +01:00
ed40870fc4 ci: update the checks (#140) 2026-03-05 13:03:22 +00:00
a6231f5166 chore: make the Docker production stack agnostic (#139) 2026-03-05 13:03:09 +00:00
5083c794cf ci: update the checks
All checks were successful
conventional pull request title check / conventional pull request title check (pull_request) Successful in 7s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 9s
hadolint check / hadolint check (pull_request) Successful in 8s
GitLeaks check / GitLeaks check (pull_request) Successful in 17s
actionlint check / actionlint check (pull_request) Successful in 28s
conventional commit messages check / conventional commit messages check (pull_request) Successful in 26s
markdownlint check / markdownlint check (pull_request) Successful in 30s
Prettier check / Prettier check (pull_request) Successful in 32s
Stylelint check / Stylelint check (pull_request) Successful in 28s
htmlhint check / htmlhint check (pull_request) Successful in 42s
ShellCheck check / ShellCheck check (pull_request) Successful in 39s
yamllint check / yamllint check (pull_request) Successful in 41s
checkov check / checkov check (pull_request) Successful in 1m27s
Rust check / Rust check (pull_request) Successful in 10m22s
2026-03-05 13:50:24 +01:00
5d14df3f33 chore: make the Docker production stack agnostic
All checks were successful
conventional commit messages check / conventional commit messages check (pull_request) Successful in 5s
conventional pull request title check / conventional pull request title check (pull_request) Successful in 9s
dotenv-linter check / dotenv-linter check (pull_request) Successful in 10s
GitLeaks check / GitLeaks check (pull_request) Successful in 11s
actionlint check / actionlint check (pull_request) Successful in 17s
hadolint check / hadolint check (pull_request) Successful in 20s
markdownlint check / markdownlint check (pull_request) Successful in 26s
ShellCheck check / ShellCheck check (pull_request) Successful in 25s
yamllint check / yamllint check (pull_request) Successful in 23s
Stylelint check / Stylelint check (pull_request) Successful in 28s
Prettier check / Prettier check (pull_request) Successful in 29s
htmlhint check / htmlhint check (pull_request) Successful in 31s
checkov check / checkov check (pull_request) Successful in 1m37s
Rust check / Rust check (pull_request) Successful in 15m33s
2026-03-05 13:47:03 +01:00
7 changed files with 67 additions and 6 deletions

View File

@@ -1,2 +1,5 @@
# en-US or cs-CZ.
LANGUAGE_CODE=en-US
# Required only for mobile native client builds.
MOBILE_SERVER_URL=

View File

@@ -22,7 +22,7 @@ jobs:
with:
python-version: "3.13.1"
- name: Rust toolchain installation
uses: dtolnay/rust-toolchain@9bc92bc5598b4f3bec5d910d352094982cb0c3b9 # 1.92.0
uses: dtolnay/rust-toolchain@c2b55edffaf41a251c410bb32bed22afefa800f1 # 1.92.0
- name: code checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
with:

View File

@@ -26,7 +26,7 @@ jobs:
libwebkit2gtk-4.1-dev=2.50.4-0ubuntu0.22.04.1
libxdo-dev=1:3.20160805.1-4
- name: Rust toolchain installation
uses: dtolnay/rust-toolchain@9bc92bc5598b4f3bec5d910d352094982cb0c3b9 # 1.92.0
uses: dtolnay/rust-toolchain@c2b55edffaf41a251c410bb32bed22afefa800f1 # 1.92.0
with:
components: clippy, rustfmt
- name: code checkout

View File

@@ -8,4 +8,3 @@ services:
networks:
web-server-network:
external: true

View File

@@ -21,7 +21,7 @@ ENV ANDROID_SDK_ROOT=/opt/android-sdk
SHELL ["/bin/bash", "-o", "pipefail", "-c"]
RUN apt-get update && apt-get install -y --no-install-recommends \
openjdk-17-jdk-headless=17.0.17+10-1~deb12u1 \
openjdk-17-jdk-headless=17.0.18+8-1~deb12u1 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/* \
&& rustup target add aarch64-linux-android \
@@ -46,14 +46,14 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
FROM builder_base AS builder_web
RUN dx bundle --locked --release
FROM debian:bookworm@sha256:b877a1a3fdf02469440f1768cf69c9771338a875b7add5e80c45b756c92ac20a AS runner_web
RUN apt-get update \
&& apt-get install -y --no-install-recommends libpq5=15.10-0+deb12u1 \
&& apt-get install -y --no-install-recommends libpq5=15.16-0+deb12u1 \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*

59
readme.md Normal file
View File

@@ -0,0 +1,59 @@
# Todo Baggins
A task management app tailored specifically to my personal GTD workflow.
## Running the web server
### Development
1. Copy `.env.dev` to `.env` and, if desired, edit it.
2. Create a symlink from `docker-compose.yaml` to `docker-compose-dev.yaml`.
3. Run the Docker compose stack with
```sh
docker compose up --build -d
```
4. Enter the container shell with
```sh
docker compose exec -it app sh
```
5. Inside, start the development server with
```sh
dx serve --locked --addr 0.0.0.0 --port 8000
```
6. Once the build is finished, the web app will be accessible at
<http://localhost:8000>.
### Production
1. Copy `.env.dev` to `.env` and, if desired, edit it.
2. Create a symlink from `docker-compose.yaml` to `docker-compose-prod.yaml`.
3. Run the Docker compose stack with
```sh
docker compose up --build -d
```
4. Once the build is finished, the web app will be accessible at the Docker
container, on port 80.
## Running the Android client
1. Copy `.env.dev` to `.env` and, if desired, edit it. Set the
`MOBILE_SERVER_URL` to the URL of the server which will be available as a
backend for the mobile client.
2. Start the build with
```sh
./scripts/export_android_bundle.sh
```
3. Once it is finished, the APK will be present at `bundle/android`.
4. Run the web server as described in a previous section and make it accessible
from the client running the mobile app at the URL specified in the
environment variable.

0
scripts/export_android_bundle.sh Normal file → Executable file
View File