{"id":13580243,"url":"https://github.com/thelounge/thelounge-docker","last_synced_at":"2025-04-05T06:10:20.125Z","repository":{"id":37677985,"uuid":"57344313","full_name":"thelounge/thelounge-docker","owner":"thelounge","description":"🐳 ‎ ‎Docker image for The Lounge, a self-hosted web IRC client","archived":false,"fork":false,"pushed_at":"2024-08-17T05:12:29.000Z","size":202,"stargazers_count":309,"open_issues_count":9,"forks_count":73,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-10-30T00:00:35.816Z","etag":null,"topics":["docker","docker-container","docker-image","irc","thelounge"],"latest_commit_sha":null,"homepage":"https://ghcr.io/thelounge/thelounge","language":"Dockerfile","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/thelounge.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},"funding":{"github":["MaxLeiter","itsjohncs","brunnre8"],"open_collective":"thelounge","custom":"https://thelounge.chat/community"}},"created_at":"2016-04-29T01:06:47.000Z","updated_at":"2024-10-27T17:10:22.000Z","dependencies_parsed_at":"2023-11-09T11:25:48.384Z","dependency_job_id":"36097f51-c625-4ec2-9c4f-fd8b55070272","html_url":"https://github.com/thelounge/thelounge-docker","commit_stats":{"total_commits":163,"total_committers":16,"mean_commits":10.1875,"dds":"0.29447852760736193","last_synced_commit":"30c6ed3261cbb0db599bbecb5adae75bfdabd8d7"},"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelounge%2Fthelounge-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelounge%2Fthelounge-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelounge%2Fthelounge-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thelounge%2Fthelounge-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thelounge","download_url":"https://codeload.github.com/thelounge/thelounge-docker/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246866480,"owners_count":20846578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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","docker-container","docker-image","irc","thelounge"],"created_at":"2024-08-01T15:01:49.079Z","updated_at":"2025-04-05T06:10:20.103Z","avatar_url":"https://github.com/thelounge.png","language":"Dockerfile","funding_links":["https://github.com/sponsors/MaxLeiter","https://github.com/sponsors/itsjohncs","https://github.com/sponsors/brunnre8","https://opencollective.com/thelounge","https://thelounge.chat/community"],"categories":["Dockerfile"],"sub_categories":[],"readme":"![The Lounge](https://raw.githubusercontent.com/thelounge/thelounge.github.io/master/assets/logos/logo/TL_Grey%26Yellow_Vertical_logotype_Transparent_Bg/TL_Grey%26Yellow_Vertical_logotype_Transparent_Bg.png)\n\n#### Docker image for The Lounge, a modern web IRC client designed for self-hosting\n\n**[Website](https://thelounge.chat/) • [Docs](https://thelounge.chat/docs) • [Demo](https://demo.thelounge.chat/)**\n\n[![#thelounge IRC channel on Libera.Chat\"](https://img.shields.io/badge/Libera.Chat-%23thelounge-415364.svg?colorA=ff9e18\u0026style=flat-square)](https://demo.thelounge.chat/) [![Total pulls on Docker](https://img.shields.io/docker/pulls/thelounge/thelounge.svg?style=flat-square\u0026maxAge=3600)](https://hub.docker.com/r/thelounge/thelounge/) [![Total stars on Docker](https://img.shields.io/docker/stars/thelounge/thelounge.svg?colorB=007dc7\u0026style=flat-square\u0026maxAge=3600)](https://hub.docker.com/r/thelounge/thelounge/)\n\n---\n\n### Overview\n\n-   **Modern features brought to IRC.** Push notifications, link previews, new message markers, and more bring IRC to the 21st century.\n-   **Always connected.** Remains connected to IRC servers while you are offline.\n-   **Cross platform.** It doesn't matter what OS you use, it just works wherever Node.js runs.\n-   **Responsive interface.** The client works smoothly on every desktop, smartphone and tablet.\n-   **Synchronized experience.** Always resume where you left off no matter what device.\n\nTo learn more about configuration, usage and features of The Lounge, take a look at [the website](https://thelounge.chat).\n\n### Registries\n\nImages are available in the following registries:\n\n-   [ghcr.io](https://github.com/thelounge/thelounge-docker/pkgs/container/thelounge): `ghcr.io/thelounge/thelounge`\n-   [DockerHub](https://hub.docker.com/r/thelounge/thelounge): `thelounge/thelounge`\n\n### Running a container\n\nOne can get started quickly by using the example [`docker-compose.yml`](https://github.com/thelounge/docker-lounge/blob/master/docker-compose.yml) file. [What is docker-compose?](https://docs.docker.com/compose/)\n\n```sh\n$ docker-compose up --detach\n```\n\nor starting a container manually:\n\n```\n$ docker run --detach \\\n             --name thelounge \\\n             --publish 9000:9000 \\\n             --volume ~/.thelounge:/var/opt/thelounge \\\n             --restart always \\\n             ghcr.io/thelounge/thelounge:latest\n```\n\n### Executing commands in the container\n\nDue to the way root permissions are dropped in the container, it's highly recommended to pass the `--user node` argument to any\ncommands you execute in the container via Docker to ensure that file permissions retain the correct owner, like so:\n\n```\n$ docker exec --user node -it [container_name] thelounge add MyUser\n```\n\n### Configuring identd\n\nSince root permissions are dropped in the container the default port 113 can not be used as it is within the\npriviliged port range. Instead, use a higher port in your The Lounge identd configuration and map it back to 113\non your host system, for example like so:\n\n```\n$ docker run --detach \\\n             --name thelounge \\\n             --publish 113:9001 \\\n             --publish 9000:9000 \\\n             --volume ~/.thelounge:/var/opt/thelounge \\\n             --restart always \\\n             ghcr.io/thelounge/thelounge:latest\n```\n\nRefer to the [identd / oidentd docs](https://thelounge.chat/docs/guides/identd-and-oidentd) for more detailed information.\n\n### Data directory\n\nThe Lounge reads and stores all of its configuration, logs and other data at `/var/opt/thelounge`.\n\nBy default, The Lounge will run using the `node (1000:1000)` system user in the container, leading to mounted data directories\non the host system being owned by said user. This is customizable by changing the container user (see [Container user (advanced usage)](#container-user-advanced-usage)).\n\n_You will probably want to persist the data at this location by using [one of the means](https://docs.docker.com/storage/) to do so._\n\n### Adding users\n\nUsers can be added as follows:\n\n```sh\n$ docker exec --user node -it [container_name] thelounge add [username]\n```\n\n_Note: without [persisting data](#data-directory), added users will be lost when the container is removed._\n\n### Changing the port that The Lounge will be available on\n\nTo change the port which The Lounge will be available on, one will have to\nchange the host port in the port mapping. To make The Lounge available on e.g. port 5000:\n\n```sh\n$ docker run --detach \\\n             --name thelounge \\\n             --publish 5000:9000 \\ # Change host port to listen on port 5000\n             --volume ~/.thelounge:/var/opt/thelounge \\\n             --restart always \\\n             ghcr.io/thelounge/thelounge:latest\n```\n\n### Container user (advanced usage)\n\nBy default, The Lounge will run using the `node (1000:1000)` user. This is customizable by running the container as a different, non-root, user.\nBeware that this may cause permission issues when a container process tries reading from the data disk unless you have manually set the permissions correctly.\n\nAlso keep in mind that whenever executing one-off commands in the container you need to explicitly set the correct user.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthelounge%2Fthelounge-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthelounge%2Fthelounge-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthelounge%2Fthelounge-docker/lists"}