Skip to content

Instantly share code, notes, and snippets.

@LunaSquee
Last active August 12, 2025 13:53
Show Gist options
  • Save LunaSquee/2219696b668e2f470d6ff04aed64e1de to your computer and use it in GitHub Desktop.
Save LunaSquee/2219696b668e2f470d6ff04aed64e1de to your computer and use it in GitHub Desktop.
Brickadia dedicated server docker deployment
# To build: docker build --build-arg STEAM_USER=username --build-arg STEAM_PASS=password -t brickadia .
# Approve sign-in on Steam Mobile App
# First run: docker run --rm -it -v $PWD/data:/data/.config/Epic/Brickadia/Saved/ -p 7777:7777/udp brickadia /data/game/Brickadia/Binaries/Linux/BrickadiaServer-Linux-Shipping -log -port=7777 -token=<BRICKADIA TOKEN>
# After the initial run, you can just run with: docker run --rm --name brickadia -itd -v $PWD/data:/data/.config/Epic/Brickadia/Saved/ -p 7777:7777/udp brickadia
# More info here: https://brickadia-community.github.io/communitywiki/tutorials/linux-server-guide/guide/
# After daemonizing you can access server console via: docker attach brickadia
# And exit the console with CTRL+P CTRL+Q
FROM debian:trixie-slim
ARG STEAM_USER
ARG STEAM_PASS
# Steam appId
ARG SRCDS_APPID=3017590
RUN apt-get update && apt-get install -y wget tar lib32gcc-s1 locales && apt-get clean
ENV GAME_PATH="/data/game"
ENV HOME="/data"
RUN mkdir -p ${GAME_PATH} && \
mkdir -p /data/steamcmd
RUN wget https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz -qO steamcmd.tar.gz && \
tar -xzvf steamcmd.tar.gz -C /data/steamcmd && \
cd /data/steamcmd
RUN sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && \
dpkg-reconfigure --frontend=noninteractive locales
RUN /data/steamcmd/steamcmd.sh +quit
RUN chown -R 1000:1000 /data && \
/data/steamcmd/steamcmd.sh +force_install_dir ${GAME_PATH} +login ${STEAM_USER} ${STEAM_PASS} +app_update ${SRCDS_APPID} validate +quit
RUN chmod +x $GAME_PATH/Brickadia/Binaries/Linux/BrickadiaServer-Linux-Shipping
EXPOSE 7777
CMD ["/data/game/Brickadia/Binaries/Linux/BrickadiaServer-Linux-Shipping", "-log", "-port=7777"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment