{"id":13558154,"url":"https://github.com/public-accountability/littlesis-main","last_synced_at":"2025-04-03T12:31:58.283Z","repository":{"id":54374632,"uuid":"98446049","full_name":"public-accountability/littlesis-main","owner":"public-accountability","description":"LittleSis development setup w/ docker \u0026 deployment instructions w/ ansible","archived":true,"fork":false,"pushed_at":"2022-01-07T15:37:45.000Z","size":45971,"stargazers_count":12,"open_issues_count":0,"forks_count":3,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-11-04T08:37:34.118Z","etag":null,"topics":["ansible","docker","littlesis"],"latest_commit_sha":null,"homepage":"https://littlesis.org","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/public-accountability.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}},"created_at":"2017-07-26T16:56:39.000Z","updated_at":"2023-01-27T22:42:32.000Z","dependencies_parsed_at":"2022-08-13T13:50:11.004Z","dependency_job_id":null,"html_url":"https://github.com/public-accountability/littlesis-main","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/public-accountability%2Flittlesis-main","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/public-accountability%2Flittlesis-main/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/public-accountability%2Flittlesis-main/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/public-accountability%2Flittlesis-main/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/public-accountability","download_url":"https://codeload.github.com/public-accountability/littlesis-main/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247002546,"owners_count":20867473,"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":["ansible","docker","littlesis"],"created_at":"2024-08-01T12:04:46.868Z","updated_at":"2025-04-03T12:31:53.559Z","avatar_url":"https://github.com/public-accountability.png","language":"JavaScript","funding_links":[],"categories":["Ruby","docker"],"sub_categories":[],"readme":"# littlesis-main\n\nWelcome to the LittleSis project! LittleSis has been tracking powerful people and organizations since 2009. The repo [littlesis-main](https://github.com/public-accountability/littlesis-main) contains instructions for setting up a development environment for LittleSis.org.\n\nOur code can be found under the github organization [public-accountability](https://github.com/public-accountability). [littlesis-rails](https://github.com/public-accountability/littlesis-rails) is the central rails repository for the project. [oligrapher](https://github.com/public-accountability/oligrapher) is our javascript/react mapping tool. [littlesis-browser-addon](https://github.com/public-accountability/littlesis-browser-addon) is a chrome browser extension to add relationships to the database. [pai-core-functionality](https://github.com/public-accountability/pai-core-functionality), [pai-packages](https://github.com/public-accountability/pai-packages), [pai](https://github.com/public-accountability/pai), [littlesis-packages](https://github.com/public-accountability/littlesis-packages), [littlesis-news-theme](https://github.com/public-accountability/littlesis-news-theme), and [littlesis-core-functionality](https://github.com/public-accountability/littlesis-core-functionality) are the themes and functionality for our two wordpress sites: [news.littlesis.org](https://news.littlesis.org) and [public-accountability.org](https://public-accountability.org/).\n\nOur code is all open source, licensed with the General Public License version 3.0.\n\n## Project History\n\nMatthew Skomarovsky co-founded LittleSis and was the initial developer behind the project. When it started in 2009, LittleSis was a PHP [see here](https://github.com/littlesis-org/littlesis) for the original PHP application). The port to Ruby on Rails began in 2013 and finished in 2017.\n\nZiggy ([@aepyornis](https://github.com/aepyornis)) joined in 2016 and currently maintains the project.\n\nAlong the way, Austin ([@aguestuser](https://github.com/aguestuser)) worked on on oligrapher and the rails codebase. Liz ([@lizstarin](https://github.com/lizstarin)) helped port PHP code to rails and\ndeveloped the chrome extension. Pea ([@misfist](https://github.com/misfist)) coded our wordpress sites. Since 2020, Rob [@robjlucas](https://github.com/robjlucas) has contributed to the rails application.\n\nLittleSis is a project of [The Public Accountability Initiative](https://public-accountability.org/), a non-profit public interest research organization focused on corporate and government accountability.\n\n## Software Overview\n\n|             |               |\n|:-----------:|:-------------:|\n| Application | Ruby on Rails |\n| Database    | Postgresql    |\n| Web Server  | Puma, Nginx   |\n| Search      | Manticore     |\n| Cache       | Redis         |\n| Blog        | Wordpress     |\n| OS          | Debian        |\n\nDevelopment requirements:\n\n* docker, docker-compose, bash, git, gzip\n* free disk space (\u003e 20gb)\n\nTo install these requirements on debian use: `apt install bash git docker.io docker-compose gzip`\n\n## Helper program: ./littlesis\n\nThere's a helper bash program that will let you easily interact with the docker containers to do common tasks such as starting the rails console, running tests, starting sphinx, and viewing logs without having to remember esoteric docker \u0026 bash commands.\n\nTo see the script's features run: ```./littlesis help ```\n\nAlthough not necessary, it is suggested to create symlink for `littlesis`: `sudo ln -s ./littlesis /usr/local/bin/littlesis`\n\n## Installation Steps\n\n1) Clone this repo. `git clone https://github.com/public-accountability/littlesis-main`.\n\n2) Clone the rails repo: `littlesis setup-clone`\n\n3) Build the docker images  `littlesis build`\n\n4) Start the docker containers: `littlesis up`\n\n5) Setup the database:  `littlesis setup-database`\n\n6) Load a copy of the development database `zcat littlesis_developemnt_db.sql.gz | littlesis psql`\n\n7) Setup the testing database: `littlesis reset-test-db`\n\n8) Compile test assets: `littlesis --test rake assets:precompile`\n\n9) Run the tests: ` littlesis test `\n\nThe app is accessible at `localhost:8080` and `localhost:8081`. 8080 goes to directly to puma. 8081 is nginx.\n\nThe configurations for nginx and mariadb are in the  folder _docker/config_.\n\n## Subsequent runs\n\nStart app: `littlesis up`\n\nOpen rails console: `littlesis console`\n\n*Manticore*\n    - status: `littlesis rake ts:status`\n    - start: `littlesis rake ts:start`\n    - index: `littlesis rake ts:index`\n    - reconfigure: `littlesis rake ts:rebuild`\n\nClear logs:  `littlesis rake log:clear`\n\nClear cache: `littlesis runner Rails.cache.clear`\n\nStart DelayedJob: `littlesis delayed_job start`\n\nLogin as system user:\n\n* username: `user1@email.com`\n* password: `password`\n\nCreate new user: `littlesis script create_example_user.rb`\n\nReset user password:  `User.find_by(email: \u003cEMAIL\u003e).send_reset_password_instructions`\n\nUpdate Network Map Collections: `littlesis rake maps:update_all_entity_map_collections`\n\n\nTo give yourself easy database access:\n\n``` sql\ncreate role \u003cyour-name\u003e login;\ngrant all privileges on database littlesis to \u003cyour-name\u003e;\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpublic-accountability%2Flittlesis-main","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpublic-accountability%2Flittlesis-main","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpublic-accountability%2Flittlesis-main/lists"}