{"id":20532198,"url":"https://github.com/monogramm/docker-dodock","last_synced_at":"2026-05-03T12:31:25.721Z","repository":{"id":40290253,"uuid":"317610781","full_name":"Monogramm/docker-dodock","owner":"Monogramm","description":":whale: :snake: Docker image for Dodock","archived":false,"fork":false,"pushed_at":"2022-05-16T20:19:19.000Z","size":147,"stargazers_count":1,"open_issues_count":7,"forks_count":0,"subscribers_count":1,"default_branch":"develop","last_synced_at":"2025-08-24T18:39:29.429Z","etag":null,"topics":["docker","dodock","frappe","python"],"latest_commit_sha":null,"homepage":"https://gitlab.com/dokos/dodock","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Monogramm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-12-01T17:02:14.000Z","updated_at":"2021-04-19T09:33:25.000Z","dependencies_parsed_at":"2022-08-09T16:18:02.319Z","dependency_job_id":null,"html_url":"https://github.com/Monogramm/docker-dodock","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Monogramm/docker-dodock","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dodock","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dodock/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dodock/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dodock/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Monogramm","download_url":"https://codeload.github.com/Monogramm/docker-dodock/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Monogramm%2Fdocker-dodock/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32569710,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-03T06:36:36.687Z","status":"ssl_error","status_checked_at":"2026-05-03T06:36:09.306Z","response_time":103,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","dodock","frappe","python"],"created_at":"2024-11-16T00:13:35.735Z","updated_at":"2026-05-03T12:31:25.687Z","avatar_url":"https://github.com/Monogramm.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![License: AGPL v3][uri_license_image]][uri_license]\n[![GitHub Workflow Status](https://img.shields.io/github/workflow/status/Monogramm/docker-dodock/Docker%20Image%20CI)](https://github.com/Monogramm/docker-dodock/actions)\n[![Docker Automated buid](https://img.shields.io/docker/cloud/build/monogramm/docker-dodock.svg)](https://hub.docker.com/r/monogramm/docker-dodock/)\n[![Docker Pulls](https://img.shields.io/docker/pulls/monogramm/docker-dodock.svg)](https://hub.docker.com/r/monogramm/docker-dodock/)\n[![](https://images.microbadger.com/badges/version/monogramm/docker-dodock.svg)](https://microbadger.com/images/monogramm/docker-dodock)\n[![](https://images.microbadger.com/badges/image/monogramm/docker-dodock.svg)](https://microbadger.com/images/monogramm/docker-dodock)\n\n# Dodock custom Docker container\n\n:whale: Docker image for Dodock applications.\n\nThis image was inspired by Monogramm's Frappe container and Dokos docker container:\n\n-   [Monogramm/docker-frappe](https://github.com/Monogramm/docker-frappe)\n-   [Dokos/dokidocker](https://gitlab.com/dokos/dokidocker)\n\nThe concept is the following:\n\n-   no need to provide any configuration file: everything will be automatically generated by the container through environnment variables\n-   the application container sets all the environment variables, the other containers wait for setup to be done\n-   provide postgresql compatibility\n-   the container detects and execute migration automatically\n-   the container detects missing modules / apps and remove them automatically\n-   allow before and after '_node_' custom scripts\n\nCheck image [Monogramm/docker-dokos](https://github.com/Monogramm/docker-dokos) to see how to expand this image and build dodock apps.\n\n## What is Dodock\n\nFull-stack web application framework that uses Python and MariaDB on the server side and a tightly integrated client side library. Built for Dokos.\n\n\u003e [dokos.io](https://dokos.io/)\n\n\u003e [gitlab dodock](https://gitlab.com/dokos/dodock)\n\n## Supported tags\n\n\u003chttps://hub.docker.com/r/monogramm/docker-dodock/\u003e\n\n\u003c!-- \u003eDocker Tags --\u003e\n\n-   develop-alpine3.12 develop-alpine3.12 alpine3.12  (`images/develop/alpine3.12/Dockerfile`)\n-   develop-slim-buster develop-slim-buster slim-buster develop develop latest  (`images/develop/slim-buster/Dockerfile`)\n\n\u003c!-- \u003cDocker Tags --\u003e\n\n## Auto configuration via environment variables\n\nThe image supports auto configuration via environment variables.\n\n### Docker entrypoint configuration\n\n```sh\n# The docker \"node\" type. Defines the behavior of the container.\n# This can either be set through command argument or environment variable.\n# Can be one of the following:\n#   doctor\n#   setup\n#   setup-database\n#   build-apps\n#   update\n#   backup\n#   restore\n#   migrate\n#   app\n#   scheduler\n#   worker\n#   worker-long\n#   worker-short\n#   node-socketio\nWORKER_TYPE=\n\n# Time in seconds container will wait for DB to be up\nDOCKER_DB_TIMEOUT=120\n\n# MariaDb hosts allowed to log to the DB.\n# Only needed with mariadb when database created by dodock (dodock restricts to install IP by default).\n# In this case, use 172.%.%.% to allow any container on docker network\nDOCKER_DB_ALLOWED_HOSTS=\n\n# Time in seconds container will wait for apps to be setup\nDOCKER_APPS_TIMEOUT=600\n\n# Time in seconds container will wait for sites to be setup\nDOCKER_SITES_TIMEOUT=900\n\n# Set to 1 to enable display of all log files if container crashes\nDOCKER_DEBUG=\n\nDOCKER_GUNICORN_BIND_ADDRESS=0.0.0.0\nDOCKER_GUNICORN_PORT=8000\nDOCKER_GUNICORN_WORKERS=4\nDOCKER_GUNICORN_TIMEOUT=120\nDOCKER_GUNICORN_LOGLEVEL=info\n\n# If you want to enable SSL for Dokos App\n# If using Let's Encrypt, you should set properties like this:\n#   certfile=/etc/letsencrypt/live/my.domain.com/fullchain.pem\n#   keyfile=/etc/letsencrypt/live/my.domain.com/privkey.pem\nDOCKER_GUNICORN_CERTFILE=\nDOCKER_GUNICORN_KEYFILE=\n```\n\n### Dodock configuration\n\n```sh\n# List of dodock apps (space separated) to init on startup (bench install-app)\nDODOCK_APP_INIT=\n\n# Reset apps.txt\n# If set to 1, apps.txt older content will be removed on startup and only contain the content of DODOCK_APP_INIT\nDODOCK_APP_RESET=\n\n# Protected apps that shall never be removed automatically\n# Mostly used to secure that dodock and dokos are not removed due to misconfiguration\nDODOCK_APP_PROTECTED=dodock\n\n# Default protocol. Should either be http (default value) or https when using SSL.\nDODOCK_DEFAULT_PROTOCOL=http\n\n# Default site\nDODOCK_DEFAULT_SITE=\n\n# Default HTTP port. Should either be 80 (default value) or 443 when using SSL or any custom port defined for the NGinx reverse proxy.\nDODOCK_HTTP_PORT=80\n\n# Default backend port. Should either be 80 (default value) or any custom port defined for the app backend.\nDODOCK_WEBSERVER_PORT=80\n\n# Default socketion port. Should either be 3000 (default value) or 80 (usual value for prod) or any custom port defined for the socketio service.\nDODOCK_SOCKETIO_PORT=3000\n\n# Remove all sites data on startup if set to 1\n# This should only be used for dev / test environments\nDODOCK_RESET_SITES=\n\n# Reinstall database\n# If set to 1, database will be resinstalled. This should only be used for dev / test environments\nDODOCK_REINSTALL_DATABASE=\n\n# Build options passed to the bench build command\n# Can be used with --restore to copy the public assets instead of symlinking them\nDODOCK_BUILD_OPTIONS=\n\nDODOCK_LOGGING=1\n\nGOOGLE_ANALYTICS_ID=\n\nDEVELOPER_MODE=0\nALLOW_TESTS=0\nSERVER_SCRIPT_ENABLED=0\n\nADMIN_PASSWORD=dodock\n\n# Encryption key\n# Leave empty to generate a random base64 32 key\nENCRYPTION_KEY=\n```\n\n### Database configuration\n\n```sh\n# DB type. Can either be mariadb or postgresql\nDB_TYPE=mariadb\n\nDB_HOST=db\nDB_PORT=3306\n\n# DB name. Is also used by dodock for the user name associated\nDB_NAME=dodock\nDB_PASSWORD=youshouldoverwritethis\n\n# DB root login. Only used for postgresql\nDB_ROOT_LOGIN=root\n\n# DB root password. Mandatory\nDB_ROOT_PASSWORD=mariadb_root_password\n```\n\n### Mail configuration\n\n```sh\nMAIL_MUTED=false\nMAIL_HOST=mail\nMAIL_PORT=587\nMAIL_USE_SSL=tls\nMAIL_LOGIN=dodock-mail\nMAIL_PASSWORD=youshouldoverwritethis\n```\n\n### Redis configuration\n\n```sh\nREDIS_CACHE_HOST=redis_cache\nREDIS_QUEUE_HOST=redis_queue\nREDIS_SOCKETIO_HOST=redis_socketio\n```\n\n## How to run this image\n\nThis image does not contain the database for Dodock. You need to use either an existing database or a database container.\n\nThis image is designed to be used in a micro-service environment using docker-compose. There are basically 2 variants of the image you can choose from: `alpine` or `debian`.\n\n### Running this image with docker-compose\n\n-   Select the version closest to what you want in the images folder\n    -   You can comment the `build` lines, uncomment the `image` lines and edit versions to download prebuilt docker container.\n-   Feel free to edit variables defined in `.env` as you see fit.\n-   Run the docker-compose with `docker-compose up -d` and that's it.\n-   Now, go to \u003chttp://localhost:80\u003e to access the first run installation wizard.\n\n## Questions / Issues\n\nIf you got any questions or problems using the image, please visit our [Github Repository](https://github.com/Monogramm/docker-dodock) and write an issue.\n\n[uri_license]: http://www.gnu.org/licenses/agpl.html\n\n[uri_license_image]: https://img.shields.io/badge/License-AGPL%20v3-blue.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonogramm%2Fdocker-dodock","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmonogramm%2Fdocker-dodock","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmonogramm%2Fdocker-dodock/lists"}