@@ -16,11 +16,12 @@ WORKDIR /src/SteamBridge
16
16
RUN if [ "$TARGETARCH" = "arm64" ]; then \
17
17
export Protobuf_ProtocFullPath=$(which protoc); \
18
18
dotnet restore --runtime linux-arm64; \
19
- dotnet publish -c Release --runtime linux-arm64 --self-contained false -o /app/SteamBridge/bin/Release/net8.0 ; \
19
+ dotnet publish -c Release --runtime linux-arm64 --self-contained true -o /app; \
20
20
else \
21
21
dotnet restore --runtime linux-x64; \
22
- dotnet publish -c Release --runtime linux-x64 --self-contained false -o /app/SteamBridge/bin/Release/net8.0; \
23
- fi
22
+ dotnet publish -c Release --runtime linux-x64 --self-contained true -o /app; \
23
+ fi && \
24
+ mv /app/SteamBridge /app/steamkit-service
24
25
25
26
# Stage 2: Build Go bridge
26
27
FROM golang:1.24.6-alpine AS go-builder
@@ -57,12 +58,12 @@ RUN adduser -D -s /bin/sh -u 1000 bridge
57
58
58
59
# Create application directories
59
60
WORKDIR /app
60
- RUN mkdir -p /app/SteamBridge/bin/Release/net8.0 /app/logs /app/data && \
61
+ RUN mkdir -p /app/logs /app/data /app/config && \
61
62
chown -R bridge:bridge /app
62
63
63
64
# Copy built applications
64
65
COPY --from=go-builder /src/steam /app/steam
65
- COPY --from=dotnet-builder /app/SteamBridge/bin/Release/net8.0/ /app/SteamBridge/bin/Release/net8.0 /
66
+ COPY --from=dotnet-builder /app/ /app/
66
67
67
68
# Set proper permissions
68
69
RUN chmod +x /app/steam && \
@@ -93,24 +94,18 @@ if [ ! -w /app/data ]; then
93
94
fi
94
95
95
96
# Check if config exists
96
- if [ ! -f /app/data /config.yaml ]; then
97
- echo "No config file found at /app/data /config.yaml"
98
- echo "Please mount your config file to /app/data /config.yaml"
97
+ if [ ! -f /app/config /config.yaml ]; then
98
+ echo "No config file found at /app/config /config.yaml"
99
+ echo "Please mount your config file to /app/config /config.yaml"
99
100
echo "You can use the example config as a starting point:"
100
- echo " docker run -v /path/to/config.yaml:/app/data /config.yaml ..."
101
+ echo " docker run -v /path/to/config.yaml:/app/config /config.yaml ..."
101
102
exit 1
102
103
fi
103
104
104
105
# Start the bridge
105
106
echo "Starting Matrix Steam Bridge..."
106
107
107
- # Check if config needs steam_bridge_path fix for Docker
108
- if grep -q "steam_bridge_path: ./SteamBridge" /app/data/config.yaml 2>/dev/null; then
109
- echo "Fixing steam_bridge_path for Docker environment..."
110
- sed -i 's|steam_bridge_path: ./SteamBridge|steam_bridge_path: /app/SteamBridge|g' /app/data/config.yaml
111
- fi
112
-
113
- exec /app/steam -c /app/data/config.yaml "$@"
108
+ exec /app/steam -c /app/config/config.yaml "$@"
114
109
EOF
115
110
116
111
RUN chmod +x /app/entrypoint.sh && chown bridge:bridge /app/entrypoint.sh
@@ -119,9 +114,9 @@ RUN chmod +x /app/entrypoint.sh && chown bridge:bridge /app/entrypoint.sh
119
114
USER bridge
120
115
121
116
# Set volumes
122
- VOLUME ["/app/data" , "/app/logs" ]
117
+ VOLUME ["/app/config" , "/app/ data" , "/app/logs" ]
123
118
124
- # Default working directory for mounted configs
125
- WORKDIR /app/data
119
+ # Default working directory
120
+ WORKDIR /app
126
121
127
122
ENTRYPOINT ["/app/entrypoint.sh" ]
0 commit comments