I think you can do it by using port-level isolation on your CRS, you can then have private VLANs.
You need to create port group communities (in your case, you need totally 3 port group community) and uplink ports. (here you have 2 uplink ports, one for your router and one for your server)
Communication is allowed between group members and uplinks, in CRS we have different profiles for each port-level isolation.
port-level isolation profile 0 for uplink ports and profile 1 for isolated ports (here you don't need isolated ports) and finally you can use profile 2 to 30 for your port group communities.
so it can be something like below:
define uplinks:
/interface ethernet switch port
set ether1 isolation-leakage-profile-override=0
set ether24 isolation-leakage-profile-override=0
define port group community:
/interface ethernet switch port
set ether2 isolation-leakage-profile-override=2
set ether3 isolation-leakage-profile-override=2
set ether4 isolation-leakage-profile-override=2
/interface ethernet switch port-isolation
add port-profile=2 ports=ether1,ether24,ether2,ether3,ether4 type=dst
You need for sure two additional port group communities and I leave it for you