How to handle server reboot when using docker-compose?

On 1) I would expect the restart: to be nested under the service/container you want to set it for. So the example given in the depends_on section of the compose reference could be:

version: '2'
services:
  web:
    build: .
    restart: always         # <--- my addition 
    depends_on:
      - db
      - redis
  redis:
    image: redis
  db:
    image: postgres

Does that not work for you if you test out a similar addition in your environment?

Regarding 2) I would simply expect declarations as depends_on: to work just as it did before you add restart: So in the example given above a natural consequence after a restart would be that the dependent services db and redis will be started before web. Something similar should implicitly be true for volumes and networks your services refer to.