![]()
Paying Tribute to the Shoulders of Giants ![]()
![]()
Project shared by the amazing 海海海 uefi2331:
Office365 E3 E1 Self-service Sharing, Copilot GPT5.5 Available
Deployed with hermes as a helper, a bit AI-ish but truly works. Both cherry and hermes can be used to call it.
▊ Detailed deployment steps are included in the attachment 《m365-native personal configuration.zip》;
▊ In the admin panel, “Add account” - “Browser Authorization (PKCE)”, if you encounter an error:
This page is not normally shown and could be a sign of a phishing attempt. The URL contains your password. Close this page immediately and do not copy or share the URL with anyone.
or
This is not the right page
You have reached the wrong page. Please close this app or window and try again.
You can run “M365 Native Authorization Local Script” - “Start M365 Authorization Assistant.bat” to generate accounts.json.
Put it into the server’s “/opt/m365-native/data” directory, and the program will automatically detect it.
▊ Here’s a quick overview of deployment steps:
Server: debian 12
1. Prepare Microsoft account authorization token
Run Start M365 Authorization Assistant.bat locally and log in to a Microsoft account with M365 Copilot permission to generate accounts.json.
The account should be pre-registered in “Office365 E3 E1 Self-service Sharing, Copilot GPT5.5 Available”.
Purpose: Allow M365 Native to access M365 Copilot on behalf of your Microsoft account.
2. Prepare project code
Follow the original installation method from M365 Native’s author, “Build with Docker yourself”.
Upload the m365-native project to your server.
Purpose: Make sure the server has code ready to be built and run.
3. Build Docker image on the server
Enter the project directory and use Docker to build the m365-native image.
Purpose: Package the program into a long-running service.
4. Create a Docker data volume
Create a m365-native-data data volume to store:
- Microsoft account tokens
- API Keys
- Admin password
- Session data
Purpose: Ensure data won’t be lost after container restarts or rebuilding.
5. Start M365 Native container
Use Docker to start the service listening on server port 4141.
Purpose: Allow both the M365 Native admin panel and OpenAI-compatible API to be accessed.
6. Upload accounts.json to the container
Put the locally generated accounts.json into the container’s data directory.
Purpose: So the service recognizes and uses your M365 Copilot account.
Other basic operations like configuring firewall ports, setting up a caddy reverse proxy, creating an API key, etc., are included in the detailed steps.
m365-native personal configuration.zip (9.5 KB)
I’m also a newbie and don’t know a lot. If you have questions, feel free to comment and I’ll reply if I’m able!



