#395  Optimal deployment mode for a production server
Closed
Artur opened 3 years ago

Hi,

I run OneDev in a simple Docker installation for my tests and experiments.

However, I am going to deploy OneDev for our company as a production system replacing existing tools we use.

What would be the best deployment mode for a production system for average 10 active developer, approx 200 projects/repositories and around 1,000 lightweight use community users?

Robin Shen changed state to 'Closed' 3 years ago
Previous Value Current Value
Open
Closed
Robin Shen commented 3 years ago

For production use, I'd suggest to go with the bare metal installation mode:

https://code.onedev.io/projects/onedev-manual/blob/main/pages/run-on-bare-metal-machine.md

Also make sure to switch to use external database (MySQL suggested as it is tested the most). Follow below to export your existing data and import into new database:

https://code.onedev.io/projects/onedev-manual/blob/main/pages/use-external-database.md

Artur commented 3 years ago

Unfortunately bare metal is too expensive to rent and long-term maintain and too unreliable. I am going to use cloud service.

My question was more about using the installation type: Docker, k8s or plain Java app?

Or in other words, would Docker image based installation with external SQL database work well enough for the expected load? What should be the spec of the VM in terms of RAM/CPU?

Robin Shen commented 3 years ago

The bare metal is somewhat mis-leading. I mean running OneDev as plain Java app outside docker, and a virtual machine is totally fine.

For your use case, I'd suggest to go with 4core/16g VM.

Artur commented 3 years ago

How about k8s on AWS? Would you recommend this kind of setup for the case described above?

Robin Shen commented 3 years ago

That is fine. Just make sure to configure node-selector.yaml under production folder to match appropriate nodes.

issue 1 of 1
Type
Question
Priority
Normal
Assignee
Issue Votes (0)
Watchers (3)
Reference
onedev/server#395
Please wait...
Page is in error, reload to recover