diff options
Diffstat (limited to 'docker')
-rw-r--r-- | docker/dev/docker-compose.yml | 2 | ||||
-rwxr-xr-x | docker/federation-test/run-tests.sh | 14 | ||||
-rwxr-xr-x | docker/federation-test/servers.sh | 19 | ||||
-rwxr-xr-x | docker/federation-test/tests.sh | 10 | ||||
-rw-r--r-- | docker/federation/Dockerfile | 2 | ||||
-rw-r--r-- | docker/federation/docker-compose.yml | 56 | ||||
-rw-r--r-- | docker/federation/nginx.conf | 12 |
7 files changed, 70 insertions, 45 deletions
diff --git a/docker/dev/docker-compose.yml b/docker/dev/docker-compose.yml index bdcb4308..51a3ecda 100644 --- a/docker/dev/docker-compose.yml +++ b/docker/dev/docker-compose.yml @@ -20,6 +20,8 @@ services: postgres: image: postgres:12-alpine + ports: + - "127.0.0.1:5432:5432" environment: - POSTGRES_USER=lemmy - POSTGRES_PASSWORD=password diff --git a/docker/federation-test/run-tests.sh b/docker/federation-test/run-tests.sh index fdb0e129..57c6cc8f 100755 --- a/docker/federation-test/run-tests.sh +++ b/docker/federation-test/run-tests.sh @@ -5,17 +5,21 @@ pushd ../../server/ cargo build popd +pushd ../../ui +yarn +popd + +mkdir -p volumes/pictrs_{alpha,beta,gamma} +sudo chown -R 991:991 volumes/pictrs_{alpha,beta,gamma} + sudo docker build ../../ --file ../federation/Dockerfile --tag lemmy-federation:latest -for Item in alpha beta gamma ; do - sudo mkdir -p volumes/pictrs_$Item - sudo chown -R 991:991 volumes/pictrs_$Item -done +sudo mkdir -p volumes/pictrs_alpha +sudo chown -R 991:991 volumes/pictrs_alpha sudo docker-compose --file ../federation/docker-compose.yml --project-directory . up -d pushd ../../ui -yarn echo "Waiting for Lemmy to start..." while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8540/api/v1/site')" != "200" ]]; do sleep 1; done while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8550/api/v1/site')" != "200" ]]; do sleep 1; done diff --git a/docker/federation-test/servers.sh b/docker/federation-test/servers.sh new file mode 100755 index 00000000..36f10cd8 --- /dev/null +++ b/docker/federation-test/servers.sh @@ -0,0 +1,19 @@ +#!/bin/bash +set -e + +sudo rm -rf volumes + +pushd ../../server/ +cargo build +popd + +pushd ../../ui +yarn +popd + +mkdir -p volumes/pictrs_{alpha,beta,gamma} +sudo chown -R 991:991 volumes/pictrs_{alpha,beta,gamma} + +sudo docker build ../../ --file ../federation/Dockerfile --tag lemmy-federation:latest + +sudo docker-compose --file ../federation/docker-compose.yml --project-directory . up diff --git a/docker/federation-test/tests.sh b/docker/federation-test/tests.sh new file mode 100755 index 00000000..2e88ffb2 --- /dev/null +++ b/docker/federation-test/tests.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -xe + +pushd ../../ui +echo "Waiting for Lemmy to start..." +while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8540/api/v1/site')" != "200" ]]; do sleep 1; done +while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8550/api/v1/site')" != "200" ]]; do sleep 1; done +while [[ "$(curl -s -o /dev/null -w '%{http_code}' 'localhost:8560/api/v1/site')" != "200" ]]; do sleep 1; done +yarn api-test || true +popd diff --git a/docker/federation/Dockerfile b/docker/federation/Dockerfile index ec7bf2d2..caf08175 100644 --- a/docker/federation/Dockerfile +++ b/docker/federation/Dockerfile @@ -3,7 +3,7 @@ FROM ekidd/rust-musl-builder:1.42.0-openssl11 USER root RUN mkdir /app/dist/documentation/ -p \ && addgroup --gid 1001 lemmy \ - && adduser --disabled-password --shell /bin/sh -u 1001 --ingroup lemmy lemmy + && adduser --gecos "" --disabled-password --shell /bin/sh -u 1001 --ingroup lemmy lemmy # Copy resources COPY server/config/defaults.hjson /app/config/defaults.hjson diff --git a/docker/federation/docker-compose.yml b/docker/federation/docker-compose.yml index d5f9a522..cbc648e6 100644 --- a/docker/federation/docker-compose.yml +++ b/docker/federation/docker-compose.yml @@ -12,28 +12,33 @@ services: - ../federation/nginx.conf:/etc/nginx/nginx.conf restart: on-failure depends_on: - - lemmy_alpha - - pictrs_alpha - - lemmy_beta - - pictrs_beta - - lemmy_gamma - - pictrs_gamma + - lemmy-alpha + - pictrs + - lemmy-beta + - lemmy-gamma - iframely - lemmy_alpha: + pictrs: + restart: always + image: asonix/pictrs:v0.1.13-r0 + user: 991:991 + volumes: + - ./volumes/pictrs_alpha:/mnt + + lemmy-alpha: image: lemmy-federation:latest environment: - - LEMMY_HOSTNAME=lemmy_alpha:8540 + - LEMMY_HOSTNAME=lemmy-alpha:8540 - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_alpha:5432/lemmy - LEMMY_JWT_SECRET=changeme - LEMMY_FRONT_END_DIR=/app/dist - LEMMY_FEDERATION__ENABLED=true - LEMMY_FEDERATION__TLS_ENABLED=false - - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_beta,lemmy_gamma + - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-beta,lemmy-gamma - LEMMY_PORT=8540 - LEMMY_SETUP__ADMIN_USERNAME=lemmy_alpha - LEMMY_SETUP__ADMIN_PASSWORD=lemmy - - LEMMY_SETUP__SITE_NAME=lemmy_alpha + - LEMMY_SETUP__SITE_NAME=lemmy-alpha - RUST_BACKTRACE=1 - RUST_LOG=debug depends_on: @@ -46,26 +51,21 @@ services: - POSTGRES_DB=lemmy volumes: - ./volumes/postgres_alpha:/var/lib/postgresql/data - pictrs_alpha: - image: asonix/pictrs:v0.1.13-r0 - user: 991:991 - volumes: - - ./volumes/pictrs_alpha:/mnt - lemmy_beta: + lemmy-beta: image: lemmy-federation:latest environment: - - LEMMY_HOSTNAME=lemmy_beta:8550 + - LEMMY_HOSTNAME=lemmy-beta:8550 - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_beta:5432/lemmy - LEMMY_JWT_SECRET=changeme - LEMMY_FRONT_END_DIR=/app/dist - LEMMY_FEDERATION__ENABLED=true - LEMMY_FEDERATION__TLS_ENABLED=false - - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_alpha,lemmy_gamma + - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-gamma - LEMMY_PORT=8550 - LEMMY_SETUP__ADMIN_USERNAME=lemmy_beta - LEMMY_SETUP__ADMIN_PASSWORD=lemmy - - LEMMY_SETUP__SITE_NAME=lemmy_beta + - LEMMY_SETUP__SITE_NAME=lemmy-beta - RUST_BACKTRACE=1 - RUST_LOG=debug depends_on: @@ -78,26 +78,21 @@ services: - POSTGRES_DB=lemmy volumes: - ./volumes/postgres_beta:/var/lib/postgresql/data - pictrs_beta: - image: asonix/pictrs:v0.1.13-r0 - user: 991:991 - volumes: - - ./volumes/pictrs_beta:/mnt - lemmy_gamma: + lemmy-gamma: image: lemmy-federation:latest environment: - - LEMMY_HOSTNAME=lemmy_gamma:8560 + - LEMMY_HOSTNAME=lemmy-gamma:8560 - LEMMY_DATABASE_URL=postgres://lemmy:password@postgres_gamma:5432/lemmy - LEMMY_JWT_SECRET=changeme - LEMMY_FRONT_END_DIR=/app/dist - LEMMY_FEDERATION__ENABLED=true - LEMMY_FEDERATION__TLS_ENABLED=false - - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy_alpha,lemmy_beta + - LEMMY_FEDERATION__ALLOWED_INSTANCES=lemmy-alpha,lemmy-beta - LEMMY_PORT=8560 - LEMMY_SETUP__ADMIN_USERNAME=lemmy_gamma - LEMMY_SETUP__ADMIN_PASSWORD=lemmy - - LEMMY_SETUP__SITE_NAME=lemmy_gamma + - LEMMY_SETUP__SITE_NAME=lemmy-gamma - RUST_BACKTRACE=1 - RUST_LOG=debug depends_on: @@ -110,11 +105,6 @@ services: - POSTGRES_DB=lemmy volumes: - ./volumes/postgres_gamma:/var/lib/postgresql/data - pictrs_gamma: - image: asonix/pictrs:v0.1.13-r0 - user: 991:991 - volumes: - - ./volumes/pictrs_gamma:/mnt iframely: image: dogbin/iframely:latest diff --git a/docker/federation/nginx.conf b/docker/federation/nginx.conf index 25160eb6..2093297e 100644 --- a/docker/federation/nginx.conf +++ b/docker/federation/nginx.conf @@ -12,7 +12,7 @@ http { client_max_body_size 50M; location / { - proxy_pass http://lemmy_alpha:8540; + proxy_pass http://lemmy-alpha:8540; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -26,7 +26,7 @@ http { # pict-rs images location /pictrs { location /pictrs/image { - proxy_pass http://pictrs_alpha:8080/image; + proxy_pass http://pictrs:8080/image; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -52,7 +52,7 @@ http { client_max_body_size 50M; location / { - proxy_pass http://lemmy_beta:8550; + proxy_pass http://lemmy-beta:8550; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -66,7 +66,7 @@ http { # pict-rs images location /pictrs { location /pictrs/image { - proxy_pass http://pictrs_beta:8080/image; + proxy_pass http://pictrs:8080/image; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -92,7 +92,7 @@ http { client_max_body_size 50M; location / { - proxy_pass http://lemmy_gamma:8560; + proxy_pass http://lemmy-gamma:8560; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; @@ -106,7 +106,7 @@ http { # pict-rs images location /pictrs { location /pictrs/image { - proxy_pass http://pictrs_gamma:8080/image; + proxy_pass http://pictrs:8080/image; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; |