mirror of
https://github.com/hanzoai/next.js.git
synced 2026-09-24 17:00:51 +00:00
Devcontainers support custom `Dockerfile`s, but it seems like it's more recommended to use a base image with "features" on top: https://containers.dev/implementors/features/ Features get applied after the `Dockerfile`, so e.g. if we're installing `rust` with a feature, then we can't install things that depend on `rust` (e.g. `cargo-nextest`: https://nexte.st/) in the `Dockerfile`. So you're forced to do things with features instead, which can specify dependencies and ordering requirements. I removed a bunch of comments that were left over from the template. People wishing to update this file should refer to the https://aka.ms/devcontainer.json link at the top of the file. Also added a lockfile for the features, generated with: ``` devcontainer upgrade --workspace-folder=. ``` **Note:** The `base.Dockerfile` here was entirely unused. ### Testing ``` podman stop --all && podman rm --all # replace podman with docker if you're using docker devcontainer up --workspace-folder=. devcontainer exec --workspace-folder=. zsh ```
18 lines
779 B
Bash
18 lines
779 B
Bash
#!/bin/bash
|
|
set -euxo pipefail
|
|
export DEBIAN_FRONTEND=noninteractive
|
|
|
|
apt-get update
|
|
# These are required to run playwright properly
|
|
apt-get -y install --no-install-recommends \
|
|
gconf-service libxext6 libxfixes3 libxi6 libxrandr2 \
|
|
libxrender1 libcairo2 libcups2 libdbus-1-3 libexpat1 \
|
|
libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 \
|
|
libglib2.0-0 libgtk-3-0 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 \
|
|
libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 \
|
|
libxdamage1 libxss1 libxtst6 libappindicator1 libnss3 libasound2 \
|
|
libatk1.0-0 libc6 libdrm-dev libgbm-dev ca-certificates fonts-liberation lsb-release xdg-utils wget \
|
|
|
|
# Chromium is needed for Turbopack benchmarks
|
|
apt-get -y install --no-install-recommends chromium
|