diff --git a/src/models/user.ts b/src/models/user.ts
index c121790c31ebe88c8d278dbf7f503a8295d6e510..97b7a997e5549fa01da3b9b863b954f3f06145a1 100644
--- a/src/models/user.ts
+++ b/src/models/user.ts
@@ -22,9 +22,9 @@ import SwSubscription, { deleteSwSubscription } from './sw-subscription';
 
 const User = db.get<IUser>('users');
 
-User.createIndex('username');
-User.createIndex('usernameLower');
-User.createIndex('token');
+User.createIndex(['username', 'host'], { unique: true });
+User.createIndex(['usernameLower', 'host'], { unique: true });
+User.createIndex('token', { unique: true });
 User.createIndex('uri', { sparse: true, unique: true });
 
 export default User;