add initial compose files
							parent
							
								
									ca16b9a8c4
								
							
						
					
					
						commit
						3f3412148c
					
				| @ -0,0 +1 @@ | |||||||
|  | mon/.env | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | version: "3.0" | ||||||
|  | services: | ||||||
|  |     ceph_client: | ||||||
|  |         image: docker.io/ceph/daemon:latest-nautilus | ||||||
|  |         devices: | ||||||
|  |             - /dev/fuse | ||||||
|  |         volumes: | ||||||
|  |             - /ceph/client/etc/ceph/:/etc/ceph/ | ||||||
|  |             #:shared makes container mounts accessiable from the host | ||||||
|  |             - /cephfs/:/cephfs/:shared | ||||||
|  |         entrypoint: ceph-fuse | ||||||
|  |         command: /cephfs/ -f --id ${HOSTNAME} | ||||||
|  |         security_opt: | ||||||
|  |             #required for fuse | ||||||
|  |             - apparmor:unconfied | ||||||
|  |         cap_add: | ||||||
|  |             #required for fuse | ||||||
|  |             - SYS_ADMIN | ||||||
|  |         networks: | ||||||
|  |             - ceph | ||||||
|  | networks: | ||||||
|  |     ceph: | ||||||
|  |         external: true | ||||||
| @ -0,0 +1,18 @@ | |||||||
|  | version: "3.0" | ||||||
|  | services: | ||||||
|  |     ceph_mds: | ||||||
|  |         image: docker.io/ceph/daemon:latest-nautilus | ||||||
|  |         #copy hostname of the host to avoid confusion in e.g. `ceph status` | ||||||
|  |         hostname: ${HOSTNAME} | ||||||
|  |         environment: | ||||||
|  |             #in case cephfs doesn't exist, yet (normally only during bootstrap) | ||||||
|  |             - CEPHFS_CREATE=1 | ||||||
|  |         volumes: | ||||||
|  |             - /ceph/mds/var/lib/ceph/:/var/lib/ceph/ | ||||||
|  |             - /ceph/mds/etc/ceph/:/etc/ceph/ | ||||||
|  |         command: mds | ||||||
|  |         networks: | ||||||
|  |             - ceph | ||||||
|  | networks: | ||||||
|  |     ceph: | ||||||
|  |         external: true | ||||||
| @ -0,0 +1,15 @@ | |||||||
|  | version: "3.0" | ||||||
|  | services: | ||||||
|  |     ceph_mgr: | ||||||
|  |         image: docker.io/ceph/daemon:latest-nautilus | ||||||
|  |         #copy hostname of the host to avoid confusion in e.g. `ceph status` | ||||||
|  |         hostname: ${HOSTNAME} | ||||||
|  |         volumes: | ||||||
|  |             - /ceph/mgr/var/lib/ceph/:/var/lib/ceph/ | ||||||
|  |             - /ceph/mgr/etc/ceph/:/etc/ceph/ | ||||||
|  |         command: mgr | ||||||
|  |         networks: | ||||||
|  |             - ceph | ||||||
|  | networks: | ||||||
|  |     ceph: | ||||||
|  |         external: true | ||||||
| @ -0,0 +1,25 @@ | |||||||
|  | #mons need a static ip address | ||||||
|  | #we reserve 10.13.37.0/24 for this | ||||||
|  | #manually pick a free ip address and place it in a .env file: | ||||||
|  | #MON_IP=10.13.37.312 | ||||||
|  | 
 | ||||||
|  | version: "3.0" | ||||||
|  | services: | ||||||
|  |     ceph_mon: | ||||||
|  |         image: docker.io/ceph/daemon:latest-nautilus | ||||||
|  |         #copy hostname of the host to avoid confusion in e.g. `ceph status` | ||||||
|  |         hostname: ${HOSTNAME} | ||||||
|  |         environment: | ||||||
|  |             - MON_IP=${MON_IP} | ||||||
|  |             - CEPH_PUBLIC_NETWORK=10.13.37.0/23 | ||||||
|  |             - CEPH_CLUSTER_NETWORK=10.13.37.0/23 | ||||||
|  |         volumes: | ||||||
|  |             - /ceph/mon/var/lib/ceph/:/var/lib/ceph/ | ||||||
|  |             - /ceph/mon/etc/ceph/:/etc/ceph/ | ||||||
|  |         command: mon | ||||||
|  |         networks: | ||||||
|  |             ceph: | ||||||
|  |                 ipv4_address: ${MON_IP} | ||||||
|  | networks: | ||||||
|  |     ceph: | ||||||
|  |         external: true | ||||||
| @ -0,0 +1,23 @@ | |||||||
|  | #provide the OSD_ID via a environment variable: | ||||||
|  | #OSD_ID=1337 | ||||||
|  | 
 | ||||||
|  | version: "3.0" | ||||||
|  | services: | ||||||
|  |     ceph_osd_${OSD_ID}: | ||||||
|  |         image: docker.io/ceph/daemon:latest-nautilus | ||||||
|  |         #copy hostname of the host to correctly calculate CRUSH map positions | ||||||
|  |         hostname: ${HOSTNAME} | ||||||
|  |         environment: | ||||||
|  |             - OSD_ID=${OSD_ID} | ||||||
|  |         volumes: | ||||||
|  |             - /ceph/osd_${OSD_ID}/var/lib/ceph/:/var/lib/ceph/ | ||||||
|  |             - /ceph/osd_${OSD_ID}/etc/ceph/:/etc/ceph/ | ||||||
|  |             - /dev/:/dev/ | ||||||
|  |         command: osd_ceph_volume_activate | ||||||
|  |         cap_add: | ||||||
|  |             - SYS_ADMIN | ||||||
|  |         networks: | ||||||
|  |             - ceph | ||||||
|  | networks: | ||||||
|  |     ceph: | ||||||
|  |         external: true | ||||||
		Reference in New Issue