’m running a self-hosted Ghost installation on a Google Cloud VM and I’m unable to log in to the admin panel at Ghost. Here are the details of my setup and the issues I’ve been facing:
- Setup Details:
- Ghost Version: 5.120.0 (installed via Ghost-CLI)
- Ghost-CLI Version: 1.27.0
- OS: Debian GNU/Linux 12
- Node Version: v18.20.8
- Database: MySQL 8.0.42, database name ghost_db, user ghost_user
- Hosted on: Google Cloud VM
- Web Server: I haven’t set up Nginx/SSL yet (used --no-setup-nginx and --no-setup-ssl during installation)
- Issues Experienced:
- I’m trying to log in with the user thetexasstoic@gmail.com (password: GhostAdmin123!), which I manually inserted into the users table with the Administrator role assigned (ID: adminuser2025, role ID: 682b92204e9aed81d9e728c6).
- I keep getting a “Too many login attempts. Please wait X minutes before trying again, or reset your password” error. The lockout period has passed, but I still can’t log in.
- When I try to reset the password, I get an error: “Failed to send email. Reason: Email has been temporarily rejected,” because email isn’t configured.
-
- The Ghost service is running (sudo systemctl status ghost_ggedge-io shows Active: active (running) since Mon 2025-05-19 20:18:27 UTC).
- I’ve cleared the brute table in the database to reset login attempt limits, but the issue persists.
- The database has the default Ghost user (ghost@example.com) and my user (adminuser2025), but I can’t log in with either.
- What I’ve Tried:
- Reinstalled Ghost multiple times with ghost install.
- Reset the database (DROP DATABASE ghost_db; CREATE DATABASE ghost_db;) and manually inserted my user.
- Cleared residual state (moved /var/www/ghost/content, removed .ghost-cli, etc.).
- Attempted to configure email but couldn’t proceed due to lack of a suitable SMTP provider.
Can anyone help me resolve this login issue? I need to either get past the “Too many login attempts” error or set up a free email service to reset my password. Any suggestions for free SMTP providers that don’t require payment verification, or other ways to fix this?