Standalone, django-based pastebin with image support.
Project description
xelpaste is a Django based pastebin, based on the dpaste project. It’s intended to run separately but it is also possible to be installed into an existing Django project like a regular app.
You can find a live example on http://xelpaste.org/.
Installation
You may install this software from your distribution packages, or through pip:
$ pip install xelpaste
Once installed, you must configure it. The minimal set of settings is the [db] section of the /etc/xelpaste/config.ini file (see below for details).
Once this is configured, you must prepare the database:
$ xelpastectl migrate
This will create the database; the last step is to point your WSGI server to xelpaste.wsgi.
Configuration
Xelpaste will read all configuration files matching /etc/xelpaste/*.ini. Those are ini-style files, defining the following parameters:
Application ([app])
General behavior of the application.
Options:
- mode
str, the application mode. Use dev for local development and prod otherwise.
- debug
bool, whether to enable debug. Valid values: on, off
- secret_key
str, REQUIRED in prod mode. A secret key for Django security hooks
Site ([site])
Hosting and URLs.
Options:
- name
str, the name of your site (xelpaste, mypaster, …).
- base_url
str, where your site is hosted. A trailing slash is required.
- assets_url
str, the URL where assets (CSS, JS, …) are served. May be a relative URL.
- admin_mail
str, the email where the admin should be notified.
- allowed_hosts
str list, comma-separated list of valid Host: HTTP headers. See Django docs for details.
Database ([db])
Required; these define where snippets will be stored. Valid options are:
- engine
str, the engine to choose. Must be one of sqlite, mysql, postgresql; default is sqlite.
- name
str, the name of the database, or its path for sqlite. Defaults to /var/lib/xelpaste/db.sqlite.
- host
str, the host of the database server.
- port
int, the port of the database server.
- user
str, the login to use to connect to the database server.
- password
str, the password for the database
Examples:
; A Postgresql configuration; uses default psql port.
[db]
engine = postgresql
name = xelpaste
host = psql42.local
; A sample sqlite configuration.
[db]
engine = sqlite
name = /data/replicated/xelpaste/db.sqlite
Snippets ([snippets])
Options for snippets behavior.
- slug_length
int, the length of the snippet tags.
- max_content
size, the maximum size of code snippets. Valid values include 10kB, 2MB, …
- max_file
size, the maximum size for uploads Valid values include 10kB, 2MB, …
Uploads ([uploads])
Options related to private file uploads.
- dir
path, storage folder for uploads. Must be writable by the WSGI process.
Example: /var/www/xelpaste/uploads
- serve
str, the file serving mode. xelpaste relies on django-sendfile to enhance performance and protection.
Valid options: simple, nginx, xsendfile, mod_wsgi.
- internal_url
str, the internal URL used by django-sendfile to serve the files.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for xelpaste-3.3.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d382d38dd57f428312772d7ff8056e8fccb176bb902d130d75b79859bb249be |
|
MD5 | bac28d91981dcc3cda8f058afc445d39 |
|
BLAKE2b-256 | a042fce444158f19e8a387ca2f1100fbecf050b6d9a3429fdd8342259034ae98 |