tangled
alpha
login
or
join now
tsiry-sandratraina.com
/
rocksky
forked from
rocksky.app/rocksky
3
fork
atom
A decentralized music tracking and discovery platform built on AT Protocol 🎵
3
fork
atom
overview
issues
1
pulls
pipelines
chore: add docker files
tsiry-sandratraina.com
7 months ago
5123fa09
388b49bd
+214
-1
12 changed files
expand all
collapse all
unified
split
.dockerignore
Dockerfile
apps
api
package.json
crates
analytics
Dockerfile
dropbox
Dockerfile
googledrive
Dockerfile
jetstream
Dockerfile
scrobbler
Dockerfile
spotify
Dockerfile
storage
Dockerfile
webscrobbler
Dockerfile
turbo.json
+8
.dockerignore
···
1
1
+
target
2
2
+
node_modules
3
3
+
**/dist
4
4
+
**/*/node_modules
5
5
+
.DS_Store
6
6
+
Dockerfile
7
7
+
*.ddb
8
8
+
*.ddb.wal
+29
Dockerfile
···
1
1
+
FROM node:22
2
2
+
3
3
+
RUN apt-get update && apt-get install -y curl
4
4
+
5
5
+
RUN curl -fsSL https://bun.sh/install | bash
6
6
+
7
7
+
RUN npm install -g turbo
8
8
+
9
9
+
ENV PATH="/root/.bun/bin:${PATH}"
10
10
+
11
11
+
WORKDIR /app
12
12
+
13
13
+
COPY ./apps ./apps
14
14
+
15
15
+
COPY ./crates ./crates
16
16
+
17
17
+
COPY ./package.json ./package.json
18
18
+
19
19
+
COPY ./bun.lock ./bun.lock
20
20
+
21
21
+
COPY ./turbo.json ./turbo.json
22
22
+
23
23
+
RUN bun install
24
24
+
25
25
+
EXPOSE 8000
26
26
+
27
27
+
EXPOSE 3004
28
28
+
29
29
+
CMD ["turbo", "db:migrate", "prod:all", "--filter=@rocksky/api"]
+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
21
-
"db:gen-migration": "drizzle-kit generate"
21
21
+
"db:gen-migration": "drizzle-kit generate",
22
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
···
1
1
+
FROM rust:1.88-bookworm AS builder
2
2
+
3
3
+
RUN apt-get update && apt-get install -y \
4
4
+
curl \
5
5
+
wget \
6
6
+
unzip \
7
7
+
libssl-dev \
8
8
+
pkg-config \
9
9
+
build-essential \
10
10
+
cmake
11
11
+
12
12
+
RUN wget https://github.com/duckdb/duckdb/releases/download/v1.3.2/libduckdb-linux-amd64.zip && \
13
13
+
unzip libduckdb-linux-amd64.zip && \
14
14
+
mv libduckdb.so /usr/lib && \
15
15
+
mv libduckdb_static.a /usr/lib && \
16
16
+
mv duckdb.h /usr/include && \
17
17
+
mv duckdb.hpp /usr/include
18
18
+
19
19
+
WORKDIR /app
20
20
+
21
21
+
COPY ./crates/analytics ./crates/analytics
22
22
+
COPY Cargo.toml .
23
23
+
COPY Cargo.lock .
24
24
+
25
25
+
RUN cargo build --release -p analytics
26
26
+
27
27
+
FROM debian:bookworm-slim
28
28
+
29
29
+
COPY --from=builder /app/target/release/analytics /usr/local/bin/analytics
30
30
+
31
31
+
COPY --from=builder /usr/lib/libduckdb.so /usr/lib/libduckdb.so
32
32
+
33
33
+
EXPOSE 7879
34
34
+
35
35
+
CMD ["analytics"]
+23
crates/dropbox/Dockerfile
···
1
1
+
FROM rust:1.88-bookworm AS builder
2
2
+
3
3
+
RUN apt-get update && apt-get install -y \
4
4
+
libssl-dev \
5
5
+
pkg-config \
6
6
+
build-essential
7
7
+
8
8
+
9
9
+
WORKDIR /app
10
10
+
11
11
+
COPY ./crates/dropbox ./crates/dropbox
12
12
+
COPY Cargo.toml .
13
13
+
COPY Cargo.lock .
14
14
+
15
15
+
RUN cargo build --release -p dropbox
16
16
+
17
17
+
FROM debian:bookworm-slim
18
18
+
19
19
+
COPY --from=builder /app/target/release/dropbox /usr/local/bin/dropbox
20
20
+
21
21
+
EXPOSE 7881
22
22
+
23
23
+
CMD ["dropbox"]
+23
crates/googledrive/Dockerfile
···
1
1
+
FROM rust:1.88-bookworm AS builder
2
2
+
3
3
+
RUN apt-get update && apt-get install -y \
4
4
+
libssl-dev \
5
5
+
pkg-config \
6
6
+
build-essential
7
7
+
8
8
+
9
9
+
WORKDIR /app
10
10
+
11
11
+
COPY ./crates/googledrive ./crates/googledrive
12
12
+
COPY Cargo.toml .
13
13
+
COPY Cargo.lock .
14
14
+
15
15
+
RUN cargo build --release -p googledrive
16
16
+
17
17
+
FROM debian:bookworm-slim
18
18
+
19
19
+
COPY --from=builder /app/target/release/googledrive /usr/local/bin/googledrive
20
20
+
21
21
+
EXPOSE 7880
22
22
+
23
23
+
CMD ["googledrive"]
+23
crates/jetstream/Dockerfile
···
1
1
+
FROM rust:1.88-bookworm AS builder
2
2
+
3
3
+
RUN apt-get update && apt-get install -y \
4
4
+
libssl-dev \
5
5
+
pkg-config \
6
6
+
build-essential
7
7
+
8
8
+
9
9
+
WORKDIR /app
10
10
+
11
11
+
COPY ./crates/jetstream ./crates/jetstream
12
12
+
COPY Cargo.toml .
13
13
+
COPY Cargo.lock .
14
14
+
15
15
+
RUN cargo build --release -p jetstream
16
16
+
17
17
+
FROM debian:bookworm-slim
18
18
+
19
19
+
COPY --from=builder /app/target/release/jetstream /usr/local/bin/jetstream
20
20
+
21
21
+
EXPOSE 7880
22
22
+
23
23
+
CMD ["jetstream"]
+23
crates/scrobbler/Dockerfile
···
1
1
+
FROM rust:1.88-bookworm AS builder
2
2
+
3
3
+
RUN apt-get update && apt-get install -y \
4
4
+
libssl-dev \
5
5
+
pkg-config \
6
6
+
build-essential
7
7
+
8
8
+
9
9
+
WORKDIR /app
10
10
+
11
11
+
COPY ./crates/scrobbler ./crates/scrobbler
12
12
+
COPY Cargo.toml .
13
13
+
COPY Cargo.lock .
14
14
+
15
15
+
RUN cargo build --release -p scrobbler
16
16
+
17
17
+
FROM debian:bookworm-slim
18
18
+
19
19
+
COPY --from=builder /app/target/release/scrobbler /usr/local/bin/scrobbler
20
20
+
21
21
+
EXPOSE 7882
22
22
+
23
23
+
CMD ["scrobbler"]
+21
crates/spotify/Dockerfile
···
1
1
+
FROM rust:1.88-bookworm AS builder
2
2
+
3
3
+
RUN apt-get update && apt-get install -y \
4
4
+
libssl-dev \
5
5
+
pkg-config \
6
6
+
build-essential
7
7
+
8
8
+
9
9
+
WORKDIR /app
10
10
+
11
11
+
COPY ./crates/spotify ./crates/spotify
12
12
+
COPY Cargo.toml .
13
13
+
COPY Cargo.lock .
14
14
+
15
15
+
RUN cargo build --release -p spotify
16
16
+
17
17
+
FROM debian:bookworm-slim
18
18
+
19
19
+
COPY --from=builder /app/target/release/spotify /usr/local/bin/spotify
20
20
+
21
21
+
CMD ["spotify"]
+1
crates/storage/Dockerfile
···
1
1
+
FROM rust:1.88-bookworm AS builder
+23
crates/webscrobbler/Dockerfile
···
1
1
+
FROM rust:1.88-bookworm AS builder
2
2
+
3
3
+
RUN apt-get update && apt-get install -y \
4
4
+
libssl-dev \
5
5
+
pkg-config \
6
6
+
build-essential
7
7
+
8
8
+
9
9
+
WORKDIR /app
10
10
+
11
11
+
COPY ./crates/webscrobbler ./crates/webscrobbler
12
12
+
COPY Cargo.toml .
13
13
+
COPY Cargo.lock .
14
14
+
15
15
+
RUN cargo build --release -p webscrobbler
16
16
+
17
17
+
FROM debian:bookworm-slim
18
18
+
19
19
+
COPY --from=builder /app/target/release/webscrobbler /usr/local/bin/webscrobbler
20
20
+
21
21
+
EXPOSE 7883
22
22
+
23
23
+
CMD ["webscrobbler"]
+3
turbo.json
···
43
43
"pkl:gen": {
44
44
"cache": false
45
45
},
46
46
+
"prod:all": {
47
47
+
"cache": false
48
48
+
},
46
49
"start": {
47
50
"persistent": true,
48
51
"cache": false