mirror of
https://github.com/AutoMaker-Org/automaker.git
synced 2026-02-03 21:03:08 +00:00
Compare commits
3 Commits
ebc7987988
...
fix/docker
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3ccea7a67b | ||
|
|
b37a287c9c | ||
|
|
45f6f17eb0 |
10
Dockerfile
10
Dockerfile
@@ -118,6 +118,7 @@ RUN curl -fsSL https://opencode.ai/install | bash && \
|
||||
echo "=== Checking OpenCode CLI installation ===" && \
|
||||
ls -la /home/automaker/.local/bin/ && \
|
||||
(which opencode && opencode --version) || echo "opencode installed (may need auth setup)"
|
||||
|
||||
USER root
|
||||
|
||||
# Add PATH to profile so it's available in all interactive shells (for login shells)
|
||||
@@ -147,6 +148,15 @@ COPY --from=server-builder /app/apps/server/package*.json ./apps/server/
|
||||
# Copy node_modules (includes symlinks to libs)
|
||||
COPY --from=server-builder /app/node_modules ./node_modules
|
||||
|
||||
# Install Playwright Chromium browser for AI agent verification tests
|
||||
# This adds ~300MB to the image but enables automated testing mode out of the box
|
||||
# Using the locally installed playwright ensures we use the pinned version from package-lock.json
|
||||
USER automaker
|
||||
RUN ./node_modules/.bin/playwright install chromium && \
|
||||
echo "=== Playwright Chromium installed ===" && \
|
||||
ls -la /home/automaker/.cache/ms-playwright/ || echo "Playwright browsers installed"
|
||||
USER root
|
||||
|
||||
# Create data and projects directories
|
||||
RUN mkdir -p /data /projects && chown automaker:automaker /data /projects
|
||||
|
||||
|
||||
36
README.md
36
README.md
@@ -338,6 +338,42 @@ services:
|
||||
|
||||
The Docker image supports both AMD64 and ARM64 architectures. The GitHub CLI and Claude CLI are automatically downloaded for the correct architecture during build.
|
||||
|
||||
##### Playwright for Automated Testing
|
||||
|
||||
The Docker image includes **Playwright Chromium pre-installed** for AI agent verification tests. When agents implement features in automated testing mode, they use Playwright to verify the implementation works correctly.
|
||||
|
||||
**No additional setup required** - Playwright verification works out of the box.
|
||||
|
||||
#### Optional: Persist browsers for manual updates
|
||||
|
||||
By default, Playwright Chromium is pre-installed in the Docker image. If you need to manually update browsers or want to persist browser installations across container restarts (not image rebuilds), you can mount a volume.
|
||||
|
||||
**Important:** When you first add this volume mount to an existing setup, the empty volume will override the pre-installed browsers. You must re-install them:
|
||||
|
||||
```bash
|
||||
# After adding the volume mount for the first time
|
||||
docker exec --user automaker -w /app automaker-server npx playwright install chromium
|
||||
```
|
||||
|
||||
Add this to your `docker-compose.override.yml`:
|
||||
|
||||
```yaml
|
||||
services:
|
||||
server:
|
||||
volumes:
|
||||
- playwright-cache:/home/automaker/.cache/ms-playwright
|
||||
|
||||
volumes:
|
||||
playwright-cache:
|
||||
name: automaker-playwright-cache
|
||||
```
|
||||
|
||||
**Updating browsers manually:**
|
||||
|
||||
```bash
|
||||
docker exec --user automaker -w /app automaker-server npx playwright install chromium
|
||||
```
|
||||
|
||||
### Testing
|
||||
|
||||
#### End-to-End Tests (Playwright)
|
||||
|
||||
@@ -21,9 +21,13 @@ services:
|
||||
# - ~/.local/share/opencode:/home/automaker/.local/share/opencode
|
||||
# - ~/.config/opencode:/home/automaker/.config/opencode
|
||||
|
||||
# Playwright browser cache - persists installed browsers across container restarts
|
||||
# Run 'npx playwright install --with-deps chromium' once, and it will persist
|
||||
# ===== Playwright Browser Cache (Optional) =====
|
||||
# Playwright Chromium is PRE-INSTALLED in the Docker image for automated testing.
|
||||
# Uncomment below to persist browser cache across container rebuilds (saves ~300MB download):
|
||||
# - playwright-cache:/home/automaker/.cache/ms-playwright
|
||||
#
|
||||
# To update Playwright browsers manually:
|
||||
# docker exec --user automaker -w /app automaker-server npx playwright install chromium
|
||||
environment:
|
||||
# Set root directory for all projects and file operations
|
||||
# Users can only create/open projects within this directory
|
||||
@@ -37,6 +41,7 @@ services:
|
||||
# - CURSOR_API_KEY=${CURSOR_API_KEY:-}
|
||||
|
||||
volumes:
|
||||
# Playwright cache volume (persists Chromium installs)
|
||||
# Playwright cache volume - optional, persists browser updates across container rebuilds
|
||||
# Uncomment if you mounted the playwright-cache volume above
|
||||
# playwright-cache:
|
||||
# name: automaker-playwright-cache
|
||||
|
||||
Reference in New Issue
Block a user