diff --git a/Dockerfile b/Dockerfile index 7ceee67..2623461 100644 --- a/Dockerfile +++ b/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 diff --git a/app.py b/app.py index 91c6b05..7be290c 100644 --- a/app.py +++ b/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}") diff --git a/docker-compose.yml b/docker-compose.yml index 79c8358..fd67692 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -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: diff --git a/entrypoint.sh b/entrypoint.sh index c62c8af..cac7f06 100644 --- a/entrypoint.sh +++ b/entrypoint.sh @@ -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