{"id":20691275,"url":"https://github.com/scilifelabdatacentre/blobserver","last_synced_at":"2026-03-09T05:31:43.203Z","repository":{"id":40297886,"uuid":"340100394","full_name":"ScilifelabDataCentre/blobserver","owner":"ScilifelabDataCentre","description":"Simple web app to server blobs (files containing any data) publicly. A file can be uploaded or updated by an authorized account, either via the web interface or via a script.","archived":false,"fork":false,"pushed_at":"2025-02-20T10:18:10.000Z","size":249,"stargazers_count":2,"open_issues_count":7,"forks_count":0,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-27T13:51:18.019Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","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/ScilifelabDataCentre.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-02-18T15:55:18.000Z","updated_at":"2025-02-05T08:26:52.000Z","dependencies_parsed_at":"2023-10-03T14:44:29.617Z","dependency_job_id":"8694a125-2fef-4f2e-bc7c-92ba484c237b","html_url":"https://github.com/ScilifelabDataCentre/blobserver","commit_stats":null,"previous_names":["scilifelabdatacentre/blobserver"],"tags_count":9,"template":false,"template_full_name":"pekrau/webapp-flask-sqlite3-template","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScilifelabDataCentre%2Fblobserver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScilifelabDataCentre%2Fblobserver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScilifelabDataCentre%2Fblobserver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ScilifelabDataCentre%2Fblobserver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ScilifelabDataCentre","download_url":"https://codeload.github.com/ScilifelabDataCentre/blobserver/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248799672,"owners_count":21163398,"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":[],"created_at":"2024-11-16T23:16:04.855Z","updated_at":"2025-10-11T12:15:09.298Z","avatar_url":"https://github.com/ScilifelabDataCentre.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# blobserver\n---\n\n\u003cdiv align=\"center\"\u003e\n\n🚨 **Important Notice** 🚨\n\n\u003e **We are currently evaluating the future of the Blob Server project and do not intend for it to be used as a dependency by other teams. Please refrain from integrating Blob Server into new projects or systems. We will communicate any changes to this status through appropriate channels.**\n\n\u003c/div\u003e\n\n---\nSimple web app to server blobs (files containing any data) publicly. A\nfile can be uploaded or updated by an authorized account, either via\nthe web interface or via a script.\n\nUses: Python3, Flask, Bootstrap 4, jQuery, DataTables, clipboard.js,\nand pytest, Playwright and requests for tests.\n\n## Installation\n\n1. Download the blobserver software and install in a directory\n   which is denoted symbolically here `/path/to/blobserver`\n\n2. Set up your Python environment (Python 3.6 or later). Add\n   the path `/path/to/blobserver` to the Python search path.\n\n3. Install the third-party modules (see `requirements.txt`).\n\n4. Create a directory `/path/to/blobserver/site`. This will contain\n   files specific to your installation.\n\n5. Copy the example settings file to your site directory.\n   ```\n   $ cd /path/to/blobserver\n   $ cp blobserver/example_settings.json site/settings.json\n   ```\n\n6. If you wish to use a logo image file for your site, create\n   a directory `/path/to/blobserver/site/static` and put it there.\n\n7. The Sqlite3 database file and all the blob files must be stored\n   in a directory to which the web server can create, read and write files.\n   The name of this directory must be specified as STORAGE_DIRPATH in\n   the settings file.\n\n8. Edit the settings file. These settings can be configured using\n   environment variables, if this is more convenient.\n   - Set SECRET_KEY to a string of characters known only to you.\n     It is required.\n   - Set STORAGE_DIRPATH to the name of the directory where the\n     blob files are to be stored. See point 7 above. It is required.\n   - Set SERVER_NAME to the externally visible name of the server.\n     This is used to form the URLs of the service. It is required.\n   - Optionally set SITE_NAME to the name chosen for this service.\n   - Optionally set SITE_ICON and SITE_LOGO to the names of files which,\n     if they are defined, must be located in the\n     `/path/to/blobserver/site/static` directory. See point 4 above.\n   - Optionally set HOST_NAME and HOST_URL to fit your site.\n     The name of the logo file is set by HOST_LOGO and, if it is\n     defined, must be located in the `/path/to/blobserver/site/static`\n     directory. See point 4 above.\n   - Set CONTACT_EMAIL to an email address that handles queries about\n     the service. Optional, but should really be set.\n\n9. The first admin user cannot be created via the web interface. One must\n   use one of the following two methods:\n\n   1. Set the variables ADMIN_USERNAME, ADMIN_EMAIL and ADMIN_PASSWORD,\n      either in the settings file, or as environment variables. If the\n      user account specified by that username has not been created already,\n      it will be created before the first request to the app is processed.\n   2. Use the command-line script `cli.py`. The option `-A` is used to\n      create an admin user account. Use the `-h` option to get help.\n\n10. Configure the reverse proxy (Apache, Nginx, or whatever) to serve\n    the blobserver Flask app via uWSGI. It is a very bad idea to use\n    the built-in Flask web server in production. It is **strongly**\n    suggested to expose the blobserver using **https**, i.e. encrypted.\n\n11. Once the web server is running, the first admin user account\n    can be used to create new user accounts (ordinary users, or admins).\n    Alternatively, the command-line script `cli.py` can be used\n    to do this.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscilifelabdatacentre%2Fblobserver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscilifelabdatacentre%2Fblobserver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscilifelabdatacentre%2Fblobserver/lists"}