Docker updates.
This commit is contained in:
parent
85a7e2a8c9
commit
2a08137168
|
@ -3,3 +3,5 @@ server/ui/dist
|
||||||
server/service/target
|
server/service/target
|
||||||
new_torrents_fetcher
|
new_torrents_fetcher
|
||||||
.git
|
.git
|
||||||
|
torrents.db
|
||||||
|
backups
|
||||||
|
|
10
Dockerfile
10
Dockerfile
|
@ -6,8 +6,16 @@ RUN yarn
|
||||||
RUN yarn build
|
RUN yarn build
|
||||||
|
|
||||||
FROM rust:1.33 as rust
|
FROM rust:1.33 as rust
|
||||||
COPY server/service /app/server/service
|
WORKDIR /app/server
|
||||||
|
# cache the build
|
||||||
|
RUN USER=root cargo new service
|
||||||
WORKDIR /app/server/service
|
WORKDIR /app/server/service
|
||||||
|
# copy over your manifests
|
||||||
|
COPY server/service/Cargo.toml server/service/Cargo.lock ./
|
||||||
|
RUN cargo build --release
|
||||||
|
RUN rm src/*.rs
|
||||||
|
COPY server/service/src ./src
|
||||||
|
RUN rm -r ./target/release/.fingerprint/torrents-csv-*
|
||||||
RUN cargo build --release
|
RUN cargo build --release
|
||||||
|
|
||||||
FROM debian:jessie-slim as volume
|
FROM debian:jessie-slim as volume
|
||||||
|
|
|
@ -34,11 +34,16 @@ rm torrents_removed_quotes.csv
|
||||||
# Cache torrent files if they exist
|
# Cache torrent files if they exist
|
||||||
if [ -f $torrent_files_json ]; then
|
if [ -f $torrent_files_json ]; then
|
||||||
echo "Building files DB from $torrent_files_json ..."
|
echo "Building files DB from $torrent_files_json ..."
|
||||||
jq -r 'to_entries[] | {hash: .key, val: .value[]} | [.hash, .val.i, .val.p, .val.l] | join(";")' $torrent_files_json > torrent_files_temp
|
|
||||||
|
|
||||||
# Removing those with too many ;
|
# Old way, doesn't work with too much ram
|
||||||
rg "^([^;]*;){3}[^;]+$" torrent_files_temp > torrent_files_temp_2
|
# jq -r 'to_entries[] | {hash: .key, val: .value[]} | [.hash, .val.i, .val.p, .val.l] | join(";")' $torrent_files_json > torrent_files_temp
|
||||||
mv torrent_files_temp_2 torrent_files_temp
|
|
||||||
|
# New way, credit to ogusismail : https://stackoverflow.com/a/55600294/1655478
|
||||||
|
jq --stream -n -r 'foreach inputs as $pv ([[],[]]; if ($pv|length) == 2 then (.[0] |= if . == [] then . + [$pv[0][0],$pv[1]] else . + [$pv[1]] end) else [[],.[0]] end; if .[0] == [] and .[1] != [] then .[1] else empty end) | join(";")' $torrent_files_json > torrent_files_temp
|
||||||
|
|
||||||
|
# Removing those with too many ;
|
||||||
|
rg "^([^;]*;){3}[^;]+$" torrent_files_temp > torrent_files_temp_2
|
||||||
|
mv torrent_files_temp_2 torrent_files_temp
|
||||||
|
|
||||||
sqlite3 -batch db_tmp<<EOF
|
sqlite3 -batch db_tmp<<EOF
|
||||||
create table files_tmp(
|
create table files_tmp(
|
||||||
|
@ -78,10 +83,10 @@ order by torrents.seeders desc, files_tmp.size_bytes desc;
|
||||||
delete from files where seeders is null;
|
delete from files where seeders is null;
|
||||||
drop table files_tmp;
|
drop table files_tmp;
|
||||||
EOF
|
EOF
|
||||||
rm torrent_files_temp
|
rm torrent_files_temp
|
||||||
fi
|
fi
|
||||||
|
|
||||||
mv db_tmp $db_file
|
mv db_tmp $db_file
|
||||||
|
|
||||||
echo "Done."
|
echo "Done."
|
||||||
|
|
||||||
|
|
|
@ -69,12 +69,14 @@ a::-moz-focus-inner {
|
||||||
|
|
||||||
.icon {
|
.icon {
|
||||||
display: inline-flex;
|
display: inline-flex;
|
||||||
width: .8em;
|
top: .125em;
|
||||||
height: .8em;
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
stroke-width: 0;
|
stroke-width: 0;
|
||||||
stroke: currentColor;
|
stroke: currentColor;
|
||||||
fill: currentColor;
|
fill: currentColor;
|
||||||
vertical-align: initial;
|
vertical-align: baseline;
|
||||||
|
align-self: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.spinner {
|
.spinner {
|
||||||
|
|
|
@ -153,18 +153,18 @@ export class Search extends Component<any, State> {
|
||||||
{moment(torrent.created_unix * 1000).fromNow()}
|
{moment(torrent.created_unix * 1000).fromNow()}
|
||||||
</td>
|
</td>
|
||||||
<td class="text-right">
|
<td class="text-right">
|
||||||
<a class="btn btn-sm no-outline p-1"
|
<a class="btn btn-sm no-outline px-1"
|
||||||
href={magnetLink(torrent.infohash, (torrent.name) ? torrent.name : torrent.path, torrent.index_)}
|
href={magnetLink(torrent.infohash, (torrent.name) ? torrent.name : torrent.path, torrent.index_)}
|
||||||
data-balloon="Magnet link"
|
data-balloon="Magnet link"
|
||||||
data-balloon-pos="left">
|
data-balloon-pos="left">
|
||||||
<svg class="icon icon-magnet"><use xlinkHref="#icon-magnet"></use></svg>
|
<svg class="icon"><use xlinkHref="#icon-magnet"></use></svg>
|
||||||
</a>
|
</a>
|
||||||
<a class="btn btn-sm no-outline p-1 d-none d-sm-inline"
|
<a class="btn btn-sm no-outline px-1 d-none d-sm-inline"
|
||||||
href={`https://gitlab.com/dessalines/torrents.csv/issues/new?issue[title]=Report%20Torrent%20infohash%20${torrent.infohash}`}
|
href={`https://gitlab.com/dessalines/torrents.csv/issues/new?issue[title]=Report%20Torrent%20infohash%20${torrent.infohash}`}
|
||||||
target="_blank"
|
target="_blank"
|
||||||
data-balloon="Report Torrent"
|
data-balloon="Report Torrent"
|
||||||
data-balloon-pos="left">
|
data-balloon-pos="left">
|
||||||
<svg class="icon icon-flag"><use xlinkHref="#icon-flag"></use></svg>
|
<svg class="icon"><use xlinkHref="#icon-flag"></use></svg>
|
||||||
</a>
|
</a>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
Loading…
Reference in New Issue