{"id":13769450,"url":"https://github.com/LemmyNet/lemmyBB","last_synced_at":"2025-05-11T02:32:33.323Z","repository":{"id":38217293,"uuid":"488184745","full_name":"LemmyNet/lemmyBB","owner":"LemmyNet","description":"A federated bulletin board","archived":false,"fork":false,"pushed_at":"2023-05-30T10:53:33.000Z","size":1676,"stargazers_count":193,"open_issues_count":15,"forks_count":15,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-04-14T00:49:23.148Z","etag":null,"topics":["forum","phpbb","rust"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/LemmyNet.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2022-05-03T11:35:27.000Z","updated_at":"2024-03-28T11:04:48.000Z","dependencies_parsed_at":"2023-02-19T01:01:33.630Z","dependency_job_id":null,"html_url":"https://github.com/LemmyNet/lemmyBB","commit_stats":{"total_commits":227,"total_committers":6,"mean_commits":"37.833333333333336","dds":"0.10132158590308371","last_synced_commit":"c7067ede2e37a4bda3dfa48bdf6cb202eb17e392"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2FlemmyBB","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2FlemmyBB/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2FlemmyBB/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LemmyNet%2FlemmyBB/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LemmyNet","download_url":"https://codeload.github.com/LemmyNet/lemmyBB/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223576242,"owners_count":17167827,"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":["forum","phpbb","rust"],"created_at":"2024-08-03T17:00:25.724Z","updated_at":"2025-05-11T02:32:33.311Z","avatar_url":"https://github.com/LemmyNet.png","language":"JavaScript","funding_links":[],"categories":["Projects"],"sub_categories":["Alternative front-ends"],"readme":"# lemmyBB\n\n[![Build Status](https://cloud.drone.io/api/badges/LemmyNet/lemmyBB/status.svg)](https://cloud.drone.io/LemmyNet/lemmyBB)\n\nA Lemmy frontend based on [phpBB 3.3](https://www.phpbb.com/).\n\n**This project is unmaintained and not compatible with current Lemmy versions. You are welcome to fork it and continue development.**\n\n[Support forum](https://fedibb.ml/view_forum?f=3) | [Matrix chat](https://matrix.to/#/#lemmybb:matrix.org)\n\nYou can help to translate the project via [Weblate](https://weblate.join-lemmy.org/projects/lemmy/lemmybb/).\n\n## Screenshots\n\n![](./screenshots/lemmybb_1.png)\n![](./screenshots/lemmybb_2.png)\n![](./screenshots/lemmybb_3.png)\n\n## Instances\n\nHere is a list of known lemmyBB instances:\n\n| Domain                                                             | Registration | lemmy-ui domain                                                | Notes                         |\n| ------------------------------------------------------------------ | ------------ | -------------------------------------------------------------- | ----------------------------- |\n| [fedibb.ml](https://fedibb.ml/)                                    | open         |                                                                | Flagship instance for lemmyBB |\n| [lemmybb.rollenspiel.monster](https://lemmybb.rollenspiel.monster) | open         | [lemmy.rollenspiel.monster](https://lemmy.rollenspiel.monster) | topic role play               |\n\nPlease open a pull request if you know another instance.\n\n## Installation\n\n### New installation (docker-compose)\n\nFollow these instructions to setup a new Lemmy installation on your server, with both lemmybb (for users) and lemmy-ui (mainly for moderation features which are not supported in lemmybb yet).\n\nInstall dependencies and create folders:\n\n```\napt install docker-compose docker.io nginx certbot python3-certbot-nginx\nmkdir /srv/lemmybb\ncd /srv/lemmybb\nmkdir volumes/pictrs\nchown 991:991 volumes/pictrs/\n```\n\nDownload config files, edit lemmy.hjson with your actual domain and make other changes if desired:\n\n```\nwget https://raw.githubusercontent.com/LemmyNet/lemmyBB/main/docker/docker-compose.yml\nwget https://raw.githubusercontent.com/LemmyNet/lemmyBB/main/docker/lemmy.hjson\nnano lemmy.hjson\n```\n\nStart docker-compose services\n\n```\ndocker-compose up -d\n```\n\nRequest tls certificates (use your actual domains and email)\n\n```\ncertbot certonly --nginx -d lemmybb.com -m contact@lemmybb.com\ncertbot certonly --nginx -d lemmyui.com -m contact@lemmyui.com\n```\n\nInstall nginx config and set correct domains. Note that this config by default doesn't allow direct access to the API nor pictrs. This makes it harder for spam bots, but also means that Lemmy clients cant be used. The nginx config includes instructions for putting lemmy-ui behind HTTP Auth, so that only admins can access it.\n\n```\nwget https://raw.githubusercontent.com/LemmyNet/lemmyBB/main/docker/nginx.conf -O /etc/nginx/sites-enabled/lemmybb.conf\nwget https://raw.githubusercontent.com/LemmyNet/lemmy/main/docker/prod/nginx.conf -O /etc/nginx/sites-enabled/lemmyui.conf\nsed -i -e 's/$lemmybb_domain/lemmybb.com/g' /etc/nginx/sites-enabled/lemmybb.conf\nsed -i -e 's/$lemmyui_domain/lemmyui.com/g' /etc/nginx/sites-enabled/lemmyui.conf\nnginx -s reload\n```\n\nAdd these lines to daily cronjob (sudo crontab -e) to renew tls certificates\n\n```\n@daily certbot certonly --nginx -d lemmybb.com --deploy-hook 'nginx -s reload'\n@daily certbot certonly --nginx -d lemmyui.com --deploy-hook 'nginx -s reload'\n```\n\n### Alongside existing Lemmy instance (native)\n\nFollow the [Lemmy installation instructions](https://join-lemmy.org/docs/en/administration/administration.html) to install Lemmy backend and lemmy-ui first. You will need one (sub)domain for LemmyBB, and another for lemmy-ui.\n\nThen install lemmyBB itself. First, ssh into your server and prepare by cloning the code repository.\n\n```\ncd /opt\ngit clone https://github.com/LemmyNet/lemmyBB.git --recursive\n```\n\nChange to the folder and compile Lemmy.\n\n```\ncd lemmyBB\nLEMMYBB_VERSION=$(git describe --tag --always) cargo build --release\n```\n\nCopy the nginx config into the sites-enabled folder\n\n```\ncp docker/nginx.conf /etc/nginx/sites-enabled/lemmybb.conf\n```\n\nreplace the variable `lemmybb.com` with your domain for lemmybb instead of lemmybb.com\n\n```\nsed -i -e 's/$lemmybb_domain/lemmybb.com/g' /etc/nginx/sites-enabled/lemmybb.conf\n```\n\ncreate systemd service file\n\n```\nnano /etc/systemd/system/lemmy_bb.service\n```\n\nand insert the following content\n\n\n```\n[Unit]\nDescription=lemmy_bb\nAfter=network.target\n\n[Service]\nType=simple\nWorkingDirectory=/opt/lemmyBB/\nEnvironment=\"LEMMYBB_BACKEND=http://127.0.0.1:8536\"\nEnvironment=\"LEMMYBB_LISTEN_ADDRESS=127.0.0.1:8703\"\nEnvironment=\"LEMMYBB_INCREASED_RATE_LIMIT=1\"\nEnvironment=\"LD_PRELOAD=libjemalloc.so\"\nExecStart=/opt/lemmyBB/target/release/lemmy_bb\nRestart=always\n\n[Install]\nWantedBy=multi-user.target\n```\n\nif your lemmy instance is running on different machine change\n\n`\nLEMMYBB_BACKEND=http://127.0.0.1:8536\n`\n\nto\n\n`\nLEMMYBB_BACKEND=https://yourdomain\n`\n\nthen activate and start the service and check the status\n\n```\nsystemctl enable --now lemmy_bb.service\nsystemctl status lemmy_bb.service\n```\n\nRun the following commands to update lemmyBB to the latest development version.\n\n```\ncd /opt/lemmyBB\ngit pull\nLEMMYBB_VERSION=$(git describe --tag --always) cargo build --release\nsystemctl restart lemmy_bb.service\n```\n\n## Configuration\n\n### Environment variables\n\n| var                          | default value         | description                                                                                                                |\n| ---------------------------- | --------------------- | -------------------------------------------------------------------------------------------------------------------------- |\n| LEMMYBB_BACKEND              | http://localhost:8536 | Protocol, hostname and port where lemmy backend is available                                                               |\n| LEMMYBB_LISTEN_ADDRESS       | 127.0.0.1:1244        | IP and port where lemmyBB listens for requests                                                                             |\n| LEMMYBB_INCREASED_RATE_LIMIT |                       | Set this variable if rate limits of Lemmy backend are increased as in docker/lemmy.hjson. Necessary to render last replies |\n| LEMMYBB_VERSION              | unknown version       | Version to be shown in footer. Needs to be set at compile time                                                             |\n\n### Frontpage\n\nCreate a file `lemmybb_categories.hjson` with content like the following:\n\n```json\n[\n  [\n    \"General\"\n    [\n      \"!main@voyager.lemmy.ml\"\n      \"!lemmybb@lemmy.ml\"\n    ]\n  ]\n  [\n    \"Open Source\"\n    [\n      \"https://lemmy.ml/c/opensource\"\n      \"https://lemmy.ml/c/linux\"\n      \"https://lemmy.ml/c/rust\"\n    ]\n  ]\n]\n```\n\nNote, you must subscribe manually to remote communities, so that new activities are federated to your instances.\n\n## Development\n\nFirst install dependencies and setup the database.\n```\nsudo apt install git cargo postgresql libssl-dev pkg-config\nsudo systemctl start postgresql\nsudo -u postgres psql -c \"create user lemmy with password 'password' superuser;\" -U postgres\nsudo -u postgres psql -c 'create database lemmy with owner lemmy;' -U postgres\n```\n\nThen start LemmyBB with embedded Lemmy instance.\n```bash\ngit clone https://github.com/LemmyNet/lemmyBB.git --recursive\ncd lemmyBB\ncargo run --features embed-lemmy\n```\n\nThen open http://127.0.0.1:1244 in your browser.\n\nIt can also be useful to use a production instance as backend, for example if you notice a bug on a specific instance but don't know what causes it. To do this, run the following command with an instance of your choice.\n```\nLEMMYBB_BACKEND=https://lemmy.ml cargo run\n```\n\n## License\n\nThe project is licensed under [AGPLv3](LICENSE).\n\nTheme files from phpBB are licensed under [GPLv2](https://www.phpbb.com/downloads/license).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLemmyNet%2FlemmyBB","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLemmyNet%2FlemmyBB","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLemmyNet%2FlemmyBB/lists"}