{"id":18647697,"url":"https://github.com/artcom/capistrano-asl","last_synced_at":"2025-11-05T07:30:29.326Z","repository":{"id":13281142,"uuid":"15966823","full_name":"artcom/capistrano-asl","owner":"artcom","description":"capistrano recipes for asl","archived":false,"fork":false,"pushed_at":"2014-06-27T15:06:32.000Z","size":192,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-12-27T12:22:36.624Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/artcom.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-01-16T12:11:00.000Z","updated_at":"2014-06-27T15:03:26.000Z","dependencies_parsed_at":"2022-09-18T06:20:51.475Z","dependency_job_id":null,"html_url":"https://github.com/artcom/capistrano-asl","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Fcapistrano-asl","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Fcapistrano-asl/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Fcapistrano-asl/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/artcom%2Fcapistrano-asl/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/artcom","download_url":"https://codeload.github.com/artcom/capistrano-asl/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239449669,"owners_count":19640561,"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-07T06:27:32.552Z","updated_at":"2025-11-05T07:30:29.277Z","avatar_url":"https://github.com/artcom.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"capistrano-watchdog\n===================\n\nRecipes for watchdog deployment with capistrano\n\n# Capistrano-y60 gem\nThis is a gem with a collection of tasks for deploying y60 applications.\n\n## Installing the gem\nBest way to install the gem is to use bundler. Therefore create a\nGemfile and add the following requirements:\n\n    source \"https://rubygems.org\"\n    gem \"capistrano\", \"\u003e=2.12.0\"\n    gem \"railsless-deploy\", \"\u003e=1.0.2\"\n    gem \"capistrano-ext\", \"\u003e=1.2.1\"\n    gem \"capistrano-y60\", \"\u003e=0.0.15\", :git =\u003e \"git://github.com/artcom/capistrano-y60.git\"\n\nCall `bundle install` to install all required gems\n\n## Usage\nIn your project repository or your deployment repository add the usual\ncapistrano hooks.\nThen edit the deploy.rb and add the following lines:\n\n    require 'artcom/capistrano-y60' \n    set :stages, %w(testing production)\n    set :content_dirs, %w(/path/to/content ..)\n    set :application, \"kids-table\"\n    set :repository, \"repo.git\" unless defined?(repository)\n\nNo other settings are required as they are predefined in capistrano-y60.\nYou can overwrite the defaults by just setting the value\n\n## Available tasks\n\nA list with all available deployment tasks can be seen with the command\n `cap -T`\n\n### Auto hooks\nDuring `deploy:setup` and deploy there are several tasks for setting up\nthe target system environment already hooked \n\n#### deploy:setup hooks\nDeploy:setup should only called once to setting up the target system environment.\nAfter `deploy:setup` the following tasks will be automatically called:\n\n    cap y60:update_environment                   # Setup environment variable 'Y60_DIR'\n    cap y60:update_ldconfig                      # Add asl/lib and y60/lib to ldconfig \n    cap watchdog:update_environment              # Setup environment variable 'WATCHDOG_DIR'\n    cap watchdog:update_ldconfig                 # Add asl/lib to ldconfig \n    cap y60:app:rsync_content                    # rsync content\n    cap y60:app:setup_directory_structure        # setup directory structure\n    cap y60:app:update_environment               # Set environment variable 'CONTENT_DIR'\n    cap y60:linux:add_autostart                  # Add autostart behaviour\n    cap y60:linux:add_kill_watchdog_desktop_link # Add kill watchdog Desktop link\n    cap y60:linux:add_startapp_desktop_link      # Add start App Desktop link\n\n#### deploy hooks\nThese tasks will be called everytime the project is deployed\nAfter `deploy:finalize_update` the following tasks will be automatically called:\n\n    cap y60:app:generate_app_settings_js         # generate app_settings.js\n    cap y60:app:generate_watchdog_xml            # generate watchdog.xml\n    cap y60:linux:generate_autostart_script      # generate application autostart script\n\n### Other tasks\nOther useful tasks are as follows:\n\n    cap linux:deploy_ssh_key                     # deploy ssh key\n    cap linux:reboot                             # Reboot the machine\n    cap linux:shutdown                           # shutdown the machine\n    cap y60:app:rsync_content                    # rsync content\n    cap y60:app:setup_directory_structure        # setup directory structure\n    cap y60:copy_binary                          # Copy Y60 engine including asl, watchdog\n    cap y60:linux:kill_watchdog                  # kill watchdog\n    cap y60:linux:restart_app                    # restart the app\n    cap y60:linux:start_app                      # start watchdog \u0026 application\n\n## Capistrano deployment structure\n\nCapistrano deploy_to folder:\n\n* releases - last x deployed releases for easy rollback\n* current - symlink to the last successfully deployed release\n* shared - folder for stuff that's not in the release and is shared over\n  the different releases like content or settings \n\n## A deployed target system layout \n\n### Application folder\nApplications are deployed into the home directory. \n\n* application folder includes:\n    * in shared/config  - the watchdog.xml and an autostart script which uses this watchdog.xml\n    * in shared/content - content like movies which are not in the git repository\n    * in shared/y60 - y60 engine\n    * in shared/asl - asl artcom standard library\n    * in shared/watchdog - watchdog\n\n### Autostart\n* ~/bin/autostart - script that executes all scripts in ~/Autostart during system startup\n* ~/Autostart - place for your autostart scripts that should start during system boot\n* ~/.config/autostart/autostart.sh.desktop - gnome autostart folder where a desktop link is placed that executes the script ~/bin/autostart\n\n### Environment\n* export scripts for Y60_DIR, WATCHDOG_DIR, CONTENT_DIR are placed in /etc/profile.d/ and helps the application to find all dependencies\n* to find asl and the y60 engine ldconfig config files are placed in /etc/ld.so.conf.d/\n* desktop links are placed in ~/Desktop to start the application and kill it\n \n## Deploying Y60, ASL, Watchdog\n\nBecause the target platform almost always differs from the development\nplatform, the deployment is based on building y60 engine elsewhere (e.q.\nVM) and then deploy it with capistrano.\nTherefore get yourself a y60.tar.gz with the engine and then deploy it\nwith `cap \u003cstage\u003e y60:copy_binary`.\n\n\n- - -\n*Copyright (c) [ART+COM AG](http://www.artcom.de/), Berlin Germany 2013 - Author: Gunnar Marten (gunnar.marten@artcom.de)*\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcom%2Fcapistrano-asl","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fartcom%2Fcapistrano-asl","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fartcom%2Fcapistrano-asl/lists"}