Add docker compose build file
This commit is contained in:
14
Dockerfile
Normal file
14
Dockerfile
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Use an official Python runtime as a parent image
|
||||||
|
FROM python:3.10
|
||||||
|
|
||||||
|
# Set the working directory in the container to /app
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
# Copy the current directory contents into the container at /app
|
||||||
|
COPY . /app
|
||||||
|
|
||||||
|
# Install any needed packages specified in requirements.txt
|
||||||
|
RUN pip install --no-cache-dir -r requirements.txt
|
||||||
|
|
||||||
|
# Make port 80 available to the world outside this container
|
||||||
|
EXPOSE 8000
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
class DefaultConfig:
|
class DefaultConfig:
|
||||||
DEBUG = False
|
DEBUG = False
|
||||||
TESTING = False
|
TESTING = False
|
||||||
DATABASE_URI = "users.db"
|
DATABASE_URI = "./database/users.db"
|
||||||
SECRET_KEY = SECURITY_PASSWORD_SALT='default'
|
SECRET_KEY = SECURITY_PASSWORD_SALT='default'
|
||||||
CONFIRMATATION_EMAIL_ADD=None
|
CONFIRMATATION_EMAIL_ADD=None
|
||||||
|
|
||||||
@@ -11,7 +11,7 @@ class Config(DefaultConfig):
|
|||||||
class ProductionConfig(Config):
|
class ProductionConfig(Config):
|
||||||
SECRET_KEY = '\xacI4\x077\x16?Q\xb4")\xdb\x066\x95\x11i\x0b\x0c&\xb6rP\''
|
SECRET_KEY = '\xacI4\x077\x16?Q\xb4")\xdb\x066\x95\x11i\x0b\x0c&\xb6rP\''
|
||||||
SECURITY_PASSWORD_SALT = '>\xe3\x9bz\xfd\xbc[\xe22\xcfK\xca\x88!\xd8\xd5,\xd0\x95\x0c\x02\xad\xfa\x9d'
|
SECURITY_PASSWORD_SALT = '>\xe3\x9bz\xfd\xbc[\xe22\xcfK\xca\x88!\xd8\xd5,\xd0\x95\x0c\x02\xad\xfa\x9d'
|
||||||
DATABASE_URI = '/home/site/wwwroot/users.db' # For azure app services. The content under wwwroot is durable, unless you delete your app service.
|
DATABASE_URI = './users.db' # For azure app services. The content under wwwroot is durable, unless you delete your app service.
|
||||||
|
|
||||||
class DevelopmentConfig(Config):
|
class DevelopmentConfig(Config):
|
||||||
CONFIRMATATION_EMAIL_ADD= "struebin.patrick@gmail.com"
|
CONFIRMATATION_EMAIL_ADD= "struebin.patrick@gmail.com"
|
||||||
|
|||||||
BIN
database/users.initialized copy.db
Normal file
BIN
database/users.initialized copy.db
Normal file
Binary file not shown.
20
db.py
20
db.py
@@ -42,3 +42,23 @@ def init_db_command():
|
|||||||
def init_app(app):
|
def init_app(app):
|
||||||
app.teardown_appcontext(close_db)
|
app.teardown_appcontext(close_db)
|
||||||
app.cli.add_command(init_db_command)
|
app.cli.add_command(init_db_command)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
import csv
|
||||||
|
from datetime import datetime
|
||||||
|
# Connect to the SQLite database
|
||||||
|
conn = sqlite3.connect('users.db')
|
||||||
|
c = conn.cursor()
|
||||||
|
|
||||||
|
# Load data from CSV file
|
||||||
|
with open('users.db.backup.txt', 'r') as csvfile:
|
||||||
|
reader = csv.reader(csvfile, delimiter='|')
|
||||||
|
for row in reader:
|
||||||
|
username, email, password, confirmed, confirmation_date = row[1:] #drop first col
|
||||||
|
c.execute("INSERT INTO user (username, email, password, confirmed, confirmation_date) VALUES (?, ?, ?, ?, ?)",
|
||||||
|
(username.strip(), email.strip(), password, int(confirmed), datetime.strptime(confirmation_date, '%Y-%m-%d %H:%M:%S.%f')))
|
||||||
|
|
||||||
|
# Commit the changes and close the connection
|
||||||
|
conn.commit()
|
||||||
|
conn.close()
|
||||||
14
docker-compose.yaml
Normal file
14
docker-compose.yaml
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
services:
|
||||||
|
app:
|
||||||
|
build: .
|
||||||
|
ports:
|
||||||
|
- "8000:8000"
|
||||||
|
network_mode: host
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
- sqlite-database:/app/database
|
||||||
|
working_dir: /app
|
||||||
|
command: sh ./run_production_server.sh
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
sqlite-database:
|
||||||
@@ -1,2 +1,19 @@
|
|||||||
flask
|
blinker==1.8.2
|
||||||
msal
|
certifi==2024.6.2
|
||||||
|
cffi==1.16.0
|
||||||
|
charset-normalizer==3.3.2
|
||||||
|
click==8.1.7
|
||||||
|
cryptography==42.0.8
|
||||||
|
Flask==3.0.3
|
||||||
|
gunicorn==22.0.0
|
||||||
|
idna==3.7
|
||||||
|
itsdangerous==2.2.0
|
||||||
|
Jinja2==3.1.4
|
||||||
|
MarkupSafe==2.1.5
|
||||||
|
msal==1.29.0
|
||||||
|
packaging==24.1
|
||||||
|
pycparser==2.22
|
||||||
|
PyJWT==2.8.0
|
||||||
|
requests==2.32.3
|
||||||
|
urllib3==2.2.2
|
||||||
|
Werkzeug==3.0.3
|
||||||
|
|||||||
4
run_production_server.sh
Normal file
4
run_production_server.sh
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
export FLASK_ENV=production
|
||||||
|
export CONFIG=config.ProductionConfig
|
||||||
|
# equivalent to 'from hello import app'
|
||||||
|
gunicorn 'app:app'
|
||||||
@@ -1,8 +1,6 @@
|
|||||||
1|Patrick Strübin|struebin.patrick@gmail.com|pbkdf2:sha256:260000$0XKR2y8Bl5VBJEwi$b466bf14019ea83125ae2b1a13303f04547950311cf5908eb3a64c1b4849513d|1|2022-06-17 09:29:35.589533
|
1|Patrick Strübin|struebin.patrick@gmail.com|pbkdf2:sha256:260000$0XKR2y8Bl5VBJEwi$b466bf14019ea83125ae2b1a13303f04547950311cf5908eb3a64c1b4849513d|1|2022-06-17 09:29:35.589533
|
||||||
2|Kalle|khstruebin@web.de|pbkdf2:sha256:260000$GHcPS6QHUlSOibT6$4fccef0949cdc64f75c5a609539fd5227ff7b0a53412c6a78bdf2a974a2c0be6|1|2022-06-17 09:39:34.305725
|
|
||||||
3|Simone|s.m.profus@gmail.com|pbkdf2:sha256:260000$Ze0EmkSUbr9LSIv6$3ef454b54f776c016cccaad4f13f84998807d26234c218bce375ac4f386f1d30|1|2022-06-17 10:46:08.137068
|
3|Simone|s.m.profus@gmail.com|pbkdf2:sha256:260000$Ze0EmkSUbr9LSIv6$3ef454b54f776c016cccaad4f13f84998807d26234c218bce375ac4f386f1d30|1|2022-06-17 10:46:08.137068
|
||||||
4|Simone|simone.profus@propedal.at|pbkdf2:sha256:260000$67dmLjjR1BoNwbuf$f707d073fbd34ecdee4f4f72f24d69f22880df226cb158cfef45e41402009797|1|2022-09-04 17:28:28.245465
|
4|Simone|simone.profus@propedal.at|pbkdf2:sha256:260000$67dmLjjR1BoNwbuf$f707d073fbd34ecdee4f4f72f24d69f22880df226cb158cfef45e41402009797|1|2022-09-04 17:28:28.245465
|
||||||
5|Patrick |test@bla.at|pbkdf2:sha256:260000$0r3sjIV5Or8kcBTh$44b2baf22350bebd561d6abcec7bca75aa76d72cfb66cf21d520252c0b506dcd|0|
|
|
||||||
6|Isabella M|qallen2000@yahoo.fr|pbkdf2:sha256:260000$t93QBWdWmjhdZbGr$f6a92cf8853ca4176d7e425188359587400c9a526743df1ce267400b9fca252a|1|2022-09-14 20:54:34.740235
|
6|Isabella M|qallen2000@yahoo.fr|pbkdf2:sha256:260000$t93QBWdWmjhdZbGr$f6a92cf8853ca4176d7e425188359587400c9a526743df1ce267400b9fca252a|1|2022-09-14 20:54:34.740235
|
||||||
7|Jesús|jvaz19@hotmail.com|pbkdf2:sha256:260000$6P0XDHrDo1EfVVf6$d98078ee68c4978d5274b3594b42896465fcce878f14d7262d4f9975bdd00ccd|1|2022-09-27 11:55:57.044266
|
7|Jesús|jvaz19@hotmail.com|pbkdf2:sha256:260000$6P0XDHrDo1EfVVf6$d98078ee68c4978d5274b3594b42896465fcce878f14d7262d4f9975bdd00ccd|1|2022-09-27 11:55:57.044266
|
||||||
9|Maximilian Zahler|damaxl48@gmail.com|pbkdf2:sha256:260000$OO3CektTREvvlXHH$7fde8ba2f46179138dee4d7ebef941d30794a50c7a5b199823dedc87751a0dd1|1|2022-09-18 19:34:22.328920
|
9|Maximilian Zahler|damaxl48@gmail.com|pbkdf2:sha256:260000$OO3CektTREvvlXHH$7fde8ba2f46179138dee4d7ebef941d30794a50c7a5b199823dedc87751a0dd1|1|2022-09-18 19:34:22.328920
|
||||||
|
|||||||
Reference in New Issue
Block a user