87 lines
1.7 KiB
Docker
87 lines
1.7 KiB
Docker
FROM alpine:latest
|
|
|
|
# Install system packages including SSH client and dependencies
|
|
RUN apk add --no-cache \
|
|
bash \
|
|
ca-certificates \
|
|
curl \
|
|
git \
|
|
mariadb-client \
|
|
openssh-client \
|
|
openssh-client-default \
|
|
openssl \
|
|
php84 \
|
|
php84-bcmath \
|
|
php84-bz2 \
|
|
php84-curl \
|
|
php84-dom \
|
|
php84-exif \
|
|
php84-fileinfo \
|
|
php84-gd \
|
|
php84-gettext \
|
|
php84-gmp \
|
|
php84-iconv \
|
|
php84-imap \
|
|
php84-intl \
|
|
php84-mbstring \
|
|
php84-mysqlnd \
|
|
php84-pdo \
|
|
php84-pdo_mysql \
|
|
php84-pdo_pgsql \
|
|
php84-pdo_sqlite \
|
|
php84-pecl-apcu \
|
|
php84-pecl-igbinary \
|
|
php84-pecl-grpc \
|
|
php84-pecl-lzf \
|
|
php84-pecl-maxminddb \
|
|
php84-pecl-msgpack \
|
|
php84-pecl-redis \
|
|
php84-pgsql \
|
|
php84-phar \
|
|
php84-posix \
|
|
php84-session \
|
|
php84-simplexml \
|
|
php84-soap \
|
|
php84-sockets \
|
|
php84-sodium \
|
|
php84-sqlite3 \
|
|
php84-tokenizer \
|
|
php84-xml \
|
|
php84-xmlreader \
|
|
php84-xmlwriter \
|
|
php84-zip \
|
|
sqlite \
|
|
tar \
|
|
xz \
|
|
nodejs \
|
|
npm
|
|
|
|
# Install Composer (essential for Laravel)
|
|
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
|
|
|
|
# Install Claude Code globally
|
|
RUN npm install -g @anthropic-ai/claude-code
|
|
|
|
# Create directories for persistent data
|
|
RUN mkdir -p /root/.config/claude-code \
|
|
&& mkdir -p /root/.ssh \
|
|
&& mkdir -p /app
|
|
|
|
# Set proper permissions for SSH
|
|
RUN chmod 700 /root/.ssh
|
|
|
|
# Set environment variables
|
|
ENV HOME=/root
|
|
ENV USER=root
|
|
|
|
# Set working directory
|
|
WORKDIR /app
|
|
|
|
# Set bash as default shell
|
|
SHELL ["/bin/bash", "-c"]
|
|
|
|
#USER 1000:1000
|
|
|
|
# Default command
|
|
CMD ["claude"]
|