{"id":25365752,"url":"https://github.com/d3p1/docknext","last_synced_at":"2026-03-01T22:09:42.510Z","repository":{"id":277239511,"uuid":"931731050","full_name":"d3p1/docknext","owner":"d3p1","description":"A Docker environment generator for Next.js","archived":false,"fork":false,"pushed_at":"2026-02-26T20:13:07.000Z","size":349,"stargazers_count":1,"open_issues_count":13,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-27T01:53:25.757Z","etag":null,"topics":["devops-tools","docker","docker-compose","docker-nextjs","nextjs","project","react"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/d3p1.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-02-12T19:03:01.000Z","updated_at":"2026-02-26T20:13:09.000Z","dependencies_parsed_at":"2026-01-03T18:04:26.581Z","dependency_job_id":null,"html_url":"https://github.com/d3p1/docknext","commit_stats":null,"previous_names":["d3p1/docknext"],"tags_count":49,"template":false,"template_full_name":null,"purl":"pkg:github/d3p1/docknext","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3p1%2Fdocknext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3p1%2Fdocknext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3p1%2Fdocknext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3p1%2Fdocknext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/d3p1","download_url":"https://codeload.github.com/d3p1/docknext/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/d3p1%2Fdocknext/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29986242,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T21:06:37.093Z","status":"ssl_error","status_checked_at":"2026-03-01T21:05:45.052Z","response_time":124,"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":["devops-tools","docker","docker-compose","docker-nextjs","nextjs","project","react"],"created_at":"2025-02-14T23:49:45.565Z","updated_at":"2026-03-01T22:09:42.504Z","avatar_url":"https://github.com/d3p1.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=center\u003e\n\n# [DOCKNEXT]\n\n[![semantic-release: angular](https://img.shields.io/badge/semantic--release-angular-e10079?logo=semantic-release)](https://github.com/semantic-release/semantic-release)\n[![Release](https://github.com/d3p1/docknext/actions/workflows/release.yml/badge.svg)](https://github.com/d3p1/docknext/actions/workflows/release.yml)\n\n\u003c/div\u003e\n\n## Introduction\n\nA [Docker](https://www.docker.com/) environment generator for [Next.js](https://nextjs.org/).\n\nThe main idea behind this tool is to have an automatic way to generate [Next.js](https://nextjs.org/) environments for development, but also for production. To support this, [Traefik](https://doc.traefik.io/traefik/) has been included to the tech stack, enabling SSL termination and simplifying the generation of SSL certificates for live sites.\n\n\u003e [!NOTE]\n\u003e It will continue improving to add other relevant services to the tech stack like SMTP, database, etc. They will be ready to use to facilitate the release of complex apps/developments.\n\n## Prerequisites\n\nBefore using this tool, ensure that you have:\n\n- User with `sudo` privileges.\n\n- [Git](https://git-scm.com/) installed on your system.\n\n\u003e [!NOTE]\n\u003e It is required a user with `sudo` privileges to install required dependencies (check [this](https://github.com/d3p1/docknext/blob/main/src/bin/lib/utils/docker/install.sh) and [this](https://github.com/d3p1/docknext/blob/main/src/bin/lib/utils/mkcert/install.sh)), but also to [update the `/etc/hosts` file with local domain that will be used for development](https://github.com/d3p1/docknext/blob/main/src/bin/lib/init/development/configure-host.sh#L78).\n\n## Installation\n\nTo install this tool, run the following command:\n\n```shell\ngit clone https://github.com/d3p1/docknext.git \u0026\u0026 \\\nchmod +x docknext/src/bin/setup/installer.sh   \u0026\u0026 \\\n./docknext/src/bin/setup/installer.sh          \u0026\u0026 \\\nsource ~/.bash_profile                         \u0026\u0026 \\\nrm -rf docknext/\n```\n\n## Usage\n\nUsing this tool is straightforward:\n\n1. Create a [`.docknext_profile` file](https://github.com/d3p1/docknext/blob/main/src/bin/etc/.docknext_profile.sample). This file lets you configure environment variables that define how the project environment should be generated.\n\n2. Execute `docknext init` to generate the necessary [Docker Compose](https://docs.docker.com/compose/) files for the project.\n\n3. Execute `docknext next-install` if you want to install a new Next.js platform to work with the current generated environment.\n\n4. Execute `docknext next-configure` to configure the Next.js project. This will execute a final setup so the existing Next.js project is ready to work with the generated environment.\n\n5. Execute `docknext ide-configure` to simplify the configuration of your IDE, allowing you to work with this generated environment efficiently and effectively.\n\n6. Finally, execute `docknext up` to start the generated environment. \n\n\u003e [!NOTE]\n\u003e A recommended release approach could be:\n\u003e 1. In your local/CI environment, pull latest code from the repository.\n\u003e 2. Build the `web` image.\n\u003e 3. Push `web` image to the registry.\n\u003e 4. In your production environment, execute `docknext up`. \n\n\u003e [!NOTE]\n\u003e When starting the production environment, because the [`pull_policy` is set to `always` for the `web` service](https://github.com/d3p1/docknext/blob/main/src/bin/etc/docker-compose.prod.yml#L48), the latest image will be pulled and used.\n\n\u003e [!NOTE]\n\u003e If you use [GitHub Actions](https://github.com/features/actions) to automate your development and delivery workflow, you can use the [`d3p1/semantic-releasify` action](https://github.com/d3p1/semantic-releasify/) to publish the `web` image on every release.\n\n\u003e [!IMPORTANT]\n\u003e The Next.js project must live in a child directory of the directory where the `docknext init` is executed. This is because Docker only can access build context from the directory where the `docker-compose.yml` file is located, and the production image must copy the app source code to then build it and start the app.   \n\u003e Additioanlly, the `docknext ide-configure` for [WebStorm](https://www.jetbrains.com/webstorm/) considers that the [source code lives in a child directory to configure the startup script](https://github.com/d3p1/docknext/blob/768f96f0e030670cb4d986d80b9ec44beed3fb21/src/bin/etc/.idea/runConfigurations/Dev.xml#L8). \n \n\u003e [!IMPORTANT]\n\u003e For now, `docknext ide-configure` only installs [startup scripts](https://www.jetbrains.com/help/webstorm/settings-tools-startup-tasks.html) that are very useful for [WebStorm](https://www.jetbrains.com/webstorm/). However, automating the configuration of other important aspects and supporting additional IDEs is still pending. [This ticket](https://github.com/d3p1/docknext/issues/6) will handle the completion of this requirement.\n\n\u003e [!NOTE]\n\u003e To gain a deeper understanding of how this tool works under the hood, visit the [wiki page](https://github.com/d3p1/docknext/wiki) (currently, [_in progress_](https://github.com/d3p1/docknext/issues/4)).\n\n\u003e [!NOTE]\n\u003e If you encounter issues while using this tool, refer to the [troubleshooting page](https://github.com/d3p1/docknext/wiki/%5B8%5D-Troubleshooting) for guidance (currently, [_in progress_](https://github.com/d3p1/docknext/issues/4)).\n\n\u003e [!IMPORTANT]\n\u003e Please note that [as of now](https://github.com/d3p1/docknext/issues/3), this tool has only been tested on `Debian 12` and requires an environment with `bash` to function correctly.\n\n\u003e [!WARNING]\n\u003e Currently, [this environment only works with `node 22.21` and `bun 1.3`](./src/bin/etc/docker-compose.yml). It will be improved the supported versions provided by our [custom image](./src/images/jsruntime).\n\n## Changelog\n\nDetailed changes for each release are documented in [`CHANGELOG.md`](./CHANGELOG.md).\n\n## License\n\nThis work is published under [MIT License](./LICENSE).\n\n## Author\n\nAlways happy to receive a greeting on:\n\n- [LinkedIn](https://www.linkedin.com/in/cristian-marcelo-de-picciotto/) \n- [Web](https://d3p1.dev/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3p1%2Fdocknext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fd3p1%2Fdocknext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fd3p1%2Fdocknext/lists"}