Closed 05warmupsdelayer closed 3 months ago
The current Dockerfile uses an ARG instruction in order to pass the right release, it can be specified when building with --build-arg target=<target>
.
BUT: It seems the releases haven't been... released? I can only see source code on the release page, atleast not after v0.31.0.
I've temporarily worked around this by reverting back to the older Dockerfile that also builds the application from b0f985c687bb5f2e4fb5dfb87ea006a0be9beb30, it can be found here: https://github.com/redlib-org/redlib/blob/b0f985c687bb5f2e4fb5dfb87ea006a0be9beb30/Dockerfile.
For anyone running Traefik, I've used the above and commented the health check as mentioned in https://github.com/redlib-org/redlib/issues/62, what sent me down this path initially.
I've temporarily worked around this by reverting back to the older Dockerfile that also builds the application from b0f985c, it can be found here: https://github.com/redlib-org/redlib/blob/b0f985c687bb5f2e4fb5dfb87ea006a0be9beb30/Dockerfile.
Thanks! I was able to build latest. 👍
:pensive: the release actions were supposed to be fixed recently, I can see that it's still working. If it doesn't make sense to change the dockerfiles I can change it back. But yes, release infrastructure is just not in a good state right now.
Without using --build, is there a way to get the latest image?
Without using --build, is there a way to get the latest image?
not that I know if, but here is my Windows Docker Desktop update / build batch file if it helps...
@echo on
mkdir C:\redlib-latest
cd C:\redlib-latest
REM Clone latest changes.
git clone https://github.com/redlib-org/redlib.git
rem Grab working Dockerfile & replace
curl -L "https://raw.githubusercontent.com/redlib-org/redlib/b0f985c687bb5f2e4fb5dfb87ea006a0be9beb30/Dockerfile" -o "redlib\Dockerfile"
REM Build latest image
cd redlib
setlocal
REM Set the desired host port, update to compose-modified.dev.yaml
set HOST_PORT=8081
REM Read the content of compose.dev.yaml
(for /f "delims=" %%i in (compose.dev.yaml) do (
echo %%i | findstr /C:"version: " > nul
if errorlevel 1 (
echo %%i | findstr /C:"8080:8080" > nul
if not errorlevel 1 (
echo %%i | findstr /C:"#" > nul
if not errorlevel 1 (
echo %%i >> compose-modified.dev.yaml
) else (
echo %%i | powershell -Command - >nul 2>&1
if errorlevel 1 (
rem Remove the line with the version field
) else (
echo %%i >> compose-modified.dev.yaml
)
)
) else (
echo %%i >> compose-modified.dev.yaml
)
)
))
REM Retrieve local IP address using PowerShell
for /f "tokens=*" %%i in ('powershell -Command "(Test-Connection -ComputerName $(hostname) -Count 1).IPv4Address.IPAddressToString"') do set "local_ip=%%i"
REM Modify the port & local IP mapping dynamically
powershell -Command "(Get-Content compose-modified.dev.yaml) -replace '8080:8080', '%HOST_PORT%:8080' | Set-Content compose-modified.dev.yaml"
powershell -Command "(Get-Content compose-modified.dev.yaml) -replace 'http://localhost:8080', 'http://%local_ip%:%HOST_PORT%' | Set-Content compose-modified.dev.yaml"
REM Run docker-compose with the modified YAML file
docker-compose -f compose-modified.dev.yaml up -d --build
endlocal
REM Cleanup build dir
cd ..
rmdir /S /Q "redlib"
Having a similar issue, except on Ubuntu Jammy. I took @05warmupsdelayer 's suggestion of building the image using the aforementioned Dockerfile. The container comes up as unhealthy
, but the web UI is still accessible and usable. Docker Compose entry and container logs with RUST_LOG=trace
are below.
redlib:
# image: quay.io/redlib/redlib:latest
build: ${DOCKERCONFDIR}/redlib/redlib
restart: always
container_name: redlib
ports:
- 8103:8080 # Specify `127.0.0.1:8080:8080` instead if using a reverse proxy
environment:
- REDLIB_SFW_ONLY=off
- REDLIB_BANNER=
- REDLIB_ROBOTS_DISABLE_INDEXING=off
- REDLIB_PUSHSHIFT_FRONTEND=undelete.pullpush.io
- REDLIB_DEFAULT_THEME=nord
- REDLIB_DEFAULT_FRONT_PAGE=default
- REDLIB_DEFAULT_LAYOUT=clean
- REDLIB_DEFAULT_WIDE=on
- REDLIB_DEFAULT_POST_SORT=hot
- REDLIB_DEFAULT_COMMENT_SORT=confidence
- REDLIB_DEFAULT_SHOW_NSFW=off
- REDLIB_DEFAULT_BLUR_NSFW=on
- REDLIB_DEFAULT_USE_HLS=off
- REDLIB_DEFAULT_HIDE_HLS_NOTIFICATION=off
- REDLIB_DEFAULT_AUTOPLAY_VIDEOS=off
- REDLIB_DEFAULT_SUBSCRIPTIONS=
- REDLIB_DEFAULT_HIDE_AWARDS=off
- REDLIB_DEFAULT_DISABLE_VISIT_REDDIT_CONFIRMATION=off
- REDLIB_DEFAULT_HIDE_SCORE=off
- REDLIB_DEFAULT_FIXED_NAVBAR=on
- RUST_LOG=trace
user: nobody
read_only: true
security_opt:
- no-new-privileges=true
# - seccomp=seccomp-redlib.json
cap_drop:
- ALL
healthcheck:
test: ["CMD", "wget", "--spider", "-q", "--tries=1", "http://localhost:8080/settings"]
interval: 5m
timeout: 3s
labels:
Starting Redlib...
INFO redlib > Evaluating config.
INFO redlib > Evaluating instance info.
INFO redlib > Creating OAUTH client.
INFO redlib::oauth > [🔄] Spoofing Android client with headers: {"Client-Vendor-Id": "e0479976-ea4c-4432-af8e-0cd254677d44", "X-Reddit-Device-Id": "e0479976-ea4c-4432-af8e-0cd254677d44", "User-Agent": "Reddit/Version 2022.25.0/Build 515072/Android 13"}, uuid: "e0479976-ea4c-4432-af8e-0cd254677d44", and OAuth ID "ohXpoqrZYub1kg"
DEBUG hyper_rustls::config > with_native_roots processed 147 valid and 0 invalid certs
DEBUG rustls::client::hs > No cached session for DnsName("accounts.reddit.com")
DEBUG rustls::client::hs > Not resuming any session
TRACE rustls::client::hs > Sending ClientHello Message {
version: TLSv1_0,
payload: Handshake {
parsed: HandshakeMessagePayload {
typ: ClientHello,
payload: ClientHello(
ClientHelloPayload {
client_version: TLSv1_2,
random: 4908c81ac24c68458303b4d3bbd85b672038d1165472b73040d8ca9f9843219c,
session_id: cd7b1f8bba56c027d76b6748b4c9d0365c98bc0d42d906f630f178cc6992aaaa,
cipher_suites: [
TLS13_AES_256_GCM_SHA384,
TLS13_AES_128_GCM_SHA256,
TLS13_CHACHA20_POLY1305_SHA256,
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384,
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256,
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256,
TLS_EMPTY_RENEGOTIATION_INFO_SCSV,
],
compression_methods: [
Null,
],
extensions: [
SupportedVersions(
[
TLSv1_3,
TLSv1_2,
],
),
EcPointFormats(
[
Uncompressed,
],
),
NamedGroups(
[
X25519,
secp256r1,
secp384r1,
],
),
SignatureAlgorithms(
[
ECDSA_NISTP384_SHA384,
ECDSA_NISTP256_SHA256,
ED25519,
RSA_PSS_SHA512,
RSA_PSS_SHA384,
RSA_PSS_SHA256,
RSA_PKCS1_SHA512,
RSA_PKCS1_SHA384,
RSA_PKCS1_SHA256,
],
),
ExtendedMasterSecretRequest,
CertificateStatusRequest(
Ocsp(
OcspCertificateStatusRequest {
responder_ids: [],
extensions: ,
},
),
),
ServerName(
[
ServerName {
typ: HostName,
payload: HostName(
DnsName(
"accounts.reddit.com",
),
),
},
],
),
KeyShare(
[
KeyShareEntry {
group: X25519,
payload: c834f0cb5e728cc63f2b36c2ee721e974259c4c37cbf3563b13cbda0dc618928,
},
],
),
PresharedKeyModes(
[
PSK_DHE_KE,
],
),
SessionTicket(
Request,
),
],
},
),
},
encoded: 010000ed03034908c81ac24c68458303b4d3bbd85b672038d1165472b73040d8ca9f9843219c20cd7b1f8bba56c027d76b6748b4c9d0365c98bc0d42d906f630f178cc6992aaaa0014130213011303c02cc02bcca9c030c02fcca800ff01000090002b00050403040303000b00020100000a00080006001d00170018000d00140012050304030807080608050804060105010401001700000005000501000000000000001800160000136163636f756e74732e7265646469742e636f6d003300260024001d0020c834f0cb5e728cc63f2b36c2ee721e974259c4c37cbf3563b13cbda0dc618928002d0002010100230000,
},
}
TRACE rustls::client::hs > We got ServerHello ServerHelloPayload {
legacy_version: TLSv1_2,
random: f72c1684f5b70d47cafa7c3b25f95b7c08746fb16b834713076dbd5e4953e4c4,
session_id: cd7b1f8bba56c027d76b6748b4c9d0365c98bc0d42d906f630f178cc6992aaaa,
cipher_suite: TLS13_AES_128_GCM_SHA256,
compression_method: Null,
extensions: [
SupportedVersions(
TLSv1_3,
),
KeyShare(
KeyShareEntry {
group: X25519,
payload: f8d6cc9d61c91d0532c3dba40232168d8f3560316a0ef2b36240bf73e0a5ce47,
},
),
],
}
DEBUG rustls::client::hs > Using ciphersuite TLS13_AES_128_GCM_SHA256
DEBUG rustls::client::tls13 > Not resuming
TRACE rustls::client::client_conn > EarlyData rejected
TRACE rustls::conn > Dropping CCS
DEBUG rustls::client::tls13 > TLS1.3 encrypted extensions: [ServerNameAck]
DEBUG rustls::client::hs > ALPN protocol is None
TRACE rustls::client::tls13 > Server cert is CertificateChain([CertificateDer(0x308206bf308205a7a0030201020210013db03af9acb545cff5aaf299f924c8300d06092a864886f70d01010b0500304f310b300906035504061302555331153013060355040a130c446967694365727420496e633129302706035504031320446967694365727420544c532052534120534841323536203230323020434131301e170d3234303131353030303030305a170d3234303731333233353935395a3068310b3009060355040613025553311330110603550408130a43616c69666f726e6961311630140603550407130d53414e204652414e434953434f31153013060355040a130c5245444449542c20494e432e3115301306035504030c0c2a2e7265646469742e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100cfe99a54a3a41ae2292d458172b3a88b4cce2bbba2d73d9e696cf332d168ac031d1a7055f8865a42dc90e7ef867efd536ceac038a527b4ca7a96e35e0a5aee6520b396d7e43a993d78727d5d61143eba451422db055bbdd6c974118bdd5aca655251208a53b5cdd0d7af4522c94d29b73d786ab59f03bf444848e5dc430870281f02e9a7e5df6e3901246ce580a2017411de77aeca15550a16f8754556a754950d1ba2240175e73d94a28307c0db0047dd082e39cd58c6cc0f07870e1f9b1d65e00943a8fdad2c4daa366d868578dcb6b99ec558c51b6b789f28a15e595ff76c2fb04106459f17f69c5525377fb5fb5e2173db7bebb90c81350293d87297c2070203010001a382037c30820378301f0603551d23041830168014b76ba2eaa8aa848c79eab4da0f98b2c59576b9f4301d0603551d0e0416041471e050d1e78052fb2314659d43a78d31aa56692630230603551d11041c301a820c2a2e7265646469742e636f6d820a7265646469742e636f6d303e0603551d20043730353033060667810c0102023029302706082b06010505070201161b687474703a2f2f7777772e64696769636572742e636f6d2f435053300e0603551d0f0101ff0404030205a0301d0603551d250416301406082b0601050507030106082b0601050507030230818f0603551d1f0481873081843040a03ea03c863a687474703a2f2f63726c332e64696769636572742e636f6d2f4469676943657274544c53525341534841323536323032304341312d342e63726c3040a03ea03c863a687474703a2f2f63726c342e64696769636572742e636f6d2f4469676943657274544c53525341534841323536323032304341312d342e63726c307f06082b0601050507010104733071302406082b060105050730018618687474703a2f2f6f6373702e64696769636572742e636f6d304906082b06010505073002863d687474703a2f2f636163657274732e64696769636572742e636f6d2f4469676943657274544c53525341534841323536323032304341312d312e637274300c0603551d130101ff040230003082017f060a2b06010401d6790204020482016f0482016b0169007700eecdd064d5db1acec55cb79db4cd13a23287467cbcecdec351485946711fb59b0000018d0aa3f84b0000040300483046022100cc56dd8961294f758434478a34c2334c6eedba054f667b77b8f800b9c2d6d58b022100a3fcdafe113677e472ae27075461b338a37bd7d272683496938c3f8ebf15d1ba00760048b0e36bdaa647340fe56a02fa9d30eb1c5201cb56dd2c81d9bbbfab39d884730000018d0aa3f87c00000403004730450221009062e6ad5963f6091e829c359e675b6148573886afbf9254bbbbdfbcc64053a8022033c8fa8fd366e83129331ecd1045007de190e48cfbad7bb5c9af4d56c532f521007600dab6bf6b3fb5b6229f9bc2bb5c6be87091716cbb51848534bda43d3048d7fbab0000018d0aa3f8850000040300473045022100b26cd6e49dfaeb15fd4096d8bf1820224f8528ff7a992ccfd5db29fe1472946202203c09ec23c1c7f5af399920a4201119f85268a7cdf4869af7d40eae24e298d5aa300d06092a864886f70d01010b0500038201010076ff1a523adf337c6a742a55cb96585540998deaa90b810ed63f873ee5ca8bc34d7b29f360ca897f85e8b464bb0895d6cb8f7a394fe68cde14b53b13ba76fd39c6cf769c93fdb0c1ab6a617991e79ec00f281df94eeff6dd348153af569240aa38a0b13018cdad0031eed0a3cd1a8bd03638267044cba25873f831e8481f8d9fd2b3d80642bc9aba971695bb9c19ba9a5f4d186957b2fd3ec3ce8b7aaf60dbad9ea9f1cf5231ef5336d172852b5d5143d8a70d0e213f6d030de01d68d61c51bd755c7c7b5e74ed5870c3d101722978ef80f784f6a3f422e92a4d28e2b194ae80209f7b72afa3a7c331d5e0e7e02c21fba648c9709a8dd634d1288bc4ff6dfe40), CertificateDer(0x308204be308203a6a003020102021006d8d904d5584346f68a2fa754227ec4300d06092a864886f70d01010b05003061310b300906035504061302555331153013060355040a130c446967694365727420496e6331193017060355040b13107777772e64696769636572742e636f6d3120301e06035504031317446967694365727420476c6f62616c20526f6f74204341301e170d3231303431343030303030305a170d3331303431333233353935395a304f310b300906035504061302555331153013060355040a130c446967694365727420496e633129302706035504031320446967694365727420544c53205253412053484132353620323032302043413130820122300d06092a864886f70d01010105000382010f003082010a0282010100c14bb3654770bcdd4f58dbec9cedc366e51f311354ad4a66461f2c0aec6407e52edcdcb90a20eddfe3c4d09e9aa97a1d8288e51156db1e9f58c251e72c340d2ed292e156cbf1795fb3bb87ca25037b9a52416610604f571349f0e8376783dfe7d34b674c2251a6df0e9910ed57517426e27dc7ca622e131b7f238825536fc13458008b84fff8bea75849227b96ada2889b15bca07cdfe951a8d5b0ed37e236b4824b62b5499aecc767d6e33ef5e3d6125e44f1bf71427d58840380b18101faf9ca32bbb48e278727c52b74d4a8d697dec364f9cace53a256bc78178e490329aefb494fa415b9cef25c19576d6b79a72ba2272013b5d03d40d321300793ea99f50203010001a38201823082017e30120603551d130101ff040830060101ff020100301d0603551d0e04160414b76ba2eaa8aa848c79eab4da0f98b2c59576b9f4301f0603551d2304183016801403de503556d14cbb66f0a3e21b1bc397b23dd155300e0603551d0f0101ff040403020186301d0603551d250416301406082b0601050507030106082b06010505070302307606082b06010505070101046a3068302406082b060105050730018618687474703a2f2f6f6373702e64696769636572742e636f6d304006082b060105050730028634687474703a2f2f636163657274732e64696769636572742e636f6d2f4469676943657274476c6f62616c526f6f7443412e63727430420603551d1f043b30393037a035a0338631687474703a2f2f63726c332e64696769636572742e636f6d2f4469676943657274476c6f62616c526f6f7443412e63726c303d0603551d2004363034300b06096086480186fd6c02013007060567810c01013008060667810c0102013008060667810c0102023008060667810c010203300d06092a864886f70d01010b050003820101008032ce5e0bdd6e5a0d0aafe1d684cbc08efa8570edda5db30cf72b7540fe850afaf33178b7704b1a8958ba80bdf36b1de97ecf0bba589c59d490d3fd6cfdd0986db771825bcf6d0b5a09d07bdec443d82aa4de9e41265fbb8f99cbddaee1a86f9f87fe74b71f1b20abb14fc6f5675d5d9b3ce9ff69f7616cd6d9f3fd36c6ab038876d24b2e7586e3fcd8557d26c21177df3e02b67cf3ab7b7a86366fb8f7d89371cf86df7330fa7babed2a59c842843b11171a52f3c90e147da25b7267ba71ed574766c5b8024a65345e8bd02a3c209c51994ce7529ef76b112b0d927e1de88aeb36164387ea2a63bf753febdec403bb0a3cf730efebaf4cfc8b3610733ef3a4)])
TRACE rustls::webpki::server_verifier > Unvalidated OCSP response: [48, 130, 1, 211, 10, 1, 0, 160, 130, 1, 204, 48, 130, 1, 200, 6, 9, 43, 6, 1, 5, 5, 7, 48, 1, 1, 4, 130, 1, 185, 48, 130, 1, 181, 48, 129, 158, 162, 22, 4, 20, 183, 107, 162, 234, 168, 170, 132, 140, 121, 234, 180, 218, 15, 152, 178, 197, 149, 118, 185, 244, 24, 15, 50, 48, 50, 52, 48, 52, 49, 57, 48, 54, 49, 57, 48, 54, 90, 48, 115, 48, 113, 48, 73, 48, 9, 6, 5, 43, 14, 3, 2, 26, 5, 0, 4, 20, 228, 227, 149, 162, 41, 211, 212, 193, 195, 31, 240, 152, 12, 11, 78, 192, 9, 138, 171, 216, 4, 20, 183, 107, 162, 234, 168, 170, 132, 140, 121, 234, 180, 218, 15, 152, 178, 197, 149, 118, 185, 244, 2, 16, 1, 61, 176, 58, 249, 172, 181, 69, 207, 245, 170, 242, 153, 249, 36, 200, 128, 0, 24, 15, 50, 48, 50, 52, 48, 52, 49, 57, 48, 54, 48, 51, 48, 50, 90, 160, 17, 24, 15, 50, 48, 50, 52, 48, 52, 50, 54, 48, 53, 48, 51, 48, 50, 90, 48, 13, 6, 9, 42, 134, 72, 134, 247, 13, 1, 1, 11, 5, 0, 3, 130, 1, 1, 0, 51, 96, 121, 93, 173, 48, 70, 168, 241, 209, 171, 91, 209, 57, 92, 165, 27, 67, 9, 119, 41, 9, 201, 114, 10, 148, 13, 203, 171, 202, 1, 51, 44, 39, 182, 149, 182, 138, 159, 92, 61, 38, 22, 255, 208, 72, 210, 71, 97, 172, 140, 44, 135, 168, 174, 6, 24, 230, 44, 57, 108, 213, 43, 173, 63, 205, 128, 71, 210, 99, 126, 211, 184, 15, 55, 246, 36, 86, 155, 53, 45, 162, 30, 169, 94, 209, 220, 217, 57, 134, 69, 206, 11, 121, 40, 55, 253, 1, 54, 241, 155, 101, 41, 120, 117, 113, 196, 108, 250, 60, 168, 218, 43, 63, 101, 90, 89, 147, 209, 129, 198, 159, 225, 12, 82, 245, 216, 99, 43, 6, 97, 135, 157, 141, 131, 114, 179, 183, 63, 214, 128, 204, 232, 16, 114, 250, 35, 250, 12, 18, 140, 41, 221, 116, 20, 16, 202, 237, 41, 178, 231, 75, 120, 89, 62, 163, 55, 92, 216, 87, 237, 26, 167, 199, 150, 4, 199, 5, 22, 197, 51, 195, 214, 14, 139, 77, 54, 127, 78, 195, 124, 175, 162, 156, 254, 53, 122, 252, 190, 90, 153, 179, 171, 28, 96, 151, 4, 245, 222, 189, 95, 81, 236, 58, 134, 185, 43, 40, 29, 34, 40, 165, 195, 57, 76, 137, 99, 162, 13, 210, 127, 140, 170, 30, 95, 228, 213, 173, 113, 34, 61, 213, 190, 209, 7, 207, 177, 255, 176, 144, 14, 143, 216, 197, 236, 171]
Running Redlib v0.31.2 on 0.0.0.0:8080!
INFO redlib::oauth > [✅] Success - Retrieved token "eyJhbGciOiJSUzI1NiIsImtpZCI6IlNI...", expires in 86399
INFO redlib::oauth > [⏳] Waiting for 86279s seconds before refreshing OAuth token...
DEBUG rustls::common_state > Sending warning alert CloseNotify
Having a similar issue, except on Ubuntu Jammy. I took @05warmupsdelayer 's suggestion of building the image using the aforementioned Dockerfile. The container comes up as
unhealthy
, but the web UI is still accessible and usable. Docker Compose entry and container logs withRUST_LOG=trace
are below.
Ha!
I didn't notice docker windows doesn't show heath for some reason...anyways...I updated my script above
change
healthcheck: test: ["CMD", "wget", "--spider", "-q", "--tries=1", "http://localhost:8080/settings"]
to healthcheck: test: ["CMD", "wget", "--spider", "-q", "--tries=1", "http://localhost:8103/settings"]
and you should be good.
As this hasn't been fixed in this repo as of yet I've decided to come up with a temporary solution and made my own image.
If anyone else would like to use it just pull from ghcr.io/kankerdev/redlib:latest
(src at https://github.com/kankerdev/redlib)
It should work for individuals who have this or similar issues to #62, #74 and #81.
Can confirm @spectrapulse 's image works smoothly (not including the wget --spider
health check).
@spectrapulse want to thank you for building an image because my instance was down for over a month waiting for a fix. :rocket:
As this hasn't been fixed in this repo as of yet I've decided to come up with a temporary solution and made my own image.
If anyone else would like to use it just pull from
ghcr.io/kankerdev/redlib:latest
(src at https://github.com/kankerdev/redlib)It should work for individuals who have this or similar issues to #62, #74 and #81.
This no longer works with the most recent build. Images on your repo will fail to load the homescreen unfortunately and must be updated. It's wild to me that this is the only thing I self-host that doesn't regularly publish builds to dockerhub or gchr. I appreciate you building an image even if it only worked for a short while.
As this hasn't been fixed in this repo as of yet I've decided to come up with a temporary solution and made my own image. If anyone else would like to use it just pull from
ghcr.io/kankerdev/redlib:latest
(src at https://github.com/kankerdev/redlib) It should work for individuals who have this or similar issues to #62, #74 and #81.This no longer works with the most recent build. Images on your repo will fail to load the homescreen unfortunately and must be updated. It's wild to me that this is the only thing I self-host that doesn't regularly publish builds to dockerhub or gchr. I appreciate you building an image even if it only worked for a short while.
The image doesn't seem to be broken on my end though and updated just fine with my automatic update mechanism...?
Are you on x86_64 (since my nodes run arm64)? I'll check the image in a little while and just recommend sticking to the older tag right now if it doesn't work (ghcr.io/kankerdev/redlib:v0.31.2) then I'll look into it in a few hours when I can.
It may also help if you could tell me how your image is deployed by your orchestrator and what orchestrator you use? (docker compose, docker swarm, k8s... etc)
As this hasn't been fixed in this repo as of yet I've decided to come up with a temporary solution and made my own image. If anyone else would like to use it just pull from
ghcr.io/kankerdev/redlib:latest
(src at https://github.com/kankerdev/redlib) It should work for individuals who have this or similar issues to #62, #74 and #81.This no longer works with the most recent build. Images on your repo will fail to load the homescreen unfortunately and must be updated. It's wild to me that this is the only thing I self-host that doesn't regularly publish builds to dockerhub or gchr. I appreciate you building an image even if it only worked for a short while.
The image doesn't seem to be broken on my end though and updated just fine with my automatic update mechanism...?
Are you on x86_64 (since my nodes run arm64)? I'll check the image in a little while and just recommend sticking to the older tag right now if it doesn't work (ghcr.io/kankerdev/redlib:v0.31.2) then I'll look into it in a few hours when I can.
It may also help if you could tell me how your image is deployed by your orchestrator and what orchestrator you use? (docker compose, docker swarm, k8s... etc)
The updated image still seems to work great on my infrastrucure and it does too on my x86_64 testing nodes. If it doesn't work you'll have to share more about your setup, the current image seems fine.
Interesting, enabling/disabling tailscale funnel/serve for redlib's port seemed to get it working again. Not sure why that happened.
The arm64 docker version doesnt update since months. Its stuck on version 31.0
I usually use podman with docker-compose files. But it also does not update with docker itself.
Tested on raspberry pi4 with dietpi and server with AlmaLinux 9.4
It also happens that if you are subscribed to more than one subreddit you get that error on the default home page:
Couldn't send request to Reddit: error trying to connect: dns error: failed to lookup address information: Name does not resolve
Now it doesn"t work at all anymore. Error:
Failed to parse page JSON data: expected value at line 2 column 5
Worked fine, even with the old version for the last months, until today.
Edit: my guess is, reddit switched to their newer layout, it seems. At least I didn't had that until today.
Interesting, enabling/disabling tailscale funnel/serve for redlib's port seemed to get it working again. Not sure why that happened.
Never mind, now homepage works but posts don't, as the guy above mentions. I also can't visit subreddits. I'm guessing reddit has been moving things around the past day or two.
Also experiencing the:
Couldn't send request to Reddit: error trying to connect: dns error: failed to lookup address information: Name does not resolve
and now
Failed to parse page JSON data: expected value at line 2 column 5
The arm64 docker version doesnt update since months. Its stuck on version 31.0
I usually use podman with docker-compose files. But it also does not update with docker itself.
Tested on raspberry pi4 with dietpi and server with AlmaLinux 9.4
- image: quay.io/redlib/redlib:latest-arm # uncomment if you use arm64
It also happens that if you are subscribed to more than one subreddit you get that error on the default home page:
Couldn't send request to Reddit: error trying to connect: dns error: failed to lookup address information: Name does not resolve
Now it doesn"t work at all anymore. Error:
Failed to parse page JSON data: expected value at line 2 column 5
Worked fine, even with the old version for the last months, until today.
Edit: my guess is, reddit switched to their newer layout, it seems. At least I didn't had that until today.
It should work just fine and it did just work fine with my latest multi-arch image. With the exception of the new Failed to parse page JSON data: expected value at line 2 column 5
error that has started happening since a few hours ago but seems to be every instance now so I think Reddit changed something which broke the project. I've also heard that this is probably an issue at Reddit's side but it doesn't appear to be like that for me as the site itself seems to work just fine for me.
The new issue mentioned is #118 and is a fix that requires a change
The new issue mentioned is #118 and is a fix that requires a change
Thanks! I force updated my downstream image to #119 and the change does seem to fix the issues.
Also, I don't like asking this but is there an ETA on the broken container images situation? I don't mind people using my downstream image as a work around as I'll commit to keep it functional until it is fixed here and wouldn't mind if you forwarded people to my image for the time being but it would be better if it ends up fixed here instead.
@05warmupsdelayer
Alternatively, here's a Dockerfile
that builds a redlib
binary. Works just fine on aarch64.
FROM alpine:3.19
ARG TARGET
# Installing dependencies
RUN apk add --no-cache build-base git curl
# Install rustup and the rust toolchain
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
ENV PATH="/root/.cargo/bin:${PATH}"
RUN rustup default stable
# Clone the redlib repository
RUN git -C /tmp clone https://github.com/redlib-org/redlib.git
# Go to redlib directory and build
WORKDIR /tmp/redlib
RUN cargo build --release
# Copy the built binary
RUN ls /tmp/redlib/
RUN cp /tmp/redlib/target/release/redlib /usr/local/bin/
# Clean up by removing dependencies and the cloned repository in /tmp
RUN apk del build-base git curl
RUN rustup self uninstall -y
RUN rm -rf /tmp/redlib ~/.cargo ~/.rustup
RUN adduser --home /nonexistent --no-create-home --disabled-password redlib
USER redlib
# Tell Docker to expose port 8080
EXPOSE 8080
# Run a healthcheck every minute to make sure redlib is functional
HEALTHCHECK --interval=1m --timeout=3s CMD wget --spider --quiet http://localhost:8080/settings || exit 1
CMD ["redlib"]
Something I'm curious about is the use of Alpine as the base - I've writen my own Dockerfile using a Debian base that also builds the project in the container itself, and while it's a bit larger I feel slightly more confident in its funtionality (personally I've been bitten by Alpine/musl DNS stuff a few times)
(I've pushed this to my own registry for amd64 and arm64, feel free to pull :))
Something I'm curious about is the use of Alpine as the base - I've writen my own Dockerfile using a Debian base that also builds the project in the container itself, and while it's a bit larger I feel slightly more confident in its funtionality (personally I've been bitten by Alpine/musl DNS stuff a few times)
Dockerfile (I've pushed this to my own registry for amd64 and arm64, feel free to pull :))
The image which I've provided here before which works on all supported architectures uses Alpine as a base as it's just a slightly modified version of the previous Dockerfile which was part of this repo in earlier commits. Just like the stock image here in the repo.
Something I'm curious about is the use of Alpine as the base - I've writen my own Dockerfile using a Debian base that also builds the project in the container itself, and while it's a bit larger I feel slightly more confident in its funtionality (personally I've been bitten by Alpine/musl DNS stuff a few times) Dockerfile (I've pushed this to my own registry for amd64 and arm64, feel free to pull :))
The image which I've provided here before which works on all supported architectures uses Alpine as a base as it's just a slightly modified version of the previous Dockerfile which was part of this repo in earlier commits. Just like the stock image here in the repo.
This docker image works perfectly fine with arm64/v8. Using right now. The home page error doesn't appear anymore. Thanks so far. I keep using this until I can update/pull the latest versions from the official repo.
Every time install it shows as v0.31.0 along the bottom
The expected behaviour is that the latest version would installed when pulled from quay.io/redlib/redlib:latest
If that can't be done, clear directions on how to build latest using docker build would be helpful, I keep getting error
ERROR: failed to solve: process "/bin/sh -c curl -L https://github.com/redlib-org/redlib/releases/latest/download/redlib-${TARGET}.tar.gz | tar xz -C /usr/local/bin/" did not complete successfully: exit code: 1
Thanks!