Coder Social home page Coder Social logo

pcp's Introduction

WSGIAdmin

Web interface for your server, based on Django and Python. It can handle a Python's applications through uWSGI and PHP applications through Apache and mod_fcgid. It's not complete yet, but we use it in production. We are working hard to make wsgiadmin to be the best solution for servers.

https://github.com/creckx/pcp/raw/master/stuff/screen1.png

TODO

  • e-mail redirects
  • master panel with cool things
  • VPS manager
  • Remove address from model, connect via JSONRPC with PCP-Invoices
  • Remove clients app, merge it with users
  • Provision system

Main features

  • Great Python support with virtualenv (Django, CherryPy and much more)
  • Less great PHP support - necessary evil
  • Nice static sites support
  • PostgreSQL, MySQL support
  • Bind support
  • Email via courier and postfix
  • FTP via pure-ftpd
  • Simple invoice system
  • IPv6 support

DEPS

project dependencies: * see requirements.txt

external dependencies: * uWSGI * Python 2.6, 2.7 * PostgreSQL 8.x (9.x not tested) or MySQL

Developers

Sponsored

You are welcome to join us, just click on the fork button up there.

-- Adam 'cx' Strauch [email protected]

pcp's People

Contributors

by-cx avatar encukou avatar rbas avatar vlinhart avatar yedpodtrzitko avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pcp's Issues

SSL field for sites

Add SSL field into Site model and modify the config templates for apache and nginx.

  • CRT
  • KEY
  • SSLTYPE
    • SSLONLY - redir HTTP to HTTPS
    • SSLFULLY - just HTTPS
    • SSLNORMAL - HTTP and HTTPS separate

Feedback form

Small button which show a small form for user feedback. Save to db with user instance a and send to superuser's emails.

broken tests

A lot of tests is now failing. Have you even tried to run them? .(

$ paver integrate


Ran 26 tests in 8.029s

FAILED (errors=3, failures=13)

cause:

Problem installing fixture '/home/yed/skript/rosti/pcp/tests/integrate_project/data/users.json': Traceback (most recent call last):
  File "/home/yed/skript/rosti/venv/lib/python2.7/site-packages/django/core/management/commands/loaddata.py", line 169, in handle
    for obj in objects:
  File "/home/yed/skript/rosti/venv/lib/python2.7/site-packages/django/core/serializers/json.py", line 35, in Deserializer
    for obj in PythonDeserializer(simplejson.load(stream), **options):
  File "/home/yed/skript/rosti/venv/lib/python2.7/site-packages/django/core/serializers/python.py", line 84, in Deserializer
    Model = _get_model(d["model"])
  File "/home/yed/skript/rosti/venv/lib/python2.7/site-packages/django/core/serializers/python.py", line 141, in _get_model
    raise base.DeserializationError(u"Invalid model identifier: '%s'" % model_identifier)
DeserializationError: Invalid model identifier: 'clients.address'

AAAA záznam

AAAA záznam je v zóně i když není IPv6 zapnuto -> bind to nedává

GID a UID emailu

V nastavení je potřeba přidat GID a UID pro maily (/var/mail)

Kill invoice system

Kill invoice system. Just log the activity and create API for 3rd party apps.

API:

  • Statistics by day per app
  • Statistics by day per user
  • User identification
  • App identification
  • List of apps
  • List of users
  • History

This will be the biggest feature.

Wipe passwords

Wipe není dobře řešenej. Když ladím, tak nevidím, co server ve skutečnosti dělá. Nebylo by lepší odstranit jen heslo a zbytek tam nechat?

Práva k doménám

Ověřování domén (zda byly zadány do seznamu) nejede jak má. Nefungují minimálně domény nižšího řádu.

Když je přidaná doména foo.cz, tak bar.foo.cz to už nebere.

broken dependency

when running runserver:
ImportError
No module named libvirt

happens here
pcp/wsgiadmin/virt/utils.py
import libvirt

not sure how to install libvirt into virtualenv, there doesn't seem to be anything on pip.

WSGI formulář - kuličky

Formulář pro přidávání WSGI app má u jednoho pole seznam a u něj jsou kuličky. Nutno odstylovat.

Default database list

In databases, it gives nothing (None) by default. We should decide if prefer just one database type or show blank page or page with big buttons MySQL/PGSQL.

Master panel

Reload/restart/start/stop apps
Bind zone reloader (create updated zones)
Stats of usage (from invoice API)

Tests

Make more tests.... more more more. Details later

broken project's dependencies

added new dependency which is missing from requirements.txt

manage.py runserver throw ImportError:

    __import__(name)
  File "./../wsgiadmin/clients/models.py", line 11, in <module>
    from jsonrpc.proxy import ServiceProxy
ImportError: cannot import name ServiceProxy

Always add new dependency into requirements.txt, pls. It's a common habit.

Internal commit

Make request'ss commit internal. It makes problems when it commit throw HTTP, because restart of a webserver kills the commit.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.