22 lines
1.6 KiB
Markdown
22 lines
1.6 KiB
Markdown
# Solidtime
|
|
|
|
Solidtime is a self-hosted time-tracking platform for managing clients, projects, tasks, billable work, reports, and invoicing.
|
|
|
|
## Deployment layout
|
|
|
|
- **Compose:** `/srv/docker/solidtime/docker-compose.yml`
|
|
- **Static configuration/source:** no additional mounted configuration or local build source
|
|
- **Non-secret environment:** container modes, automatic database migration, and the queue-worker command are declared inline in Compose; the Solidtime image tag is also explicit
|
|
- **Secrets:** `/srv/docker/secrets/solidtime/laravel.env` and `/srv/docker/secrets/solidtime/postgres.env`
|
|
- **NVMe application state:** `/srv/appdata/solidtime/storage`, `/srv/appdata/solidtime/logs`, and `/srv/appdata/solidtime/postgres`
|
|
- **Bulk HDD data:** none
|
|
- **Other mounts:** none
|
|
|
|
Secrets are never committed to this repository. The central Laravel environment is supplied to the app, scheduler, and queue services; the separately scoped PostgreSQL environment is supplied only to the database service.
|
|
|
|
## Dependencies and recovery
|
|
|
|
- **Networks/dependencies:** the app uses the external `npm_proxy` network at `192.168.98.11`; app, scheduler, queue, PostgreSQL, and Gotenberg communicate over the project `internal` network; app, scheduler, and queue depend on PostgreSQL, and PDF rendering depends on Gotenberg
|
|
- **Back up:** `/srv/appdata/solidtime/postgres`, `/srv/appdata/solidtime/storage`, and both protected environment files; logs are not required for application recovery
|
|
- **Re-creatable:** the app, scheduler, queue, PostgreSQL, and Gotenberg containers and disposable log files
|