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?
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
File details
Details for the file simple-site-manager-0.1.7.tar.gz
.
File metadata
- Download URL: simple-site-manager-0.1.7.tar.gz
- Upload date:
- Size: 5.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a631303d2856f83ae055452052eaf63a3c8437fbd5b09aa586121fdcb3d5f088 |
|
MD5 | 6d628d7dd362a512a01cac2e19e16ef8 |
|
BLAKE2b-256 | e8ccdd7d6001853d305cb8a2984d3b3c4757376cadf8eb903514bccc899f0ad3 |