{"id":23831884,"url":"https://github.com/onitake/infopage","last_synced_at":"2025-07-26T19:07:42.341Z","repository":{"id":146469800,"uuid":"64023215","full_name":"onitake/infopage","owner":"onitake","description":"Digital signage platform with sched.org integration","archived":false,"fork":false,"pushed_at":"2018-05-24T20:46:29.000Z","size":28,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-11T21:18:50.559Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/onitake.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-07-23T15:45:36.000Z","updated_at":"2019-12-14T07:32:41.000Z","dependencies_parsed_at":"2023-04-12T14:31:45.857Z","dependency_job_id":null,"html_url":"https://github.com/onitake/infopage","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/onitake/infopage","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onitake%2Finfopage","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onitake%2Finfopage/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onitake%2Finfopage/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onitake%2Finfopage/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/onitake","download_url":"https://codeload.github.com/onitake/infopage/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/onitake%2Finfopage/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267213475,"owners_count":24053912,"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","status":"online","status_checked_at":"2025-07-26T02:00:08.937Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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-01-02T14:07:11.462Z","updated_at":"2025-07-26T19:07:42.334Z","avatar_url":"https://github.com/onitake.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"infopage\n========\n\nIntroduction\n------------\n\ninfopage is a web site based digital signage presentation\ntool with integration for sched.org.\n\nEvent data is fetched into a local database, serving\nas the data source for a dynamically generated slide show.\n\nCopyright\n---------\n\ninfopage is (c) 2014-2016 Gregor Riepl \u003conitake@gmail.com\u003e\nAll rights reserved.\n\nScripts, documentation and example content are released\nunder the simplified BSD license.\nPlease see the LICENSE file for details.\n\nInstallation\n------------\n\ninfopage is written in Python and requires PostgreSQL, Apache,\nmod_python and a handful of Python modules.\n\nFor easy installation, a self-contained Docker script is provided.\n\nWhile it is possible to deploy a Docker image directly from the\nsource code repository, it is highly  recommended that you clone it\nfirst and apply customizations before you run `docker build`.\n\nInstallation steps:\n\n1.  (optional) Generate the debian base image - see\n    https://wiki.debian.org/Cloud/CreateDockerImage for details.\n    If you skip this step, the image will be fetched from docker.io.\n2.  Clone the repository:\n    ```\n    git clone https://github.com/onitake/infopage\n    ```\n3.  Create a local branch for customizations:\n    ```\n    git checkout -b customize\n    ```\n4.  Change the SSH password in the Dockerfile.\n5.  Edit infopage.conf and insert you sched.org event name and API key.\n    You can also change the database settings, but in that case, you\n    need to update them in Dockerfile as well.\n6.  Copy any customization for the page into `customize/`. For example,\n    you can add the file `override.css` to change the style sheet,\n    or add your own logo.png.\n7.  Deploy the infopage docker image (don't forget the dot at the end):\n    ```\n    docker build -t infopage .\n    ```\n8.  The installation will take some time, grab a cup of tea meanwhile.\n9.  Start the Docker image:\n    ```\n    docker run -p 22:2222 -p 80:8080 -t -i infopage\n    ```\n10. SSH into the container:\n    ```\n    ssh -p 2222 -l root localhost\n    ```\n11. Run the sched.org import script to get the current list of events\n    and venues:\n    ```\n    /root/sched.py\n    ```\n12.  Display the venue list:\n    ```\n    /root/sched.py -l\n    ```\n    and change it:\n    ```\n    /root/sched.py -s=-1,123,567,999\n    ```\n    The numbers correspond to the venue IDs and -1 is the\n    \"Happening right now\" slide.\n13.  Open a web browser and point it to the web server:\n    [http://localhost:8080](http://localhost:8080)\n14. Once you're satisfied, add a port forwarding for port\n    80, so the webserver can be reached easily.\n    Alternatively, commit and run the Docker image with a direct\n    port mapping. (-p 80)\n15. At this point, you should also commit all changes\n    to your customize branch.\n\nTo Do\n-----\n\nThere is currently no way to change any settings, except by connecting\ndirectly to the database.\n\nFor example, to change the title text on the \"Happening right now\" slide\n(don't forget to use the correct IP address and password):\n\n```\n$ ssh -p 2222 -l root localhost\nroot's password: \n# psql infopage infopage\ninfopage=\u003e update config set value='Happening right now' where key='now_master_text';\ninfopage=\u003e \\q\n```\n\nLogging does not work at the moment due to Docker's peculiar inner\nworkings. Use the host syslog, maybe.\n\nThe server stack could be greatly simplified.\nA more light-weight web server, a key-value store and perhaps\nstatically generated pages should be sufficient.\n\nThe database does not need to be updated very often (every 10\nminutes or so), and the content pages only change every minute,\nwhen the clock ticks.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonitake%2Finfopage","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fonitake%2Finfopage","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fonitake%2Finfopage/lists"}