Skip to content

Instantly share code, notes, and snippets.

@hirakujira
Last active July 8, 2025 18:21
Show Gist options
  • Save hirakujira/f28bb5f18314c38045cc1327f33c0371 to your computer and use it in GitHub Desktop.
Save hirakujira/f28bb5f18314c38045cc1327f33c0371 to your computer and use it in GitHub Desktop.
Surge Snell v4/v5 Docker configs
# Snell Server Configuration
# Latest versions: v4: 4.1.1, v5: 5.0.0b3
SNELL_VERSION=5.0.0b3
# Options: amd64, i386, aarch64, armv7l
ARCH=aarch64
SNELL_PORT=8388
services:
snell:
build:
context: .
args:
SNELL_VERSION: ${SNELL_VERSION:-5.0.0b3}
ARCH: ${ARCH:-aarch64}
container_name: snell-server
ports:
- "${SNELL_PORT:-8388}:8388"
volumes:
- ./snell-server.conf:/etc/snell/snell-server.conf:ro
restart: unless-stopped
networks:
- snell-network
networks:
snell-network:
driver: bridge
FROM debian:12-slim
ARG SNELL_VERSION=5.0.0b3
ARG ARCH=aarch64
ENV SNELL_VERSION=${SNELL_VERSION}
ENV ARCH=${ARCH}
RUN apt-get update && apt-get install -y \
wget \
unzip \
&& rm -rf /var/lib/apt/lists/*
RUN wget https://dl.nssurge.com/snell/snell-server-v${SNELL_VERSION}-linux-${ARCH}.zip \
&& unzip snell-server-v${SNELL_VERSION}-linux-${ARCH}.zip -d /usr/local/bin \
&& chmod +x /usr/local/bin/snell-server \
&& rm snell-server-v${SNELL_VERSION}-linux-${ARCH}.zip
RUN mkdir -p /etc/snell
COPY snell-server.conf /etc/snell/snell-server.conf
EXPOSE 8388
CMD ["/usr/local/bin/snell-server", "-c", "/etc/snell/snell-server.conf"]
[snell-server]
listen = 0.0.0.0:8388
psk = YOUR_PSK_KEY
ipv6 = false
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment