Skip to content

Commit 7c9e1bc

Browse files
committed
Fix setup on a Mac: use Docker Compose V2 with the new 'cgroup' parameter.
1 parent cd1345b commit 7c9e1bc

16 files changed

+36
-13
lines changed

.github/workflows/ce-dev-build.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
mkdir -p ~/.config/ce-dev
3838
touch ~/.config/ce-dev/preferences-1.x.yml
3939
echo 'docker_bin: docker' > ~/.config/ce-dev/preferences-1.x.yml
40-
echo 'docker_compose_bin: docker-compose' >> ~/.config/ce-dev/preferences-1.x.yml
40+
echo 'docker_compose_bin: docker compose' >> ~/.config/ce-dev/preferences-1.x.yml
4141
echo 'mkcert_bin: mkcert' >> ~/.config/ce-dev/preferences-1.x.yml
4242
- name: Build and push Docker images
4343
run: |

docs/GettingStarted.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ Next step is to start our containers.
3838
ce-dev start
3939
```
4040
What happened is:
41-
- we called `docker-compose up`
41+
- we called `docker compose up`
4242
- ensured file permissions, ownership and uid/gid match between your user on the host and the 'ce-dev' user within the container
4343
- started Unison file synchronisation
4444
- updated the /etc/hosts file on your laptop

docs/UserConfig.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
You can access a few global settings using `ce-dev config`.
44

55
## Binaries
6-
You can alter the commands called for 'docker', 'docker-compose' and 'mkcert'. This is mostly useful if you added your user to the 'docker' group on Linux and don't want to be prompted for your password. Or if you're doing funky stuff !
6+
You can alter the commands called for 'docker', 'docker compose' and 'mkcert'. This is mostly useful if you added your user to the 'docker' group on Linux and don't want to be prompted for your password. Or if you're doing funky stuff !
77

88
## SSH Username and Key
9-
Define the default username and private key to be used to be able to [SSH from containers to private resources](ssh), eg. cloning private repos or syncing environments back.
9+
Define the default username and private key to be used to be able to [SSH from containers to private resources](ssh), eg. cloning private repos or syncing environments back.

install.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ if [ -n "$(which ce-dev)" ]; then
1414
fi
1515
fi
1616
echo "Checking for dependencies..."
17-
for BINARY in docker docker-compose mkcert; do
17+
for BINARY in docker mkcert; do
1818
if [ -z "$(which "$BINARY")" ]; then
1919
echo "Could not find $BINARY"
2020
echo "Ensure it is installed and in your \$PATH"

src/base-cmd-abstract.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ export default abstract class BaseCmd extends Command {
3434
* @member
3535
* Docker-compose executable path.
3636
*/
37-
protected dockerComposeBin = 'docker-compose'
37+
protected dockerComposeBin = 'docker compose'
3838

3939
/**
4040
* @member
@@ -85,8 +85,8 @@ export default abstract class BaseCmd extends Command {
8585
docker_bin: this.config.platform === 'linux' ? 'sudo docker' : 'docker',
8686
docker_compose_bin:
8787
this.config.platform === 'linux' ?
88-
'sudo docker-compose' :
89-
'docker-compose',
88+
'sudo docker compose' :
89+
'docker compose',
9090
mkcert_bin: 'mkcert',
9191
ssh_user: process.env.USER as string,
9292
ssh_key: (process.env.HOME as string) + '/.ssh/id_rsa',

src/commands/init.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -298,7 +298,7 @@ export default class InitCmd extends BaseCmd {
298298
if (!service.volumes) {
299299
service.volumes = []
300300
}
301-
service.volumes.push('/sys/fs/cgroup:/sys/fs/cgroup:ro')
301+
service.volumes.push('/sys/fs/cgroup:/sys/fs/cgroup:rw')
302302
service.volumes = [...new Set(service.volumes)]
303303
if (!service.cap_add) {
304304
service.cap_add = []

src/compose-config-service-interface.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import ComposeConfigServiceCeDev from './compose-config-service-ce-dev-interface
66
export default interface ComposeConfigService {
77
'container_name'?: string;
88
'image'?: string;
9+
'platform'?: string;
10+
'cgroup'?: 'host' | 'private';
911
'volumes'?: Array<string>;
1012
'expose'?: Array<string>;
1113
'ports'?: Array<string>;

src/controller-manager.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,9 @@ export default class ControllerManager {
1717

1818
/**
1919
* @member
20-
* Docker-compose executable path.
20+
* Docker compose executable path.
2121
*/
22-
private readonly dockerComposeBin: string = 'docker-compose'
22+
private readonly dockerComposeBin: string = 'docker compose'
2323

2424
/**
2525
* @member
@@ -236,6 +236,8 @@ export default class ControllerManager {
236236
ce_dev_controller: {
237237
container_name: 'ce_dev_controller',
238238
image: 'codeenigma/ce-dev-controller-1.x:latest',
239+
platform: 'linux/amd64',
240+
cgroup: 'host',
239241
hostname: 'ce_dev_controller',
240242
networks: {
241243
ce_dev: {
@@ -248,7 +250,7 @@ export default class ControllerManager {
248250
'ce_dev_apt_cache:/var/cache/apt/archives',
249251
'ce_dev_composer_cache:/home/ce-dev/.composer/cache',
250252
'ce_dev_nvm_node:/home/ce-dev/.nvm/versions/node',
251-
'/sys/fs/cgroup:/sys/fs/cgroup:ro',
253+
'/sys/fs/cgroup:/sys/fs/cgroup:rw',
252254
this.config.cacheDir + ':/home/ce-dev/.ce-dev-cache',
253255
],
254256
},

templates/blank/ce-dev/ce-dev.compose.prebuilt.yml.j2

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ x-ce_dev:
1111
services:
1212
{{ project_name }}:
1313
image: 'codeenigma/blank-blank:latest'
14+
platform: linux/amd64
15+
cgroup: host
1416
cap_add:
1517
- NET_ADMIN
1618
x-ce_dev:

templates/blank/ce-dev/ce-dev.compose.yml.j2

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ version: "3.7"
22
x-ce_dev:
33
registry: localhost:5000
44
project_name: {{ project_name }}
5-
provision:
5+
provision:
66
- ce-dev/ansible/provision.yml
77
deploy:
88
- ce-dev/ansible/deploy.yml
@@ -11,6 +11,8 @@ x-ce_dev:
1111
services:
1212
{{ project_name }}:
1313
image: codeenigma/ce-dev-1.x:latest
14+
platform: linux/amd64
15+
cgroup: host
1416
cap_add:
1517
- NET_ADMIN
1618
x-ce_dev:

0 commit comments

Comments
 (0)