https://github.com/lobsters/lobsters Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Resources + Learning Pathways + White papers, Ebooks, Webinars + Customer Stories + Partners * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing Search or jump to... Search code, repositories, users, issues, pull requests... Search [ ] Clear Search syntax tips Provide feedback We read every piece of feedback, and take your input very seriously. [ ] [ ] Include my email address so I can be contacted Cancel Submit feedback Saved searches Use saved searches to filter your results more quickly Name [ ] Query [ ] To see all available qualifiers, see our documentation. Cancel Create saved search Sign in Sign up You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert {{ message }} lobsters / lobsters Public * Notifications * Fork 773 * Star 3.8k Computing-focused community centered around link aggregation and discussion lobste.rs License View license 3.8k stars 773 forks Activity Star Notifications * Code * Issues 124 * Pull requests 20 * Actions * Wiki * Security * Insights Additional navigation options * Code * Issues * Pull requests * Actions * Wiki * Security * Insights lobsters/lobsters This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. master Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 1 branch 0 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/l] Use Git or checkout with SVN using the web URL. [gh repo clone lobste] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @pushcx pushcx missing migration in schema; standardrb generated file ... 8722f42 Nov 22, 2023 missing migration in schema; standardrb generated file 8722f42 Git stats * 2,693 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .github run migrations before tests November 15, 2023 09:16 app fix #1224 email reply to whom November 22, 2023 11:08 bin rails binstub - silence tedious boilerplate September 11, 2023 11:23 config enable page caching October 6, 2023 22:28 db missing migration in schema; standardrb generated file November 22, 2023 11:17 extras standardrb: add standard-sorbet September 14, 2023 08:45 fixtures/vcr_cassettes fix keybase spec June 13, 2020 02:12 lib standardrb: add standard-sorbet September 14, 2023 08:45 public placeholder for lobsters.dev October 4, 2023 12:20 script long dead code September 18, 2023 16:06 spec missing migration in schema; standardrb generated file November 22, 2023 11:17 test standardrb: add standard-sorbet September 14, 2023 08:45 vendor/assets Backport unreleased fix for Tom select September 28, 2022 08:31 .git-blame-ignore-revs git config --global blame.ignoreRevsFile .git-blame-ignore-revs September 8, 2023 17:32 .gitignore extract about pgaes to own controller February 19, 2022 18:45 .rspec housekeeping April 19, 2018 05:37 .ruby-version standardrb September 8, 2023 15:39 .standard.yml standardrb: add standard-performance September 14, 2023 08:45 CONTRIBUTING.md remove last vestiges of rubocop September 14, 2023 08:45 Gemfile add super_diff for better test output October 4, 2023 08:31 Gemfile.lock add super_diff for better test output October 4, 2023 08:31 LICENSE bump copyright year June 22, 2019 22:11 README.md Fix git clone URL October 5, 2023 16:02 Rakefile remove last vestiges of rubocop September 14, 2023 08:45 SECURITY.md create SECURITY.md (#1107) July 8, 2022 13:37 config.ru standardrb: add standard-sorbet September 14, 2023 08:45 View code Lobsters Rails Project Contributing bugfixes and new features Initial setup Administration README.md Lobsters Rails Project build status This is the quite sad source code to the ghost town at https:// lobste.rs. It is a Rails codebase and uses a SQL (MariaDB in production) backend for the database. You are free to use this code to start your own sister site because the code is available under a permissive license (3-clause BSD). We welcome bug reports and code contributions that help use improve lobste.rs. As a volunteer project we're reluctant to take on work that's not useful to our site, so please understand if we don't want to adopt your custom feature. Contributing bugfixes and new features We'd love to have your help. Please see the CONTRIBUTING file for details. If you have questions, there is usually someone in our chat room who's familiar with the code. Initial setup Use the steps below for a local install or lobsters-ansible for our production deployment config. There's an external project docker-lobsters if you want to use Docker. * Install the Ruby version specified in .ruby-version * Checkout the lobsters git tree from Github $ git clone git@github.com:lobsters/lobsters.git $ cd lobsters lobsters$ * Install Nodejs, needed (or other execjs) for uglifier Fedora: sudo yum install nodejs Ubuntu: sudo apt-get install nodejs OSX: brew install nodejs * Run Bundler to install/bundle gems needed by the project: lobsters$ bundle + If when installing the mysql2 gem on macOS, you see ld: library not found for -l-lpthread in the output, see this solution for a fix. You might also see ld: library not found for -lssl if you're using macOS 10.4+ and Homebrew openssl, in which case see this solution. * Create a MySQL (other DBs supported by ActiveRecord may work, only MySQL and MariaDB have been tested) database, username, and password and put them in a config/database.yml file. You will also want a separate database for running tests: development: adapter: mysql2 encoding: utf8mb4 reconnect: false database: lobsters_dev socket: /tmp/mysql.sock username: *dev_username* password: *dev_password* test: adapter: mysql2 encoding: utf8mb4 reconnect: false database: lobsters_test socket: /tmp/mysql.sock username: *test_username* password: *test_password* * Load the schema into the new database: lobsters$ rails db:schema:load * On your production server, copy config/initializers/ production.rb.sample to config/initalizers/production.rb and customize it with your site's domain and name. (You don't need this on your dev machine). * Seed the database to create an initial administrator user, the inactive-user, and at least one tag: lobsters$ rails db:seed * On your personal computer, you can add some sample data and run the Rails server in development mode. You should be able to login to http://localhost:3000 with your new test user: lobsters$ rails fake_data lobsters$ rails server * Deploying the site in production requires setting up a web server and running the app in production mode. There are more tools and options available than we can describe; find a guide or an expert. The lobsters-ansible repo has our config files to crib from. Some app-specific notes: * Set up crontab or another scheduler to run regular jobs: */5 * * * * cd /path/to/lobsters && env RAILS_ENV=production sh -c 'bundle exec ruby script/mail_new_activity; bundle exec ruby script/post_to_twitter; bundle exec ruby script/traffic_range' * See config/initializers/production.rb.sample for GitHub/Twitter integration help. * You probably want to use git-imerge to pull in changes from Lobsters to your site. Administration Basic moderation happens on-site, but most other administrative tasks require use of the rails console in production. Administrators can create and edit tags at /tags. About Computing-focused community centered around link aggregation and discussion lobste.rs Topics ruby rails aggregator forum hacktoberfest Resources Readme License View license Security policy Security policy Activity Stars 3.8k stars Watchers 66 watching Forks 773 forks Report repository Releases No releases published Packages 0 No packages published Contributors 179 * @pushcx * @jcs * @thomasdziedzic * @kconner * @ymeynot45 * @talklittle * @alanpost * @masongup * @srgpqt * @abdallahalsamman * @briankung * @arandomandy * @threeplanetssoftware * @thomasdziedzic-pd + 165 contributors Languages * Ruby 71.3% * HTML 24.7% * JavaScript 4.0% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact You can't perform that action at this time.