neovim-ide/docker-compose.yml

53 lines
1.4 KiB
YAML

services:
arch-dev:
build:
context: .
args:
USER_UID: ${UID:-1000}
USER_GID: ${GID:-1000}
image: arch-dev:latest
container_name: arch-dev
hostname: arch-dev
stdin_open: true
tty: true
volumes:
- ./workspace:/workspace
- arch-dev-home:/home/dev
environment:
- TERM=xterm-256color
- MOBILE=${MOBILE:-0}
- GIT_AUTHOR_NAME=${GIT_NAME:-dev}
- GIT_AUTHOR_EMAIL=${GIT_EMAIL:-dev@localhost}
- GIT_COMMITTER_NAME=${GIT_NAME:-dev}
- GIT_COMMITTER_EMAIL=${GIT_EMAIL:-dev@localhost}
# Capability set — cap_drop ALL then re-add only what's needed
cap_drop:
- ALL
cap_add:
- NET_BIND_SERVICE # mosh, bind <1024
- SETUID # sudo
- SETGID # sudo
- AUDIT_WRITE # sudoers_audit plugin
- NET_ADMIN # tailscale
- NET_RAW # tailscale
- CHOWN # pacman
- DAC_OVERRIDE # pacman
- FOWNER # pacman
- SYS_ADMIN # sshfs/FUSE mounts (roaming ~)
# Devices: tun for tailscale, fuse for sshfs
devices:
- /dev/net/tun:/dev/net/tun
- /dev/fuse:/dev/fuse
# FUSE mounts need apparmor unconfined on many hosts
# (remove if your host doesn't use apparmor)
security_opt:
- apparmor:unconfined
volumes:
arch-dev-home: