Skip to main content

Manage multiple lighttpd and Django or Flask websites on a single machine.

Project description

# simple-site-manager

This creates configuration files for lighttpd and django fcgi, based on a simple list of sites.
Templates are used for the output files so they can easily be modified and customised for your own sites.

You can either use a global config file or individual files for each project.

The project is in the early stages, barely tested. More to come. Born from the frustration I felt every time I wanted to delpoy a new python driven site...

# Install

Install from pypi:
```sh
pip install simple-site-manager
```

# Configure

## Example site list
```yaml
site1:
domain_name: example.com
# optional arguments
redirect_from_domains: ['www.example.com']
project_root_dir: /opt/django/site1/,
django_root_dir: /opt/django/site1/site1/,
fcgi_path: /opt/django/site1/site1/siteman-fcgi.py,
uploaded_dir: /opt/static/site1_uploaded/,
static_dir: /opt/static/site1/,
www_uploaded_path: /uploaded/,
www_static_path: /m/,
redirect_to_https: false,
virtual_env_dir: /opt/django/site1/env-site1/,
settings_module: site1.settings
max_procs: 3
```

### Defaults
The paths in the example above are the defaults if nothing is specified in the config file.
In a future versions you will be able to set your defaults yourself.

Here are some defaults:
```
root of your project: /opt/django/sitename/
fcgi file path (where manage.py is located): /opt/django/sitename/sitename/
static files: /opt/static/sitename/
static uploaded files: /opt/static/sitename_uploaded/
settings file: /opt/django/sitename/sitename/sitename/settings.py
settings module: sitename.settings
virtualenv path: /opt/django/sitename/env-sitename/
```

# Usage
```sh
siteman config_file.yaml
```
You will need to run it as root to write lighttpd configuration, feel free to use `--print` to preview the output files.

For additional usage options, just run `siteman -h`

# TODO

- More fine tuning of site performance settings.
- Store site fcgi config in /etc/siteman instead of each project's directory
- Store lighttpd conf files in /etc/siteman as well?

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simple-site-manager-0.1.7.tar.gz (5.8 kB view details)

Uploaded Source

File details

Details for the file simple-site-manager-0.1.7.tar.gz.

File metadata

File hashes

Hashes for simple-site-manager-0.1.7.tar.gz
Algorithm Hash digest
SHA256 a631303d2856f83ae055452052eaf63a3c8437fbd5b09aa586121fdcb3d5f088
MD5 6d628d7dd362a512a01cac2e19e16ef8
BLAKE2b-256 e8ccdd7d6001853d305cb8a2984d3b3c4757376cadf8eb903514bccc899f0ad3

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page