better admin creation
This commit is contained in:
11
Dockerfile
11
Dockerfile
@@ -7,6 +7,7 @@ RUN apt-get update && apt-get install -y \
|
|||||||
postgresql-client \
|
postgresql-client \
|
||||||
curl \
|
curl \
|
||||||
netcat-traditional \
|
netcat-traditional \
|
||||||
|
dos2unix \
|
||||||
&& rm -rf /var/lib/apt/lists/*
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
|
|
||||||
# Create a non-root user
|
# Create a non-root user
|
||||||
@@ -22,15 +23,13 @@ RUN pip install --no-cache-dir -r requirements.txt
|
|||||||
# Copy application code
|
# Copy application code
|
||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
# Create necessary directories and set permissions
|
# Convert line endings and set permissions
|
||||||
RUN mkdir -p /app/uploads/rooms /app/uploads/profile_pics /app/static/uploads && \
|
RUN dos2unix /app/entrypoint.sh && \
|
||||||
|
chmod +x /app/entrypoint.sh && \
|
||||||
|
mkdir -p /app/uploads/rooms /app/uploads/profile_pics /app/static/uploads && \
|
||||||
chown -R celery:celery /app && \
|
chown -R celery:celery /app && \
|
||||||
chmod -R 755 /app/uploads
|
chmod -R 755 /app/uploads
|
||||||
|
|
||||||
# Make entrypoint script executable
|
|
||||||
RUN chmod +x /app/entrypoint.sh && \
|
|
||||||
chown celery:celery /app/entrypoint.sh
|
|
||||||
|
|
||||||
# Switch to non-root user
|
# Switch to non-root user
|
||||||
USER celery
|
USER celery
|
||||||
|
|
||||||
|
|||||||
34
app.py
34
app.py
@@ -118,15 +118,20 @@ def create_app():
|
|||||||
admin = User(
|
admin = User(
|
||||||
username='administrator',
|
username='administrator',
|
||||||
email='administrator@docupulse.com',
|
email='administrator@docupulse.com',
|
||||||
last_name='None',
|
last_name='Administrator',
|
||||||
company='docupulse',
|
company='DocuPulse',
|
||||||
|
position='System Administrator',
|
||||||
is_admin=True,
|
is_admin=True,
|
||||||
is_active=True
|
is_active=True,
|
||||||
|
preferred_view='grid'
|
||||||
)
|
)
|
||||||
admin.set_password('changeme')
|
admin.set_password('changeme')
|
||||||
db.session.add(admin)
|
db.session.add(admin)
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
click.echo("Default administrator user created successfully.")
|
click.echo("Default administrator user created successfully.")
|
||||||
|
click.echo("Admin credentials:")
|
||||||
|
click.echo("Email: administrator@docupulse.com")
|
||||||
|
click.echo("Password: changeme")
|
||||||
|
|
||||||
# Register custom filters
|
# Register custom filters
|
||||||
app.jinja_env.filters['timeago'] = timeago
|
app.jinja_env.filters['timeago'] = timeago
|
||||||
@@ -136,6 +141,29 @@ def create_app():
|
|||||||
try:
|
try:
|
||||||
# Ensure database tables exist
|
# Ensure database tables exist
|
||||||
db.create_all()
|
db.create_all()
|
||||||
|
|
||||||
|
# Create admin user first
|
||||||
|
admin = User.query.filter_by(email='administrator@docupulse.com').first()
|
||||||
|
if not admin:
|
||||||
|
admin = User(
|
||||||
|
username='administrator',
|
||||||
|
email='administrator@docupulse.com',
|
||||||
|
last_name='Administrator',
|
||||||
|
company='DocuPulse',
|
||||||
|
position='System Administrator',
|
||||||
|
is_admin=True,
|
||||||
|
is_active=True,
|
||||||
|
preferred_view='grid'
|
||||||
|
)
|
||||||
|
admin.set_password('changeme')
|
||||||
|
db.session.add(admin)
|
||||||
|
db.session.commit()
|
||||||
|
print("Default administrator user created successfully.")
|
||||||
|
print("Admin credentials:")
|
||||||
|
print("Email: administrator@docupulse.com")
|
||||||
|
print("Password: changeme")
|
||||||
|
|
||||||
|
# Then create default templates
|
||||||
create_default_templates()
|
create_default_templates()
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
print(f"Warning: Could not create default templates: {e}")
|
print(f"Warning: Could not create default templates: {e}")
|
||||||
|
|||||||
@@ -7,10 +7,10 @@ networks:
|
|||||||
services:
|
services:
|
||||||
web:
|
web:
|
||||||
build:
|
build:
|
||||||
context: .
|
# context: .
|
||||||
dockerfile: Dockerfile
|
|
||||||
# context: https://git.kobeamerijckx.com/Kobe/docupulse.git
|
|
||||||
# dockerfile: Dockerfile
|
# dockerfile: Dockerfile
|
||||||
|
context: https://git.kobeamerijckx.com/Kobe/docupulse.git
|
||||||
|
dockerfile: Dockerfile
|
||||||
ports:
|
ports:
|
||||||
- "${PORT:-10335}:5000"
|
- "${PORT:-10335}:5000"
|
||||||
environment:
|
environment:
|
||||||
|
|||||||
@@ -90,12 +90,18 @@ with app.app_context():
|
|||||||
try:
|
try:
|
||||||
db.session.commit()
|
db.session.commit()
|
||||||
print('Default administrator user created successfully.')
|
print('Default administrator user created successfully.')
|
||||||
|
print('Admin credentials:')
|
||||||
|
print('Email: administrator@docupulse.com')
|
||||||
|
print('Password: changeme')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
db.session.rollback()
|
db.session.rollback()
|
||||||
log_error('Failed to commit admin user creation', e)
|
log_error('Failed to commit admin user creation', e)
|
||||||
raise
|
raise
|
||||||
else:
|
else:
|
||||||
print('Admin user already exists.')
|
print('Admin user already exists.')
|
||||||
|
print('Admin credentials:')
|
||||||
|
print('Email: administrator@docupulse.com')
|
||||||
|
print('Password: changeme')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log_error('Error during admin user creation/check', e)
|
log_error('Error during admin user creation/check', e)
|
||||||
raise
|
raise
|
||||||
|
|||||||
Reference in New Issue
Block a user