{"id":26018847,"url":"https://github.com/peterbecker/greencube","last_synced_at":"2026-04-16T21:07:12.300Z","repository":{"id":147986264,"uuid":"432337984","full_name":"peterbecker/greencube","owner":"peterbecker","description":"Docker container for a complete email test setup","archived":false,"fork":false,"pushed_at":"2025-04-18T07:03:18.000Z","size":14,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-09T07:44:19.422Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterbecker.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2021-11-27T01:10:25.000Z","updated_at":"2025-04-18T07:03:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"c711cfd4-ab7e-4f89-ac31-17c7a28e694a","html_url":"https://github.com/peterbecker/greencube","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/peterbecker/greencube","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbecker%2Fgreencube","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbecker%2Fgreencube/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbecker%2Fgreencube/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbecker%2Fgreencube/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterbecker","download_url":"https://codeload.github.com/peterbecker/greencube/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterbecker%2Fgreencube/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31904128,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T18:22:33.417Z","status":"ssl_error","status_checked_at":"2026-04-16T18:21:47.142Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: 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":[],"created_at":"2025-03-06T06:38:10.431Z","updated_at":"2026-04-16T21:07:12.278Z","avatar_url":"https://github.com/peterbecker.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GreenCube Email Test Setup\n\n## Overview\n\nThis project combines the test email server [Greenmail](https://greenmail-mail-test.github.io/greenmail/) with\nthe [Roundcube](https://roundcube.net/) webmail client into one Docker image that allows quickly starting a\ncomplete setup for email testing. It's main intend is to be deployed as a service in a test environment using\nKubernetes or other container runtimes, but it can also be run standalone.\n\nNote: this essentially just combines the functionality of the [Greenmail Docker image](https://hub.docker.com/r/greenmail/standalone)\nand the [Roundcube Docker image](https://hub.docker.com/r/roundcube/roundcubemail/) into one. If you are only\nafter part of this functionality, you may want to consider either of these as well.\n\n# Features:\n\n* allow sending email to any address using the Greenmail SMTP endpoint - this will automatically create\n  necessary inboxes\n* allow access to these inboxes from the Roundcube web client\n* also allow IMAP4 and POP3 using Greenmail's capabilities, making it possible to view email in other\n  mail clients, e.g. to check rendering of HTML email\n\n# Basic Usage\n\nFor a basic test setup start Greencube like this:\n\n```shell\ndocker run --name greencube \\\n           -p 3025:25 \\\n           -p 3143:143 \\\n           -p 8000:80 \\\n           -p 8080:8080 \\\n           -d \\\n           ghcr.io/peterbecker/greencube:main\n```\n\nThis will allow you to:\n\n* send email to `localhost:3025`. Make sure you do not use SMTPS/TLS, and do not use authentication as that\n  will fail. Whenever an email is sent this way, a new user and inbox is created automatically.\n* review email at http://localhost:8000 - the Roundcube UI is available there, avoiding the need to set up\n  an email client. The user has to be created by sending an email first, any non-empty string will\n  be accepted as password.\n* receive email at `localhost:3143`. Point any IMAP mail client to this, do not use IMAPS/TLS, and use plain\n  password authentication. This is useful if you want to see how email is shown in a particular email client.\n* interact with the Greenmail test email server at http://localhost:8080 - this is the OpenAPI endpoint,\n  which also hosts a UI with documentation and the ability to issue request. You can e.g. use this to\n  purge mail boxes to save on space.\n\nNote that if you use an external email client, some may produce errors as they cannot find certain folders\nsuch as `Sent` or `Trash`. This can be avoided by disabling the related features such as saving a copy on\nsending or moving email to trash when deleting.\n\n# Advanced usage\n\nThe setup maps a number of ports:\n\n* 8000 is the Roundcube web client\n* 8080 is the Greenmail OpenAPI endpoint\n* 25 / 465 is SMTP / SMTPS\n* 143 / 993 is IMAP / IMAPS\n* 110 / 995 is POP3 / POP3S\n\nSee the start command in the `build_and_test.sh` script for an example of how to run the image into a\nstandalone container with all ports enabled.\n\nGiven the status as test tool, there is currently no full release process, but older versions of the Docker\nimage can be found [in the GitHub package hosting](https://github.com/peterbecker/greencube/pkgs/container/greencube)\nif needed.\n\n## Development Setup\n\nWhen working on this Docker configuration, the script `build_and_test.sh` can be used to speed things up.\nIt will stop any existing docker containers, build a new image, then start that as a detached container\nwith all ports mapped. The HTTP port (Roundcube on 8000, Greenmail on 8080) are mapped as is, all email\nrelated ports are mapped to a port 3000 higher, e.g. SMTP is on 3025 instead of 25. This is the equivalent\nof Greenmail's test configuration and avoids clashing with other services that may already run on the host.\n\nOnce everything is started it opens a bash on the container for testing. This allows for a workflow of:\n\n* run `build_and_test.sh`\n* check whatever you need to in the container\n* exit\n* repeat\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterbecker%2Fgreencube","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterbecker%2Fgreencube","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterbecker%2Fgreencube/lists"}