issue #23 add docu in readme #27
@@ -1 +1,2 @@
 | 
				
			|||||||
start_server.sh
 | 
					start_server.sh
 | 
				
			||||||
 | 
					run/*
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,6 +5,7 @@ services:
 | 
				
			|||||||
  shimatta-kenkyusho-web:
 | 
					  shimatta-kenkyusho-web:
 | 
				
			||||||
    <<: *restart_policy
 | 
					    <<: *restart_policy
 | 
				
			||||||
    build: .
 | 
					    build: .
 | 
				
			||||||
 | 
					    user: "${DJANGO_USER_ID}:${DJANGO_USER_GID}"
 | 
				
			||||||
    volumes:
 | 
					    volumes:
 | 
				
			||||||
      - "${DJANGO_STATIC_VOL:-./run/static}:/var/static"
 | 
					      - "${DJANGO_STATIC_VOL:-./run/static}:/var/static"
 | 
				
			||||||
      - "${DJANGO_MEDIA_VOL:-./run/media}:/var/media"
 | 
					      - "${DJANGO_MEDIA_VOL:-./run/media}:/var/media"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -3,4 +3,6 @@ source /home/shimatta/kenkyusho/.venv/bin/activate
 | 
				
			|||||||
cd /home/shimatta/kenkyusho/shimatta_kenkyusho
 | 
					cd /home/shimatta/kenkyusho/shimatta_kenkyusho
 | 
				
			||||||
python manage.py migrate --settings shimatta_kenkyusho.settings_production
 | 
					python manage.py migrate --settings shimatta_kenkyusho.settings_production
 | 
				
			||||||
python manage.py collectstatic --settings shimatta_kenkyusho.settings_production --noinput
 | 
					python manage.py collectstatic --settings shimatta_kenkyusho.settings_production --noinput
 | 
				
			||||||
 | 
					python manage.py create_kenkyusho_admin_user --settings shimatta_kenkyusho.settings_production
 | 
				
			||||||
 | 
					
 | 
				
			||||||
gunicorn -w 4 --bind 0.0.0.0:8000 shimatta_kenkyusho.wsgi:application
 | 
					gunicorn -w 4 --bind 0.0.0.0:8000 shimatta_kenkyusho.wsgi:application
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,5 +2,6 @@
 | 
				
			|||||||
source /home/shimatta/kenkyusho/.venv/bin/activate
 | 
					source /home/shimatta/kenkyusho/.venv/bin/activate
 | 
				
			||||||
cd /home/shimatta/kenkyusho/shimatta_kenkyusho
 | 
					cd /home/shimatta/kenkyusho/shimatta_kenkyusho
 | 
				
			||||||
python manage.py migrate --settings shimatta_kenkyusho.settings_production
 | 
					python manage.py migrate --settings shimatta_kenkyusho.settings_production
 | 
				
			||||||
 | 
					python manage.py create_kenkyusho_admin_user --settings shimatta_kenkyusho.settings_production
 | 
				
			||||||
 | 
					
 | 
				
			||||||
python manage.py runserver 0.0.0.0:8000 --settings shimatta_kenkyusho.settings_production
 | 
					python manage.py runserver 0.0.0.0:8000 --settings shimatta_kenkyusho.settings_production
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2,6 +2,12 @@
 | 
				
			|||||||
# Example configuration. Must be edited and copied to ".env" next to the compose.yaml
 | 
					# Example configuration. Must be edited and copied to ".env" next to the compose.yaml
 | 
				
			||||||
####################################################################################################
 | 
					####################################################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# User id to use for the web application. This determines the user id, the media and static files are written to the volumes.
 | 
				
			||||||
 | 
					# Make sure the user has rw access to these directories.
 | 
				
			||||||
 | 
					DJANGO_USER_ID=1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					# Group id to use for the web application
 | 
				
			||||||
 | 
					DJANGO_USER_GID=1000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Path to to mount as the directory for static data. Must be served by a webserver on the /static path
 | 
					# Path to to mount as the directory for static data. Must be served by a webserver on the /static path
 | 
				
			||||||
DJANGO_STATIC_VOL=/path/to/static/root
 | 
					DJANGO_STATIC_VOL=/path/to/static/root
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -0,0 +1,23 @@
 | 
				
			|||||||
 | 
					from django.core.management.base import BaseCommand, CommandParser
 | 
				
			||||||
 | 
					from django.contrib.auth import get_user_model
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Command(BaseCommand):
 | 
				
			||||||
 | 
						help = "Create a default superuser if no superuser is already present. This aids automatic deployment inside a container."
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						def add_arguments(self, parser: CommandParser):
 | 
				
			||||||
 | 
							parser.add_argument('--user',
 | 
				
			||||||
 | 
								help='Username to create if no admin account is present',
 | 
				
			||||||
 | 
								default='admin')
 | 
				
			||||||
 | 
							parser.add_argument('--password',
 | 
				
			||||||
 | 
								help='Password to set for newly created user. Ignored, if any admin user is already present',
 | 
				
			||||||
 | 
								default='admin')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						def handle(self, *args, **options):
 | 
				
			||||||
 | 
							User = get_user_model()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							# Query if there is any admin user
 | 
				
			||||||
 | 
							if not User.objects.filter(is_superuser=True).exists():
 | 
				
			||||||
 | 
								self.stdout.write(f'No superuser present. Creating {options['user']} with supplied password')
 | 
				
			||||||
 | 
								User.objects.create_superuser(username=options['user'], password=options['password'])
 | 
				
			||||||
 | 
							else:
 | 
				
			||||||
 | 
								self.stdout.write('At least one superuser already exists. Skipping superuser creation')
 | 
				
			||||||
@@ -75,7 +75,7 @@
 | 
				
			|||||||
            'component-parameter-type-list': '{% url 'componentparametertype-list' %}',
 | 
					            'component-parameter-type-list': '{% url 'componentparametertype-list' %}',
 | 
				
			||||||
        };
 | 
					        };
 | 
				
			||||||
        </script>
 | 
					        </script>
 | 
				
			||||||
        <script type="text/javascript" src="{% static 'js/kenyusho-api-v1.js' %}"></script>
 | 
					        <script type="text/javascript" src="{% static 'js/kenkyusho-api-v1.js' %}"></script>
 | 
				
			||||||
        <script type="text/javascript" src="{% static 'js/autocomplete.js' %}"></script>
 | 
					        <script type="text/javascript" src="{% static 'js/autocomplete.js' %}"></script>
 | 
				
			||||||
        <script type="text/javascript" src="{% static 'js/autocomplete-foreign-key-field.js' %}"></script>
 | 
					        <script type="text/javascript" src="{% static 'js/autocomplete-foreign-key-field.js' %}"></script>
 | 
				
			||||||
        <!-- Initialize bootstrap popovers -->
 | 
					        <!-- Initialize bootstrap popovers -->
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,7 +1,7 @@
 | 
				
			|||||||
#!/bin/bash
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Startup the db container
 | 
					# Startup the db container
 | 
				
			||||||
docker-compose start shimatta-kenkyusho-db
 | 
					docker compose start shimatta-kenkyusho-db
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Override entrypoint to get interactive shell
 | 
					# Override entrypoint to get interactive shell
 | 
				
			||||||
docker-compose run --entrypoint="/bin/sh" -p 8000:8000 shimatta-kenkyusho-web
 | 
					docker compose run --entrypoint="/bin/sh" -p 8000:8000 shimatta-kenkyusho-web
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user