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