Hi @ThomasEnder,
If you are deploying an upgradeable contract, I recommend using OpenZeppelin Upgrades Plugins: https://docs.openzeppelin.com/upgrades-plugins/1.x/truffle-upgrades
The plugins will check upgrade safety, deploy a ProxyAdmin and proxy for you, and call your initialize function as part of the deployment (otherwise you would need to protect it from being called by someone else).
You can also use the following example:
OpenZeppelin Upgrades: Step by Step Tutorial for Truffle