### Donetick Smart Task Creation Examples
Source: https://docs.donetick.com/getting-started/smart-task-creation
Examples of natural language sentences that Donetick can parse to create tasks. These examples demonstrate setting task descriptions, priorities, and due dates.
```text
Take out trash tomorrow P1
Water plants every Monday
Buy groceries next Friday at 5pm
```
--------------------------------
### Donetick API: Created Chore Response Example
Source: https://docs.donetick.com/advance-settings/api
Example JSON structure for the response when creating a chore via the Donetick API. It confirms the creation and includes details of the newly created chore, similar to the list chores response.
```json
{
"id": 16,
"name": "Record TV on a VHS tape like it's 1990",
"frequencyType": "once",
"frequency": 0,
"frequencyMetadata": null,
"nextDueDate": "2025-08-30T19:51:50Z",
"isRolling": false,
"assignedTo": 1,
"assignees": [
{
"userId": 1
}
],
"assignStrategy": "random",
"isActive": true,
"notification": false,
"notificationMetadata": null,
"labels": null,
"labelsV2": [],
"circleId": 1,
"createdAt": "2025-08-05T05:58:48.581383404Z",
"updatedAt": "2025-08-05T05:58:48.581496335Z",
"createdBy": 1,
"updatedBy": 0,
"thingChore": null,
"status": 0,
"priority": 0,
"subTasks": []
}
```
--------------------------------
### Donetick API: Chore Response Example
Source: https://docs.donetick.com/advance-settings/api
Example JSON structure for a chore object returned by the Donetick API when listing chores. It includes details like ID, name, frequency, due date, assignees, labels, and timestamps.
```json
{
"id": 1,
"name": "Put laundry in the washing machine",
"frequencyType": "once",
"frequency": 1,
"frequencyMetadata": {},
"nextDueDate": null,
"isRolling": false,
"assignedTo": 1,
"assignees": [
{
"userId": 1
}
],
"assignStrategy": "least_completed",
"isActive": true,
"notification": false,
"notificationMetadata": {},
"labels": null,
"labelsV2": [
{
"id": 1,
"name": "Fun",
"color": "#8d6e63",
"created_by": 1
},
{
"id": 2,
"name": "Happy",
"color": "#0288d1",
"created_by": 1
}
],
"circleId": 1,
"createdAt": "2025-08-01T02:02:18.384083907Z",
"updatedAt": "2025-08-01T02:02:18.384137074Z",
"createdBy": 1,
"updatedBy": 1,
"thingChore": null,
"status": 0,
"priority": 0,
"description": "
This description includes formatted text
"
}
```
--------------------------------
### Docker Compose Volume Mount for Local Storage
Source: https://docs.donetick.com/advance-settings/storage-setup
This Docker Compose configuration example shows how to mount a persistent volume for Donetick's local storage. This is crucial for preventing data loss when using local storage, especially in Docker environments.
```yaml
donetick:
image: donetick/donetick:latest
# ...other config...
volumes:
- ./data/assets:/app/assets
```
--------------------------------
### Donetick Docker Compose Configuration
Source: https://docs.donetick.com/index
Defines the services, image, ports, volumes, and environment variables for running Donetick using Docker Compose. This file configures the application's setup and data persistence.
```yaml
version:"3.9"# Or your preferred version
services:
donetick:
image: donetick/donetick
container_name: donetick
restart: unless-stopped
ports:
-"2021:2021"
volumes:
- ./data:/donetick-data # Maps./data on your host to /donetick-data in the container
- ./config:/config # Maps./config on your host to /config in the container
environment:
- DT_ENV=selfhosted
- DT_SQLITE_PATH=/donetick-data/donetick.db
```
--------------------------------
### Run Docker Compose
Source: https://docs.donetick.com/index
Starts the Donetick services defined in the docker-compose.yml file in detached mode. This command is used to launch the application in the background.
```bash
docker-compose up -d
```
--------------------------------
### Disable Donetick User Signups via Environment Variable
Source: https://docs.donetick.com/getting-started/configration
This example shows how to disable new user signups in Donetick by setting a specific environment variable. It uses the `DONETICK_DISABLE_SIGNUP` variable to control this functionality.
```Shell
export DONETICK_DISABLE_SIGNUP=true
```
--------------------------------
### Donetick API: Get List of Chores
Source: https://docs.donetick.com/advance-settings/api
Retrieves all chores from the Donetick API. This is a GET request that requires an 'secretkey' header containing an access token. The response is a JSON-encoded array of chore objects.
```http
GET https://[your instance]/eapi/v1/chore
Header: secretkey: [your access token]
```
--------------------------------
### Configure Donetick Telegram Token via Environment Variable
Source: https://docs.donetick.com/getting-started/configration
This example shows how to override the Telegram bot token for Donetick using a dedicated environment variable. It highlights the use of a specific prefix `DONETICK_` for certain overrides.
```Shell
export DONETICK_TELEGRAM_TOKEN="your_telegram_bot_token"
```
--------------------------------
### Donetick API Reference
Source: https://docs.donetick.com/category/advanced-settings
Provides a link to the Go source code for Donetick's API, intended for programmatic interaction with the service. Users can refer to this file for a comprehensive listing of API endpoints and functionalities.
```Go
https://github.com/donetick/donetick/blob/main/internal/chore/api.go
```
--------------------------------
### Run Donetick Binary with Environment Variable
Source: https://docs.donetick.com/getting-started
Executes the Donetick binary directly, setting the DT_ENV environment variable to 'selfhosted' to configure the application for self-hosting. This method is suitable when not using Docker or Docker Compose.
```bash
DT_ENV=selfhosted./donetick
```
--------------------------------
### Run Donetick Docker Container
Source: https://docs.donetick.com/getting-started
Runs the Donetick Docker container, mounting host directories for data persistence, mapping ports, and setting environment variables for configuration. Key environment variables include DT_ENV for setting the environment (e.g., 'selfhosted') and DT_SQLITE_PATH for the database location.
```bash
docker run -v /path/to/host/data:/donetick-data -p 2021:2021 \
-e DT_ENV=selfhosted \
-e DT_SQLITE_PATH=/donetick-data/donetick.db \
donetick/donetick
```
--------------------------------
### Configure OIDC Authentication via YAML
Source: https://docs.donetick.com/advance-settings/openid-connect-setup
This snippet shows the YAML configuration for setting up OpenID Connect (OIDC) authentication in Donetick. It includes client ID, secret, redirect URL, scopes, and URLs for authentication, token exchange, and user info.
```yaml
oauth2:
client_id:"your-client-id"
client_secret:"your-client-secret"
redirect_url:"https://your-donetick-instance.com/auth/oauth2"
scopes:
-"openid"
-"profile"
-"email"
auth_url:"https://your-oidc-provider.com/auth"
token_url:"https://your-oidc-provider.com/token"
user_info_url:"https://your-oidc-provider.com/userinfo"
name:"Your Provider Name"
```
--------------------------------
### Run Donetick Docker Container
Source: https://docs.donetick.com/index
Runs the Donetick Docker container, mounting host directories for data persistence, mapping ports, and setting environment variables for configuration and database path.
```bash
docker run -v /path/to/host/data:/donetick-data -p 2021:2021 \
-e DT_ENV=selfhosted \
-e DT_SQLITE_PATH=/donetick-data/donetick.db \
donetick/donetick
```
--------------------------------
### Run Donetick Binary
Source: https://docs.donetick.com/index
Executes the Donetick binary directly, setting the DT_ENV environment variable to 'selfhosted'. This method is for running the application without Docker.
```bash
DT_ENV=selfhosted./donetick
```
--------------------------------
### Configure Donetick Storage via YAML
Source: https://docs.donetick.com/advance-settings/storage-setup
This YAML configuration snippet shows how to set up Donetick's remote storage. It includes parameters for storage type, bucket name, region, access keys, endpoint, and file size limits.
```yaml
storage:
storage_type:"remote"
bucket_name:"your-bucket-name"
region:"us-east-1"
base_path:"assets"
access_key:"your-access-key"
secret_key:"your-secret-key"
endpoint:"https://your-endpoint.com"
public_host:"https://your-cdn.com"# Optional
max_user_storage:104857600# 100MB
max_file_size:2097152# 2MB
```
--------------------------------
### Pull Donetick Docker Image
Source: https://docs.donetick.com/getting-started
Pulls the latest Donetick Docker image from the Docker Hub registry. This is the first step before running Donetick using Docker.
```bash
docker pull donetick/donetick
```
--------------------------------
### Set Donetick Configuration Environment
Source: https://docs.donetick.com/getting-started/configration
This snippet illustrates how to specify the configuration environment for Donetick using the `DT_ENV` environment variable. This allows switching between different configurations, such as 'local', 'prod', or 'selfhosted'.
```Shell
export DT_ENV=prod
```
--------------------------------
### Configure Donetick Storage via Environment Variables
Source: https://docs.donetick.com/advance-settings/storage-setup
This snippet demonstrates how to configure Donetick's storage settings using environment variables. Each variable corresponds to a specific storage parameter, such as type, bucket name, region, and credentials.
```bash
DT_STORAGE_STORAGE_TYPE=remote
DT_STORAGE_BUCKET_NAME=your-bucket-name
DT_STORAGE_REGION=us-east-1
DT_STORAGE_BASE_PATH=assets
DT_STORAGE_ACCESS_KEY=your-access-key
DT_STORAGE_SECRET_KEY=your-secret-key
DT_STORAGE_ENDPOINT=https://your-endpoint.com
DT_STORAGE_PUBLIC_HOST=https://your-cdn.com # Optional
DT_STORAGE_MAX_USER_STORAGE=104857600
DT_STORAGE_MAX_FILE_SIZE=2097152
```
--------------------------------
### Configure Donetick Pushover Token via Environment Variable
Source: https://docs.donetick.com/getting-started/configration
This snippet demonstrates overriding the Pushover API token for Donetick using an environment variable. Similar to the Telegram token, it uses the `DONETICK_` prefix for this specific configuration.
```Shell
export DONETICK_PUSHOVER_TOKEN="your_pushover_api_token"
```
--------------------------------
### Docker Compose Configuration for Donetick
Source: https://docs.donetick.com/getting-started
Defines the Docker Compose configuration for running Donetick. It specifies the image, container name, restart policy, port mappings, volume mounts for data and configuration, and environment variables.
```yaml
version:"3.9"# Or your preferred version
services:
donetick:
image: donetick/donetick
container_name: donetick
restart: unless-stopped
ports:
-"2021:2021"
volumes:
- ./data:/donetick-data # Maps./data on your host to /donetick-data in the container
- ./config:/config # Maps./config on your host to /config in the container
environment:
- DT_ENV=selfhosted
- DT_SQLITE_PATH=/donetick-data/donetick.db
```
--------------------------------
### Donetick API: Create Chore
Source: https://docs.donetick.com/advance-settings/api
Creates a new chore in the Donetick API. This is a POST request that requires a JSON-encoded body containing chore details such as 'Name' and 'DueDate'. Unrecognized properties in the body are ignored.
```http
POST https://[your instance]/eapi/v1/chore
Header: secretkey: [your access token]
Body: {
"Name": "Record TV on a VHS tape like it's 1990",
"DueDate": "2025-08-30T19:51:50.000Z"
}
```
--------------------------------
### Configure Donetick OAuth2 Client ID via Environment Variable
Source: https://docs.donetick.com/getting-started/configration
This snippet illustrates how to set the OAuth2 client ID for Donetick using an environment variable. It shows the convention of prefixing the configuration key with `DT_` and converting it to uppercase, in this case, `DT_OAUTH2_CLIENT_ID`.
```Shell
export DT_OAUTH2_CLIENT_ID="your_client_id"
```
--------------------------------
### Pull Donetick Docker Image
Source: https://docs.donetick.com/index
Pulls the latest Donetick Docker image from the Docker Hub registry. This is the first step before running Donetick using Docker.
```bash
docker pull donetick/donetick
```
--------------------------------
### Configure Donetick with Pushover
Source: https://docs.donetick.com/notifications/pushover
This snippet shows how to configure Donetick to send notifications via Pushover. It requires updating the `config.yaml` file with Pushover-specific settings, including the application and user keys.
```yaml
notifications:
pushover:
user_key: "YOUR_PUSHOVER_USER_KEY"
token: "YOUR_PUSHOVER_APP_TOKEN"
```
--------------------------------
### Configure Donetick Server Port via Environment Variable
Source: https://docs.donetick.com/getting-started/configration
This snippet demonstrates how to override the server port configuration for Donetick using an environment variable. It specifically shows how to set the `DT_SERVER_PORT` environment variable to change the default server port.
```Shell
export DT_SERVER_PORT=8080
```
--------------------------------
### Donetick Webhook Event Payload Structure
Source: https://docs.donetick.com/advance-settings/webhooks
This snippet illustrates the common JSON structure for Donetick webhook events. It includes the event type, timestamp, and event-specific data.
```json
{
"type": "event_type",
"timestamp": "timestamp",
"data": {
// ... event data ...
}
}
```
--------------------------------
### Authenticate API Request with Access Token
Source: https://docs.donetick.com/advance-settings/access-token
Demonstrates how to include an access token in the 'secret' header for authenticating Donetick API requests. This is crucial for applications or scripts interacting with Donetick programmatically.
```HTTP
GET /api/resource
Host: api.donetick.com
secret: YOUR_ACCESS_TOKEN
```
--------------------------------
### Configure Donetick for Telegram Notifications
Source: https://docs.donetick.com/notifications/telegram
This snippet shows how to configure Donetick to send notifications via Telegram. It involves updating the `config.yaml` file with Telegram-specific settings, including the bot token and chat ID. After configuration, Donetick needs to be restarted.
```yaml
telegram:
bot_token: "YOUR_TELEGRAM_BOT_TOKEN"
chat_id: "YOUR_TELEGRAM_CHAT_ID"
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.