diff --git a/blueprints/opentodo/docker-compose.yml b/blueprints/opentodo/docker-compose.yml new file mode 100644 index 000000000..9ae1efd10 --- /dev/null +++ b/blueprints/opentodo/docker-compose.yml @@ -0,0 +1,22 @@ +services: + opentodo: + image: ghcr.io/pixari/opentodo:0.13.0 + restart: unless-stopped + expose: + - 8080 + environment: + - OPENTODO_BASE_URL=${OPENTODO_BASE_URL:-} + - OPENTODO_SETUP_TOKEN=${OPENTODO_SETUP_TOKEN:-} + - OPENTODO_ALLOW_SIGNUP=${OPENTODO_ALLOW_SIGNUP:-false} + - OPENTODO_TRUSTED_PROXIES=${OPENTODO_TRUSTED_PROXIES:-} + volumes: + - opentodo-data:/data + healthcheck: + test: ["CMD", "/opentodo", "healthcheck"] + interval: 30s + timeout: 5s + retries: 3 + start_period: 10s + +volumes: + opentodo-data: diff --git a/blueprints/opentodo/meta.json b/blueprints/opentodo/meta.json new file mode 100644 index 000000000..a47b288d5 --- /dev/null +++ b/blueprints/opentodo/meta.json @@ -0,0 +1,18 @@ +{ + "id": "opentodo", + "name": "OpenTodo", + "version": "0.13.0", + "description": "Open-source, local-first task manager. Works offline and syncs every device from one small container.", + "logo": "opentodo.svg", + "links": { + "github": "https://github.com/pixari/opentodo", + "website": "https://open-todo.app", + "docs": "https://open-todo.app/docs/self-hosting/dokploy/" + }, + "tags": [ + "productivity", + "tasks", + "todo", + "self-hosted" + ] +} diff --git a/blueprints/opentodo/opentodo.svg b/blueprints/opentodo/opentodo.svg new file mode 100644 index 000000000..1df0f6e6d --- /dev/null +++ b/blueprints/opentodo/opentodo.svg @@ -0,0 +1 @@ +OpenTodo diff --git a/blueprints/opentodo/template.toml b/blueprints/opentodo/template.toml new file mode 100644 index 000000000..330adb2cb --- /dev/null +++ b/blueprints/opentodo/template.toml @@ -0,0 +1,20 @@ +[variables] +main_domain = "${domain}" +setup_token = "${password:32}" + +[config] +mounts = [] + +[[config.domains]] +serviceName = "opentodo" +port = 8080 +host = "${main_domain}" + +[config.env] +# Empty while the domain is plain http (an https value there breaks sign-in). +# Once the domain has HTTPS, set https:// and redeploy. +OPENTODO_BASE_URL = "" +# Asked for when you create the owner account on the first visit. +OPENTODO_SETUP_TOKEN = "${setup_token}" +OPENTODO_ALLOW_SIGNUP = "false" +OPENTODO_TRUSTED_PROXIES = ""