Skip to content
Snippets Groups Projects
boxfile.yml 5.95 KiB
run.config:
  engine: ruby
  engine.config:
    runtime: ruby-2.5

  extra_packages:
    # basic servers:
    - nginx
    - nodejs

    # for images:
    - ImageMagick
    - jemalloc

    # for videos:
    - ffmpeg3

    # to prep the .env file:
    - gettext-tools

    # for node-gyp, used in the asset compilation process:
    - python-2

    # i18n:
    - libidn

  cache_dirs:
    - node_modules

  extra_path_dirs:
    - node_modules/.bin

  build_triggers:
    - .ruby-version
    - Gemfile
    - Gemfile.lock
    - package.json
    - yarn.lock

  extra_steps:
    - cp .env.nanobox .env
    - yarn

  fs_watch: true


deploy.config:
  extra_steps:
    - NODE_ENV=production bundle exec rake assets:precompile
  transform:
    - "envsubst < /app/.env.nanobox > /app/.env.production"
    - |-
        if [ -z "$LOCAL_DOMAIN" ]
        then
          . /app/.env.production
          export LOCAL_DOMAIN
        fi
        erb /app/nanobox/nginx-web.conf.erb > /app/nanobox/nginx-web.conf
        erb /app/nanobox/nginx-stream.conf.erb > /app/nanobox/nginx-stream.conf
    - touch /app/log/production.log
  before_live:
    web.web:
      - bin/tootctl cache clear
      - bundle exec rake db:migrate:setup
  after_live:
    worker.sidekiq:
      - |-
          if [[ "${ES_ENABLED}" != "false" ]]
          then
            bin/tootctl search deploy