{"id":25692529,"url":"https://github.com/pyvec/cz.pycon.org","last_synced_at":"2025-11-18T06:03:21.004Z","repository":{"id":162643342,"uuid":"622003019","full_name":"pyvec/cz.pycon.org","owner":"pyvec","description":"PyCon CZ Website","archived":false,"fork":false,"pushed_at":"2025-10-21T14:45:12.000Z","size":8898,"stargazers_count":9,"open_issues_count":0,"forks_count":13,"subscribers_count":10,"default_branch":"beta","last_synced_at":"2025-10-28T10:34:41.640Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://cz.pycon.org","language":"HTML","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/pyvec.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}},"created_at":"2023-03-31T21:36:53.000Z","updated_at":"2025-10-26T18:06:18.000Z","dependencies_parsed_at":"2024-02-19T21:24:07.856Z","dependency_job_id":"b4aa9c1c-5265-457e-bd6f-85590e6b8967","html_url":"https://github.com/pyvec/cz.pycon.org","commit_stats":null,"previous_names":["pyvec/cz.pycon.org"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/pyvec/cz.pycon.org","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fcz.pycon.org","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fcz.pycon.org/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fcz.pycon.org/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fcz.pycon.org/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyvec","download_url":"https://codeload.github.com/pyvec/cz.pycon.org/tar.gz/refs/heads/beta","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyvec%2Fcz.pycon.org/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285013741,"owners_count":27100053,"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-11-18T02:00:05.759Z","response_time":61,"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-02-24T23:09:21.851Z","updated_at":"2025-11-18T06:03:20.959Z","avatar_url":"https://github.com/pyvec.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyCon CZ webpage\n\n## How to run on localhost\n\n### Prerequisites\nFor local development you need Docker and make.\nTested with Docker version 23.0.2.\n\nFor Docker installation manuals check the following links:\n* Ubuntu - install Docker engine using the [apt repository](https://docs.docker.com/engine/install/ubuntu/#install-using-the-repository) and add user to `docker` group as described [here](https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user) so you can run Docker locally as a non-root user\n* Windows \u0026 Mac - you can use Docker Desktop, check out [this](https://docs.docker.com/desktop/install/windows-install/) manual for Windows and [this](https://docs.docker.com/desktop/install/mac-install/) for Mac \n\n### Local setup\n1. Build an image\n```bash\nmake build\n```\n2. Run migrations \n```bash\nmake migrate\n```\n\n3. Run dev stack\n```bash\nmake up\n```\n\n4. You can stop the server by pressing Ctrl+C, optionally you can run \n```bash\nmake down\n```\nif there are any hanging containers\n\n### Front end tooling\nThis is optional just in the case you need to work with CSS.\n\n#### Instalation\n\n1. Install latest [node.js](https://nodejs.org/)\n\n2. Install all packages from `package.json` locally\n```shell\nnpm ci\n```\n\n#### Usage\nTo develop with automatic compilation and browser refreshing run\n```shell\nnpm start\n```\nAnd see the result on `http://localhost:3366/`\n\nTo build everything once for production\n```shell\nnpm run build\n```\n_note: `removeUnusedCss` will throw “Error: Could not load script:…” but it doesn’t make stop it from working. Just ignore it.\n\n### Admin \u0026 Wagtail\nIn case you want to access admin page, either Django or Wagtail one, you need to create a superuser and log in with its credentials:\n```bash\nmake create-user\n```\n\nThe development server runs at the address http://0.0.0.0:8000/. Beta instance on fly.io runs on https://pycon-cz-beta.fly.dev/team/.\n\n### Configuration\n\nThe application can be configured using the following environment variables. Reasonable defaults for local development\nare already set in the provided `docker-compose.yaml`.\n\n| Variable              | Description                                                                                                                                          |\n|-----------------------|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `DATABASE_URL`        | *Required.* URL defining database connection parameter. See https://github.com/jazzband/dj-database-url#url-schema for syntax.                       |\n| `SECRET_KEY`          | *Required.* Secret key for Django, will be used to sign cookies for the admin.                                                                       |\n| `DEBUG`               | Set to `1` or `true` to enable Django debug mode. Debug mode is disabled by default.                                                                 |\n| `EXTRA_ALLOWED_HOSTS` | Comma separated list of hosts to allow in addition to the production ones. Can be used for debugging production configuration locally.               |\n| `DEFAULT_LOG_LEVEL`   | Log level for the root logger. Can be `DEBUG`, `INFO`, `WARNING` (default), `ERROR`, or `CRITICAL`.                                                  |\n| `SENTRY_DSN`          | DSN of the project in Sentry. When not set, Sentry will be disabled.                                                                                 |\n| `SENTRY_RELEASE`      | Current release for Sentry reporting. Will be set to a short commit hash during deployment and baked to the Docker container.                        |\n| `SENTRY_ENVIRONMENT`  | Identifier of the environment for Sentry reporting. Set in `fly.toml` and `fly.prod.toml` for beta and production.                                   |\n| `HTTP_AUTH`           | When set, `nginx` will enable HTTP Basic Auth and use contents of this variable as its htpasswd file. No effect when running with Django dev server. |\n| `PRETALX_TOKEN`       | Token for authentication to the pretalx API.                                                                                                         |\n| `PRETALX_EVENT_SLUG`  | Slug of the pretalx event with speakers and submissions. Defaults to `pycon-cz-23`.                                                                  |\n\n## Deployment\nWe’re using [fly.io](https://fly.io). Deployment is automatic to [cz.pycon.org](https://cz.pycon.org) from `main` branch and to [beta (staging)](https://pycon-cz-beta.fly.dev) from `beta` branch.\n\nFor more control [install flyctl](https://fly.io/docs/hands-on/install-flyctl/).\n\n## Database and media synchronization\n\nThe following commands can be used to copy database and media files between environments:\n\n* `copy-db-prod-to-local`: Copy database from production to local container. Starts the container with the database when necessary.\n* `copy-media-prod-to-local`: Copy media files from production to `./data/mediafiles`.\n* `copy-db-prod-to-beta`: Copy database from production to beta, overwriting ALL data on beta. Operation is performed remotely.\n* `copy-media-prod-to-beta`: Copy media files from production to beta. The media files are copied to local folder and then uploaded to beta.\n\nAll command requires access to fly.io and `flyctl` must be installed. Before running these commands, [install flyctl](https://fly.io/docs/hands-on/install-flyctl/)\nand authenticate using the following command:\n\n```bash\nfly auth login\n```\n\nIf you use WSL, you need to perform additional step - see [official login instructions](https://fly.io/docs/hands-on/sign-in/).\n\n## Pretalx synchronization\n\nThe database of speakers, talks and workshops can be created and updated from pretalx event. To use the integration,\nset the `PRETALX_TOKEN` environment variable for the container.\n\nFor development, this can be done by creating an `.env` file in the project root and adding the variable:\n\n```shell\nPRETALX_TOKEN=\"\u003cYOUR TOKEN HERE\u003e\"\n```\n\nThe variable from this file will be automatically used by `docker compose`.\n\nYou can perform initial synchronization by running:\n\n```bash\nmake pretalx-sync-submissions\n```\n\n## Contributing\nIf you want to contribute, please run `make lint` before pushing BE code to format it. This step will be automated in the future.\n\n## Monitoring\nWe use [Sentry](https://sentry.monitora.cz/) to monitor both beta and production.\n\n## Debugging\n\u003cdetails\u003e\n  \u003csummary\u003eHow to restart machine in fly.io if something gets stuck\u003c/summary\u003e\n\n```\nfly machines list --app pycon-cz-beta-db\nfly machines restart machine-id --app pycon-cz-beta-db\n```\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyvec%2Fcz.pycon.org","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyvec%2Fcz.pycon.org","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyvec%2Fcz.pycon.org/lists"}