- Notifications
You must be signed in to change notification settings - Fork10
iTunes Store Transporter GUI: GUI and workflow automation for the iTunes Store’s Transporter (iTMSTransporter)
sshaw/itunes_store_transporter_web
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
GUI and workflow automation for the iTunes Store's Transporter (iTMSTransporter)
...and more!
- Ruby >= 1.9 and < 2.5
- iTunes Store Transporter
- A database driver
In most cases the database driver must be compiled against an underlying database library.You mustinstall the underlying library yourself.Theinstallation script will only attempt to install theRuby portion which will fail if the underlying library is not found.
Checkoutour Docker section of the wiki.
System specific instructions can be foundhere.Otherwise:
unzip itunes_store_transporter_web-VERSION.zipcd itunes_store_transporter_web-VERSIONruby ./install.rb
For installation options seeruby ./install.rb --help
.
Note that runninginstall.rb
doesnot install the iTunes Store Transporter (iTMSTransporter
). If you're on OS Xyou can install the Transporter byinstalling Xcode.Otherwise, you'll have tocreate an iTunes Connect accountand install it yourself.
Start the webserver
./bin/itmsweb start
Start the worker
./bin/itmsworker
In this sectionROOT
refers to the directory containing the website.
Configuration options can be set inROOT/config/itmsweb.yml
or viaenvironment variables. Environment variables have precedence over values in the config file.
The environment variable examples assume ansh
-like shell on GNU/Linux.
Database configuration is contained within thedatabase
section of the configuration file (ROOT/config/itmsweb.yml
).It is used by the web serverand the worker.
By default it will contain the information provided to the install script. Here's an example:
# itmsweb.ymldatabase: adapter: mysql2 # DB driver (or sqlite3, postgresql, etc...) database: itmsweb # DB table host: db.example.com username: sshaw password: ______Weee!@$%
SetITMS_DATABASE_URL
to the appropriate connection string.
Example:
# SQLiteexport ITMS_DATABASE_URL=sqlite3:path/to/database?timeout=5000# MySQLexport ITMS_DATABASE_URL=mysql2://username:password@hostname/database
cd ROOT./bin/itmsweb start # start the server on 0.0.0.0 port 3000./bin/itmsweb stop
itmsweb <start|stop|restart> [OPTIONS]start options:-h HOST # Bind to HOST address-p PORT # Use PORT, default: 3000-d # Run daemonized in the background-i PID # Use PID as the PID file, default: ROOT/tmp/pids/server.pid-a HANDLER # Rack Handler (default: autodetect)stop options:-i PID # Path to PID file of running process# Required if you started the server with a custom PID path
Errors are logged toROOT/log/production.log
.
Jobs created through the website are added to the jobs queue. In order for jobs in the queue to be processed aworker process (or many workers processes) must be running.
The default worker process will run jobs, send email notifications, and execute job hooks.Depending on the type of workload you have (for example, a lot of pending jobs or long-running jobs hooks),it may be a good idea to start a worker process dedicated to a specific task.This can be done by passing a parameter to theitmsworker
worker command specify the type of jobs it should process:
./bin/itmsworker TYPE
WhereTYPE
isnotifications
,hooks
, orjobs
.
jobs
is the default, it will process everything.
The default (jobs
) worker supports theMIN_PRIORITY
and/orMAX_PRIORITY
environment variables. These limit the worker tojobs with certain priorities.
MIN_PRIORITY=high ./bin/itmsworker jobs
A job's priority can be set when the job is submitted.
TODO
The file browser's root directory defaults to the root directory of the machine running the webserver (that's"/"
, not the web server's document root). On Windows the machine's volumes (C:
,D:
, etc...) will beused instead.
Note that all directoriesmust be accessable by the worker process.
This can be changed by settingfile_browser_root_directory
to the path of the desired root directory.A list of root directories can also be used
# itmsweb.ymlfile_browser_root_directory: /mnt/nas# other options...# Or, restrict it to a set of directoriesfile_browser_root_directory: - /mnt/nas01 - /mnt/nas02
SetITMS_FILE_BROWSER_ROOT_DIRECTORY
to the desired directory. Multiple directories can be separated by a colon (:
).
Example:
export ITMS_FILE_BROWSER_ROOT_DIRECTORY=/some/root/directory# Use multiple rootsexport ITMS_FILE_BROWSER_ROOT_DIRECTORY=/root/one:/root/two
There is a difference between using a single root directory and using a set of directories: if you use a single root directorythe file browser will deault to displayingall the files under that directory.If multiple root directories are used the browser will default to displaying the namesof these directories,not their contents.
By default theiTMSTransporter
path can be set by visiting the config page. For client/server (i.e., non-local)setups it might be desirable to prevent users from changing it. This can be done by setting theallow_select_transporter_path
option tofalse
. This will prevent the config page from displaying theiTMSTransporter
path dialog.
It's best to set this optionafter setting theiTMSTransporter
path, as there is currentlyno concept of users and roles so when this is set tofalse
no one will be able to change the path.
# itmsweb.ymlallow_select_transporter_path: false# other options...
SetITMS_ALLOW_SELECT_TRANSPORTER_PATH
to"false"
to disable.
Everytime a worker process runsiTMSTransporter
its output is saved and made available through the website.By default the output logs are saved inROOT/var/lib/output
. This location can be changed by setting theoutput_log_directory
option to the desired directory.
This directorymust be accessible by the workerand website processes.
# itmsweb.ymloutput_log_directory: /mnt/log/itunes# other options...
SetITMS_OUTPUT_LOG_DIRECTORY
to the desired directory.
Example:
export ITMS_OUTPUT_LOG_DIRECTORY=/some/directory
Made byScreenStaring
About
iTunes Store Transporter GUI: GUI and workflow automation for the iTunes Store’s Transporter (iTMSTransporter)
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors2
Uh oh!
There was an error while loading.Please reload this page.