Boxlet
Boxlet is a server + mobile app system that allows you to take advantage of free space on any cloud server you have ssh access to as a backup/sync for your photos.
Boxlet is also compatible with storing files on Amazon S3.
From the mobile iOS app, you can specify any server:port where the Boxlet server is running to sync and backup your photos to a remote server.
Dependencies
- Ruby 2.0+ (Has been tested in 2.0 and 2.1.1)
- MongoDB 2.4+
- Linux server with free drive space and an open port
- iOS 7.1 (iPhone app)
Installation
gem install boxlet
Usage
Run boxlet run
from any folder to stat the server with default settings.
See below for config and parameters.
Config
Here's a sample Boxlet configuration file config.yml
with default values populated:
# config.yml
# Environment
environment: development
debug: true
# File system parameters
path: ./
upload_dir: ./uploads
tmp_dir: /tmp
file_system_root: /
# Capacity is either a percentage of available space on the drive or number in MB
capacity: 90%
# Server type and listen parameters
port: 8077
host: localhost
server_type: thin
daemonize: false
#use s3
s3:
enabled: false
access_key_id:
secret_access_key:
bucket: boxlet
# Database config
db:
development:
host: localhost
db: boxlet_dev
production:
host: localhost
# port:
# user:
# pass:
db: boxlet
Many config options are available as command-line parameters
- Path:
-f
or--path
- Default:
./
- Default:
- Port:
-p
or--port
- Default:
8077
- Default:
- Host:
-o
or--host
- Default:
localhost
- Public:
0.0.0.0
- Default:
- Server Type:
-s
or--server_type
- Default:
rack
- Default:
- Environment:
-E
or--environment
- Default:
development
- Default:
- Daemonize:
-D
or--daemonize
- Default:
false
- Default:
- Debug:
-d
or--debug
- Default:
true
- Default:
- Upload Directory:
-U
or--upload_dir
- Default:
./uploads
- Default:
- Temp Directory:
-T
or--tmp_dir
- Default:
./tmp
- Default:
- File System Root:
-r
or--file_system_root
- Default:
/
- Default:
- Capacity:
-C
or--capacity
- Default:
90%
- Default:
Contributing
- Fork this repo
- Create an issue/feature request
- Create, commit, and push your feature branch (my-new-feature)
- Create new Pull Request