{"id":29215557,"url":"https://github.com/tessi/capistrano-uberspace","last_synced_at":"2025-07-03T00:33:14.969Z","repository":{"id":31408917,"uuid":"34972218","full_name":"tessi/capistrano-uberspace","owner":"tessi","description":"Deploy your rails app on an uberspace with Capistrano 3","archived":false,"fork":false,"pushed_at":"2019-10-19T20:28:10.000Z","size":42,"stargazers_count":15,"open_issues_count":3,"forks_count":7,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-08T22:15:04.191Z","etag":null,"topics":["capistrano","deployment","ruby","uberspace"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","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/tessi.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2015-05-03T03:20:19.000Z","updated_at":"2025-05-02T02:37:49.000Z","dependencies_parsed_at":"2022-08-29T10:51:26.433Z","dependency_job_id":null,"html_url":"https://github.com/tessi/capistrano-uberspace","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/tessi/capistrano-uberspace","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessi%2Fcapistrano-uberspace","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessi%2Fcapistrano-uberspace/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessi%2Fcapistrano-uberspace/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessi%2Fcapistrano-uberspace/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tessi","download_url":"https://codeload.github.com/tessi/capistrano-uberspace/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tessi%2Fcapistrano-uberspace/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263239250,"owners_count":23435645,"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":["capistrano","deployment","ruby","uberspace"],"created_at":"2025-07-03T00:33:14.416Z","updated_at":"2025-07-03T00:33:14.954Z","avatar_url":"https://github.com/tessi.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Capistrano::Uberspace\n\nDeploy your Rails App to [uberspace](http://uberspace.de) with Capistrano 3.\n\nHas support for many databases, ruby versions, and ruby web server.\n\nNote: It seems that for new uberspaces (on the uberspace version 7 platform) we get some errors. Any help in fixing these is highly appreciated. See https://github.com/tessi/capistrano-uberspace/issues/15\n\n## Installation\n\nAdd this to your application's Gemfile:\n\n```ruby\n# Gemfile\n\ngroup :development do\n  gem 'capistrano', '~\u003e 3.4.0'\n  gem 'capistrano-uberspace', github: 'tessi/capistrano-uberspace'\nend\n```\n\nAnd then execute:\n\n    $ bundle install\n\nIn your `config/deploy.rb` file specify some app properties.\n\n```ruby\n# config/deploy.rb\n\nset :application, 'MyGreatApp'\nset :repo_url, 'git@github.com:tessi.my_great_app.git'\n```\n\nNote: We strongly advice you to deploy only one app per uberspace account. Should you *really* want to deploy multiple apps (or the same app with different stages) on the same uberspace, make sure to set the `application` to something unique for each app. (for instance set `application` to be `my-application-production` in `config/deploy/production.rb` and `my-application-staging` `config/deploy/staging.rb`).\n\nAlso specify how to reach the uberspace server in your stage definition (e.g. `production.rb`):\n\n```ruby\n# config/deploy/production.rb\n\nserver 'your-host.uberspace.de',\n       user: 'uberspace-user',\n       roles: [:app, :web, :cron, :db],\n       primary: true,\n       ssh_options: {\n         keys: %w{~/.ssh/your_uberspace_private_key},\n         forward_agent: true,\n         auth_methods: %w(publickey)\n       }\n\nset :user, 'uberspace-user'\nset :environment, :production\nset :branch, :production\nset :domain, 'my-subdomain.example.tld'\n```\n\nBe sure to [setup the ssh-connection to your uberspace](https://wiki.uberspace.de/system:ssh#login_mit_ssh-schluessel1).\n\nRequire the following parts in your `Capfile`:\n\n```ruby\n# Capfile\n\nrequire 'capistrano/bundler'\nrequire 'capistrano/rails'\nrequire 'capistrano/rails/assets'\nrequire 'capistrano/rails/migrations'\nrequire 'capistrano/uberspace'\n```\n\nNote that all require's (except `capistrano/uberspace` of course) is what you usually require for a rails app. Feel free to change those parts however you desire.\n\nThis will deploy your app with postgres and passenger as defaults.\nYou may choose to use a different database or ruby server.\nRead about it in [Choosing another database backend](#choosing-another-database-backend) or [Choosing another ruby server](#choosing-another-ruby-server).\n\n### Choosing another database backend\n\nWe use `postgresql` as the default database backend.\nHowever, you are free to use `mysql` or `sqlite3` if you fancy that.\n\nDo so by requiring your favourite database backend in your `Capfile`:\n\n```ruby\n# Capfile\n\nrequire 'capistrano/uberspace/\u003cdatabase\u003e'  # replace \u003cdatabase\u003e with mysql, postgresql, or sqlite3\n```\n\nDon't forget to add your database-gem as a production dependency to your `Gemfile`.\n\n### Choosing another ruby server\n\nWe use `passenger` as the default server.\nHowever, you may want to use `puma` (or like to explicitly specify `passenger`).\n\nDo so by requiring your favourite server in your `Capfile`:\n\n```ruby\n# Capfile\n\nrequire 'capistrano/uberspace/puma' # replace puma with passenger, if you prefer passenger\n```\n\nDon't forget to add your server-gem as a production dependency to your `Gemfile`.\n\n## Usage\n\nExecute `bundle exec cap \u003cstage\u003e deploy` to deploy to your uberspace.\n\nConfigurable options:\n\n```ruby\nset :ruby_version, '2.2'  # default is '2.3.1', can be set to every ruby version supported by uberspace.\nset :domain, nil          # if you want to deploy your app as a subdomain, configure it here. Use the full URI. E.g. my-custom.example.tld\nset :add_www_domain, true # default: true; set this to false if you do not want to also use your subdomain with prefixed www.\n\n# optionally, you can enable http basic auth with:\nset :htaccess_username, \"username\"\nset :htaccess_password, \"password\"\n# instead of the :htaccess_password you may set the hashed password directly:\n# set :htaccess_password_hashed, \"bi2wsSekmG6Yw\"\n```\n\nUseful tasks:\n\n```ruby\ndeploy:start      # starts the server\ndeploy:stop       # stops the server\ndeploy:restart    # restarts the server (automatically done after deploy)\ndeploy:status     # shows the current status of the deamon which runs passenger\nuberspace:db:dump # downloads the latest available backup of your remote database to tmp/dump.{sql,sqlite3}\n```\n\n## Contributing\n\n1. Fork it\n2. Create your feature branch (`git checkout -b my-new-feature`)\n3. Commit your changes (`git commit -am 'Add some feature'`)\n4. Push to the branch (`git push origin my-new-feature`)\n5. Create new Pull Request\n\nFor new features, it's best to discuss the idea (in a new issue) before implementing. We might come to a better solution together and save you some work.\n\n## Thanks\n\nThis gem was inspired by the awesome [uberspacify](https://github.com/yeah/uberspacify) gem, which lets you deploy your Rails app to uberspace with Capistrano 2.\n\n## License\n\nThis project is licensed under the MIT License. See the `LICENSE` file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftessi%2Fcapistrano-uberspace","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftessi%2Fcapistrano-uberspace","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftessi%2Fcapistrano-uberspace/lists"}