+8
.dockerignore
+8
.dockerignore
+29
Dockerfile
+29
Dockerfile
···
1
+
FROM node:22
2
+
3
+
RUN apt-get update && apt-get install -y curl
4
+
5
+
RUN curl -fsSL https://bun.sh/install | bash
6
+
7
+
RUN npm install -g turbo
8
+
9
+
ENV PATH="/root/.bun/bin:${PATH}"
10
+
11
+
WORKDIR /app
12
+
13
+
COPY ./apps ./apps
14
+
15
+
COPY ./crates ./crates
16
+
17
+
COPY ./package.json ./package.json
18
+
19
+
COPY ./bun.lock ./bun.lock
20
+
21
+
COPY ./turbo.json ./turbo.json
22
+
23
+
RUN bun install
24
+
25
+
EXPOSE 8000
26
+
27
+
EXPOSE 3004
28
+
29
+
CMD ["turbo", "db:migrate", "prod:all", "--filter=@rocksky/api"]
+2
-1
apps/api/package.json
+2
-1
apps/api/package.json
···
18
18
"dev:xrpc": "tsx --watch ./src/server.ts",
19
19
"prod:xrpc": "tsx ./src/server.ts",
20
20
"db:migrate": "drizzle-kit migrate",
21
-
"db:gen-migration": "drizzle-kit generate"
21
+
"db:gen-migration": "drizzle-kit generate",
22
+
"prod:all": "concurrently 'tsx ./src/index.ts' 'tsx ./src/server.ts'"
22
23
},
23
24
"dependencies": {
24
25
"@atproto/api": "^0.13.31",
+35
crates/analytics/Dockerfile
+35
crates/analytics/Dockerfile
···
1
+
FROM rust:1.88-bookworm AS builder
2
+
3
+
RUN apt-get update && apt-get install -y \
4
+
curl \
5
+
wget \
6
+
unzip \
7
+
libssl-dev \
8
+
pkg-config \
9
+
build-essential \
10
+
cmake
11
+
12
+
RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \
13
+
unzip libduckdb-linux-amd64.zip && \
14
+
mv libduckdb.so /usr/lib && \
15
+
mv libduckdb_static.a /usr/lib && \
16
+
mv duckdb.h /usr/include && \
17
+
mv duckdb.hpp /usr/include
18
+
19
+
WORKDIR /app
20
+
21
+
COPY ./crates/analytics ./crates/analytics
22
+
COPY Cargo.toml .
23
+
COPY Cargo.lock .
24
+
25
+
RUN cargo build --release -p analytics
26
+
27
+
FROM debian:bookworm-slim
28
+
29
+
COPY --from=builder /app/target/release/analytics /usr/local/bin/analytics
30
+
31
+
COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so
32
+
33
+
EXPOSE 7879
34
+
35
+
CMD ["analytics"]
+23
crates/dropbox/Dockerfile
+23
crates/dropbox/Dockerfile
···
1
+
FROM rust:1.88-bookworm AS builder
2
+
3
+
RUN apt-get update && apt-get install -y \
4
+
libssl-dev \
5
+
pkg-config \
6
+
build-essential
7
+
8
+
9
+
WORKDIR /app
10
+
11
+
COPY ./crates/dropbox ./crates/dropbox
12
+
COPY Cargo.toml .
13
+
COPY Cargo.lock .
14
+
15
+
RUN cargo build --release -p dropbox
16
+
17
+
FROM debian:bookworm-slim
18
+
19
+
COPY --from=builder /app/target/release/dropbox /usr/local/bin/dropbox
20
+
21
+
EXPOSE 7881
22
+
23
+
CMD ["dropbox"]
+23
crates/googledrive/Dockerfile
+23
crates/googledrive/Dockerfile
···
1
+
FROM rust:1.88-bookworm AS builder
2
+
3
+
RUN apt-get update && apt-get install -y \
4
+
libssl-dev \
5
+
pkg-config \
6
+
build-essential
7
+
8
+
9
+
WORKDIR /app
10
+
11
+
COPY ./crates/googledrive ./crates/googledrive
12
+
COPY Cargo.toml .
13
+
COPY Cargo.lock .
14
+
15
+
RUN cargo build --release -p googledrive
16
+
17
+
FROM debian:bookworm-slim
18
+
19
+
COPY --from=builder /app/target/release/googledrive /usr/local/bin/googledrive
20
+
21
+
EXPOSE 7880
22
+
23
+
CMD ["googledrive"]
+23
crates/jetstream/Dockerfile
+23
crates/jetstream/Dockerfile
···
1
+
FROM rust:1.88-bookworm AS builder
2
+
3
+
RUN apt-get update && apt-get install -y \
4
+
libssl-dev \
5
+
pkg-config \
6
+
build-essential
7
+
8
+
9
+
WORKDIR /app
10
+
11
+
COPY ./crates/jetstream ./crates/jetstream
12
+
COPY Cargo.toml .
13
+
COPY Cargo.lock .
14
+
15
+
RUN cargo build --release -p jetstream
16
+
17
+
FROM debian:bookworm-slim
18
+
19
+
COPY --from=builder /app/target/release/jetstream /usr/local/bin/jetstream
20
+
21
+
EXPOSE 7880
22
+
23
+
CMD ["jetstream"]
+23
crates/scrobbler/Dockerfile
+23
crates/scrobbler/Dockerfile
···
1
+
FROM rust:1.88-bookworm AS builder
2
+
3
+
RUN apt-get update && apt-get install -y \
4
+
libssl-dev \
5
+
pkg-config \
6
+
build-essential
7
+
8
+
9
+
WORKDIR /app
10
+
11
+
COPY ./crates/scrobbler ./crates/scrobbler
12
+
COPY Cargo.toml .
13
+
COPY Cargo.lock .
14
+
15
+
RUN cargo build --release -p scrobbler
16
+
17
+
FROM debian:bookworm-slim
18
+
19
+
COPY --from=builder /app/target/release/scrobbler /usr/local/bin/scrobbler
20
+
21
+
EXPOSE 7882
22
+
23
+
CMD ["scrobbler"]
+21
crates/spotify/Dockerfile
+21
crates/spotify/Dockerfile
···
1
+
FROM rust:1.88-bookworm AS builder
2
+
3
+
RUN apt-get update && apt-get install -y \
4
+
libssl-dev \
5
+
pkg-config \
6
+
build-essential
7
+
8
+
9
+
WORKDIR /app
10
+
11
+
COPY ./crates/spotify ./crates/spotify
12
+
COPY Cargo.toml .
13
+
COPY Cargo.lock .
14
+
15
+
RUN cargo build --release -p spotify
16
+
17
+
FROM debian:bookworm-slim
18
+
19
+
COPY --from=builder /app/target/release/spotify /usr/local/bin/spotify
20
+
21
+
CMD ["spotify"]
+1
crates/storage/Dockerfile
+1
crates/storage/Dockerfile
···
1
+
FROM rust:1.88-bookworm AS builder
+23
crates/webscrobbler/Dockerfile
+23
crates/webscrobbler/Dockerfile
···
1
+
FROM rust:1.88-bookworm AS builder
2
+
3
+
RUN apt-get update && apt-get install -y \
4
+
libssl-dev \
5
+
pkg-config \
6
+
build-essential
7
+
8
+
9
+
WORKDIR /app
10
+
11
+
COPY ./crates/webscrobbler ./crates/webscrobbler
12
+
COPY Cargo.toml .
13
+
COPY Cargo.lock .
14
+
15
+
RUN cargo build --release -p webscrobbler
16
+
17
+
FROM debian:bookworm-slim
18
+
19
+
COPY --from=builder /app/target/release/webscrobbler /usr/local/bin/webscrobbler
20
+
21
+
EXPOSE 7883
22
+
23
+
CMD ["webscrobbler"]