Browse Source

README instructions improved

master
Dirk Alders 3 years ago
parent
commit
0e7664e059
3 changed files with 111 additions and 11 deletions
  1. 92
    2
      README.md
  2. 16
    3
      config_example/config.py
  3. 3
    6
      main/settings.py

+ 92
- 2
README.md View File

1
-# pygal
1
+# PyGal
2
 
2
 
3
-Python Galery
3
+Python Galery
4
+
5
+----
6
+## Installation
7
+----
8
+### Get the repository
9
+####Go to the subfolder, where you want to create your new PaTT-Application (here ~/tmp)
10
+    cd ~/tmp
11
+#### Clone the repository
12
+    git clone https://git.mount-mockery.de/application/pygal.git
13
+#### Change to your repository and initialise it completely
14
+    cd pygal
15
+    git submodule init
16
+    git submodule update
17
+
18
+
19
+### Create your virtual environment
20
+#### Create python3 environment
21
+    virtualenv -p /usr/bin/python3 venv
22
+#### Activate the environment
23
+    source activate
24
+#### Upgrade all outdated packages
25
+    pip list -o --format freeze|cut -d '=' -f 1 | xargs pip install $1 --upgrade
26
+#### Install PaTT Requirements
27
+    pip install -r requirements.txt
28
+
29
+----
30
+## Configuration and Initialisation of PyGal
31
+----
32
+### Create your config File
33
+#### Copy the config example
34
+    cp config_example/config.py .
35
+    chmod 700 config.py
36
+
37
+#### Set a secret key
38
+Edit config.py and add a SECRET_KEY. Generate the secret e.g by executing the following command:
39
+
40
+    python manage.py
41
+
42
+At the End of the error message you'll see a random secret:
43
+
44
+KeyError: "You need to create a config.py file including at least a SECRET_KEY definition (e.g.: --> **'HERE IS THE RANDOM SECRET ;-)'** <--)."
45
+
46
+
47
+### Create your initial database and first user for PyGal
48
+    python manage.py migrate
49
+    python manage.py createsuperuser
50
+
51
+### Finalise Configuration
52
+Now there are two ways to finalise your configuration. The first way is for a test or development system. The other is for a production System.
53
+
54
+1. **Test or development System:** Edit
55
+    config.py
56
+and set the Variable
57
+    DEBUG
58
+to
59
+    True.
60
+
61
+2. **Production System:** Edit
62
+    config.py
63
+and set the Variable ALLOWED_HOSTS. Execute
64
+    "python manage.py collectstatic" to create a folder including all static files. Then add PaTT to your server configuration. See also [Django Documnetation](https://docs.djangoproject.com/en/3.1/howto/deployment/) for further information.
65
+
66
+----
67
+## Start the Test or development System
68
+----
69
+### Go to the folder, where your PyGal-Application is locates (here ~/tmp/pygal)
70
+    cd ~/tmp/pygal
71
+
72
+###Activate your Virtual Environment
73
+    source activate
74
+
75
+###Start the Server
76
+    python manage.py runserver
77
+
78
+
79
+[comment]: <> (----)
80
+[comment]: <> (## Backup))
81
+[comment]: <> (----)
82
+[comment]: <> (### Create Backup files)
83
+
84
+
85
+[comment]: <> (### Restore Backup)
86
+
87
+[comment]: <> (    source venv/bin/activate)
88
+
89
+[comment]: <> (If you are starting without a database, you need to create one)
90
+
91
+[comment]: <> (    python manage.py migrate)
92
+
93
+[comment]: <> (Afterward add data...)

+ 16
- 3
config_example/config.py View File

5
 #
5
 #
6
 # General settings
6
 # General settings
7
 #
7
 #
8
+
9
+# SECURITY WARNING: don't run with debug turned on in production!
10
+# DEBUG = False
11
+
12
+# SECURITY WARNING: don't run with a dummy secret in production!
8
 # SECRET_KEY = 'define a secret key'
13
 # SECRET_KEY = 'define a secret key'
14
+
15
+# SECURITY WARNING: don't run with '0.0.0.0' in in production, unless you know what you are doing!
16
+# ALLOWED_HOSTS = ['127.0.0.1', ]
17
+
9
 #
18
 #
10
 # ITEM_ROOT = os.path.join(BASE_DIR, 'data', 'example_data')
19
 # ITEM_ROOT = os.path.join(BASE_DIR, 'data', 'example_data')
11
-# ALLOWED_HOSTS = []
12
 
20
 
13
 #
21
 #
14
 # Access Right settings
22
 # Access Right settings
15
 #
23
 #
16
-# SUSPEND_PUBLIC = True        # Set this to True to ensure, that unauthenticated users have no permission
24
+
25
+# Set this to True to ensure, that unauthenticated users have no permission
26
+# SUSPEND_PUBLIC = True
17
 
27
 
18
 #
28
 #
19
 # Style settings
29
 # Style settings
20
 #
30
 #
31
+
21
 # DEFAULT_THEME = 'clear-red'
32
 # DEFAULT_THEME = 'clear-red'
22
 # THUMBNAIL_SIZES = [137, 175, 250]
33
 # THUMBNAIL_SIZES = [137, 175, 250]
23
 # WEBNAIL_SIZES = [450, 1100, 1750]
34
 # WEBNAIL_SIZES = [450, 1100, 1750]
25
 #
36
 #
26
 # Content settings
37
 # Content settings
27
 #
38
 #
28
-# SORT_BY_DATE = True          # Sorting by name if False
39
+
40
+# Sorting by name if False
41
+# SORT_BY_DATE = True
29
 # SHOW_IMAGE = True
42
 # SHOW_IMAGE = True
30
 # SHOW_VIDEO = True
43
 # SHOW_VIDEO = True
31
 # SHOW_AUDIO = False
44
 # SHOW_AUDIO = False

+ 3
- 6
main/settings.py View File

31
 # Default values, if not defined in config.py
31
 # Default values, if not defined in config.py
32
 #
32
 #
33
 USER_CONFIG_DEFAULTS = {
33
 USER_CONFIG_DEFAULTS = {
34
+    'DEBUG': False,
34
     'SECRET_KEY': None,
35
     'SECRET_KEY': None,
36
+    'ALLOWED_HOSTS': ['127.0.0.1', ],
35
     'DEFAULT_THEME': 'clear-red',
37
     'DEFAULT_THEME': 'clear-red',
36
-    'ALLOWED_HOSTS': [],
37
     'ITEM_ROOT': os.path.join(BASE_DIR, 'data', 'example_data'),
38
     'ITEM_ROOT': os.path.join(BASE_DIR, 'data', 'example_data'),
38
     'THUMBNAIL_SIZES': [137, 175, 250],
39
     'THUMBNAIL_SIZES': [137, 175, 250],
39
     'WEBNAIL_SIZES': [450, 1100, 1750],
40
     'WEBNAIL_SIZES': [450, 1100, 1750],
63
 if SECRET_KEY is None:
64
 if SECRET_KEY is None:
64
     chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
65
     chars = 'abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(-_=+)'
65
     s_key = ''.join([random.choice(chars) for n in range(50)])
66
     s_key = ''.join([random.choice(chars) for n in range(50)])
66
-    secret_key_warning = "You need to create a config.py file including a variable config which is a dict  with at least a SECRET_KEY definition (e.g.: %s)." % repr(s_key)
67
+    secret_key_warning = "You need to create a config.py file including at least a SECRET_KEY definition (e.g.: %s)." % repr(s_key)
67
     raise KeyError(secret_key_warning)
68
     raise KeyError(secret_key_warning)
68
 
69
 
69
-# SECURITY WARNING: don't run with debug turned on in production!
70
-#
71
-DEBUG = False
72
-
73
 
70
 
74
 # Application definition
71
 # Application definition
75
 #
72
 #

Loading…
Cancel
Save