Skip to content
Find file
Fetching contributors…
Cannot retrieve contributors at this time
107 lines (76 sloc) 2.97 KB

Server setup

The server is using in Python, using the Flask web framework and SQLAlchemy for the models.

To install the server in a virtualenv do the following:

Clone the repository

```git clone git://

Create the virtualenv and activate it

$ virtualenv vpopcorn $ source vpopcorn/bin/activate

You will need the postgresql and python development files to install psycopg2 which
is a required dependency for popcorn you should install this using your
distribution's package manager. Example: `zypper install gcc python-devel postgresql-devel`

Set up your development environment. This will add the popcorn package
to your python path, but will not install it anywhere else. You can now
edit the files in the git clone directory and the changes will be
immediately visible to the server.

$ cd popcorn $ ./ develop

You can check that the unittests run fine

```$ ./ test```

### Setup the database

Install and setup postgresql-server for your distribution, then turn it
on. Create the popcorn user and database.

$ su - postgres $ createuser popcorn -P Enter password for new role: Enter it again: Shall the new role be a superuser? (y/n) n Shall the new role be allowed to create databases? (y/n) n Shall the new role be allowed to create more new roles? (y/n) n $ createdb popcorn --owner=popcorn

If you've set different values here than the default, edit `DB_ENGINE` in
 `popcorn/` and set them there as well

Setup the database to use md5 authentication for local users by editing your system's `pg_hba.conf` file and replacing these lines:

"local" is for Unix domain socket connections only

local all all ident sameuser

IPv4 local connections:

host all all ident sameuser

with these:

"local" is for Unix domain socket connections only

local all all md5

IPv4 local connections:

host all all md5

Initialize the database (installs tables and initial data).

```$ ./server/popcorn-server init_db

Start the server with the --debug flag (changes to files will cause the server to reload them immediately + nice traceback pages)

$ ./server/popcorn-server --debug
 * Running on
 * Restarting with reloader

You can now point your browser to (there won't be much to see).


In order to test the client, you will need to have the python-rpm package installed. It's easier to do this from outside the virtualenv, because virtualenv will hide your system's site-packages by default (and this is also how popcorn-client will run in the wild).

$ POPCORN_ENABLED=1 ./popcorn-client 
Submission received. Thanks!

If you now look on the popcorn webUI, you should see a lot of data about your currently installed packages.

Jump to Line
Something went wrong with that request. Please try again.