{"id":13395751,"url":"https://github.com/frab/frab","last_synced_at":"2026-03-14T05:35:29.016Z","repository":{"id":2083797,"uuid":"1479403","full_name":"frab/frab","owner":"frab","description":"conference management system","archived":false,"fork":false,"pushed_at":"2024-04-11T13:39:04.000Z","size":6500,"stargazers_count":691,"open_issues_count":97,"forks_count":150,"subscribers_count":32,"default_branch":"main","last_synced_at":"2024-04-11T15:07:34.502Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"https://frab.github.io/frab/","language":"Ruby","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/frab.png","metadata":{"files":{"readme":"README.PaaS.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"custom":[]}},"created_at":"2011-03-14T18:11:57.000Z","updated_at":"2024-04-15T15:21:30.435Z","dependencies_parsed_at":"2023-07-06T10:46:04.595Z","dependency_job_id":"2ce044e0-3514-48d5-a757-2c909d45a661","html_url":"https://github.com/frab/frab","commit_stats":{"total_commits":2129,"total_committers":68,"mean_commits":"31.308823529411764","dds":0.7407233442930954,"last_synced_commit":"7bccac5653c67e403cc5436b8ad8465efa21798d"},"previous_names":[],"tags_count":13,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frab%2Ffrab","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frab%2Ffrab/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frab%2Ffrab/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/frab%2Ffrab/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/frab","download_url":"https://codeload.github.com/frab/frab/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243493219,"owners_count":20299614,"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":["hacktoberfest"],"created_at":"2024-07-30T18:00:30.955Z","updated_at":"2025-12-16T22:18:24.047Z","avatar_url":"https://github.com/frab.png","language":"Ruby","funding_links":[],"categories":["Event Organisation","Ruby","hacktoberfest","Herramientas"],"sub_categories":["Gestión de eventos"],"readme":"# Deploying Frab with Dokku\n\n[Dokku](http://dokku.viewdocs.io/dokku/) is a Platform-as-a-Service (PaaS) engine which allows for simple `git push` deployments.\nIt builds on [`herokuish`](https://github.com/gliderlabs/herokuish) and is highly customizable via [plugins](http://dokku.viewdocs.io/dokku/plugins/).\n\nTo deploy a Frab application with `dokku`, please proceed as follows from within your local source repository.\n\n## 1. Setting up Dokku\n\nFrom your local machine SSH into your server, or create a simple shell alias to access Dokku (`alias dokku='ssh -t dokku@\u003cDOKKU_HOST\u003e'`). Check if `dokku version` works.\n\nYou will also need to install [the PostgreSQL](https://github.com/dokku/dokku-postgres) and [Let's Encrypt](https://github.com/dokku/dokku-letsencrypt) plugins.\n\n    sudo dokku plugin:install https://github.com/dokku/dokku-postgres.git\n\n    sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt\n\nYou can then proceed setting up your application.\n\n    dokku apps:create \u003cAPP_NAME\u003e\n\n## 2. Setting up frab\n\nFor your application you need\n\n1. an [environmental configuration](http://12factor.net/config),\n2. an [attached database](http://12factor.net/backing-services) and\n3. a valid TLS setup due to Rails' [CSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery) protection.\n\n### Environmental configuration\n\nYour local `.env` environment file could then look similarly to\n\n```\nSECRET_KEY_BASE=\u003cshould_be_longer_than_32_chars, 'pwgen 32' suffices\u003e\nFRAB_HOST=\u003cAPP_FQDN=APP_NAME.DOKKU_HOST\u003e\nFRAB_PROTOCOL=\u003chttp|https\u003e\nFROM_EMAIL=\u003csender@host.tld\u003e\nSMTP_ADDRESS=\u003cSMTP MX\u003e\nSMTP_PORT=25\nSMTP_NOTLS=\u003ctrue|false\u003e\nSMTP_USER_NAME=\nSMTP_PASSWORD=\nBUNDLE_WITHOUT=development:test:mysql:sqlite3\nRAILS_SERVE_STATIC_FILES=true\n```\n\nHere is an example .env file using SMTP with TLS:\n\n```\nSECRET_KEY_BASE=eem4ohxaeXu4aem3chohThooZeecei4w\nFRAB_HOST=subdomain.domain.com\nFRAB_PROTOCOL=https\nFROM_EMAIL=sender@host.tld\nSMTP_ADDRESS=smtp.host.com\nSMTP_PORT=587\nSMTP_NOTLS=false\nSMTP_USER_NAME=user\nSMTP_PASSWORD=em3chohThooZeec\nBUNDLE_WITHOUT=development:test:mysql:sqlite3\nRAILS_SERVE_STATIC_FILES=true\n\n```\n\nPipe this configuration to Dokku with\n\n    dokku config:set \u003cAPP_NAME\u003e `paste -d \" \" -s .env`\n\n### Database setup\n\nThe associated database service is created and linked with\n\n    dokku postgresql:create \u003cDB_NAME\u003e\n    dokku postgresql:link \u003cDB_NAME\u003e \u003cAPP_NAME\u003e\n\n`dokku config \u003cAPP_NAME\u003e` should now report your whole configuration.\n\n### TLS setup\n\nThis will only work after your application is (already partly) running, due to the way the Let's Encrypt plugin works, so let's\n\n## 3. Deploy Frab!\n\nAdd the desired `APP_FQDN` domain to the application and remove the standard Dokku subdomain `APP_NAME.DOKKU_HOST` for later generation of a valid TLS certificate.\n\n### domain configuration\n\n    dokku domains:add \u003cAPP_NAME\u003e \u003cAPP_FQDN\u003e\n    dokku domains:remove \u003cAPP_NAME\u003e \u003cAPP_NAME.DOKKU_HOST\u003e\n\nOnly then deploy your app via git.\n\n### Git deployment\n\nIn the folder of your local frab repo on your local machine, run:\n\n    git remote add dokku dokku@\u003cDOKKU_HOST\u003e:\u003cAPP_NAME\u003e\n    git push dokku master\n\n\u003e On Windows, git and SSH are sometimes tricky to get working on the command-line. If you are getting errors like:\n\n```\nPermission denied (publickey).\nfatal: Could not read from remote repository.\n```\n\n\u003e Use Sourcetree and add your Dokku private SSH key there via \"Tools \u003e Launch SSH Agent\". Then push via Sourcetree to your dokku remote (select from dropdown).\n\n### Troubleshooting\n\nIf push fails, maybe you need to delete the Dockerfile in your repo, so that dokku will know to build using herokuish.\n\n### TLS setup\n\nTo omit an appearing **502 Bad Gateway** error, we finish the TLS setup.\n\nConfigure your email address:\n\n    dokku config:set --no-restart \u003cAPP_NAME\u003e DOKKU_LETSENCRYPT_EMAIL=\u003cYOUR_EMAIL\u003e\n\nSet a custom domain that you own for your application:\n\n    dokku domains:set \u003cAPP_NAME\u003e your.domain.com\n\nEnable letsencrypt:\n\n    dokku letsencrypt:enable \u003cAPP_NAME\u003e\n\nOptionally: Enable auto-renewal:\n\n    dokku letsencrypt:cron-job --add\n\n### Seed the Database\n\nAfter this has completed successfully, manually load the database schema\n\n    dokku run \u003cAPP_NAME\u003e bundle exec rake db:setup\n\nYour application should be running at `https://\u003cAPP_FQDN\u003e`. If not, you may have to\n\n### Configure Ports\n\ndokku proxy:ports-set \u003cAPP_NAME\u003e http:80:3000 https:443:3000\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrab%2Ffrab","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffrab%2Ffrab","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffrab%2Ffrab/lists"}