-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathdocker-compose.yml
More file actions
70 lines (67 loc) · 3.11 KB
/
Copy pathdocker-compose.yml
File metadata and controls
70 lines (67 loc) · 3.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
services:
minio:
image: minio/minio:RELEASE.2025-09-07T16-13-09Z
ports:
- "9000:9000"
environment:
- "MINIO_ROOT_USER=minioadmin"
- "MINIO_ROOT_PASSWORD=minioadmin"
command: server /data
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 2s
timeout: 5s
retries: 15
minio-init:
image: minio/mc:RELEASE.2025-08-13T08-35-41Z
depends_on:
minio:
condition: service_healthy
entrypoint: >
sh -c "
mc alias set local http://minio:9000 minioadmin minioadmin &&
mc mb --ignore-existing local/fatto-tasks &&
echo 'S3 bucket ready.'
"
tss:
image: ghcr.io/gothenburgbitfactory/taskchampion-sync-server:0.7.1
ports:
- "8080:8080"
environment:
- "RUST_LOG=debug"
- "DATA_DIR=/var/lib/taskchampion-sync-server/data"
- "LISTEN=0.0.0.0:8080"
taskwarrior-client:
image: archlinux:latest
depends_on:
- tss
environment:
- CLIENT_ID=5c7c7ac1-7dea-43dc-be88-156128be2a96
- SYNC_SECRET=ciao
entrypoint: >
sh -c "
pacman -Sy --noconfirm task &&
mkdir -p ~/.task &&
echo 'sync.server.url=http://tss:8080' > ~/.taskrc &&
echo \"sync.server.client_id=$$CLIENT_ID\" >> ~/.taskrc &&
echo \"sync.encryption_secret=$$SYNC_SECRET\" >> ~/.taskrc &&
echo 'Client initialized. Seeding database...' &&
task add project:microsaas.dev tags:work,2h scheduled:monday 'refactor database migration scripts' &&
task add project:microsaas.dev tags:work,coding,1h due:tomorrow 'implement jwt authentication flow' depends:1 &&
task add project:microsaas.billing tags:work,stripe,30min scheduled:today 'update webhook signing secret for production' &&
task add project:microsaas.billing tags:work,15min due:monday 'review stripe payout schedule' &&
task add project:microsaas.ops tags:work,bills,10min due:tuesday 'pay aws monthly infrastructure bill' &&
task add project:microsaas.ops tags:work,bills,5min due:wednesday 'renew cloudflare domain registration' &&
task add project:microsaas.marketing tags:work,bills,15min due:today 'renew monthly linkedin ads budget' &&
task add project:microsaas.dev tags:work,bug,30min 'fix memory leak in websocket handler' &&
task add project:microsaas.marketing tags:work,writing,3h due:monday 'draft blog post for q2 feature release' &&
task add project:hobbies.wood tags:shopping,45min 'pick up wood glue and 220 grit sandpaper' &&
task add project:home tags:chore,weekend,2h due:sunday 'deep clean the kitchen and defrost freezer' &&
task add project:home tags:chore,15min scheduled:wednesday 'call plumber to fix the guest bathroom leak' &&
task add project:hobbies.photo tags:creative,outdoors,4h 'golden hour shoot at the botanical gardens' &&
task add project:hobbies.photo tags:editing,2h scheduled:thursday 'process raw files from the weekend trip' &&
task add project:fitness tags:health,10min 'register for the local 10k charity run' &&
task sync &&
echo 'Client seeded. Ready to sync.' &&
exec tail -f /dev/null
"