mollyim / mollysocket

MollySocket allows getting Signal notifications via UnifiedPush.
GNU Affero General Public License v3.0
110 stars 10 forks source link

Install failed #25

Closed Weiterso closed 10 months ago

Weiterso commented 10 months ago

Tried to install mollysocket; got this error:

$ cargo install mollysocket Updating crates.io index Downloaded mollysocket v1.2.0 error: failed to parse manifest at´ /opt/mollysocket/.cargo/registry/src/github.com-1ecc6299db9ec823/mollysocket-1.2.0/Cargo.toml´ Caused by: invalid type: unit variant, expected string only for key´ profile.release.strip

how to solve this? I'm trying this on a dietpi Debian GNU/Linux 11 (bullseye) x86_64

citizenserious commented 10 months ago

Same problem here trying to use it with NextPush

p1gp1g commented 10 months ago

https://github.com/mollyim/mollysocket/issues/15

citizenserious commented 10 months ago

Thanks, would be nice if you could provide install instructions for cargo too.

I use nextcloudpi and when using rustup it says that cargo is already installed. I installed it as user "mollysocket" anyway because I could not find a single install method other then apt-get and now i got the error:

mollysocket@nextcloudpi:~ $ cargo install mollysocket
    Updating crates.io index
  Downloaded mollysocket v1.2.0
  Downloaded 1 crate (66.1 KB) in 1.27s
  Installing mollysocket v1.2.0
    Updating crates.io index
  Downloaded openssl-probe v0.1.5
  Downloaded openssl-macros v0.1.1
  Downloaded option-ext v0.2.0
  Downloaded parking_lot v0.12.1
  Downloaded hyper-tls v0.5.0
  Downloaded futures-core v0.3.30
  Downloaded resolv-conf v0.7.0
  Downloaded httpdate v1.0.3
  Downloaded humantime v2.1.0
  Downloaded parking_lot_core v0.9.9
  Downloaded heck v0.4.1
  Downloaded match_cfg v0.1.0
  Downloaded http-body v0.4.6
  Downloaded utf8parse v0.2.1
  Downloaded utf-8 v0.7.6
  Downloaded prost v0.12.3
  Downloaded httparse v1.8.0
  Downloaded hashlink v0.8.4
  Downloaded openssl-sys v0.9.99
  Downloaded url v2.5.0
  Downloaded tinyvec_macros v0.1.1
  Downloaded want v0.3.1
  Downloaded foreign-types v0.3.2
  Downloaded devise_codegen v0.4.1
  Downloaded tower-service v0.3.2
  Downloaded is-terminal v0.4.10
  Downloaded devise v0.4.1
  Downloaded async-stream-impl v0.3.5
  Downloaded indenter v0.3.3
  Downloaded glob v0.3.1
  Downloaded equivalent v1.0.1
  Downloaded time-core v0.1.2
  Downloaded colorchoice v1.0.0
  Downloaded pear_codegen v0.2.8
  Downloaded pear v0.2.8
  Downloaded hostname v0.3.1
  Downloaded foreign-types-shared v0.1.1
  Downloaded anstyle-query v1.0.2
  Downloaded binascii v0.1.4
  Downloaded clap_lex v0.6.0
  Downloaded atomic v0.5.3
  Downloaded try-lock v0.2.5
  Downloaded form_urlencoded v1.2.1
  Downloaded fnv v1.0.7
  Downloaded serde_spanned v0.6.5
  Downloaded dirs-sys v0.4.1
  Downloaded digest v0.10.7
  Downloaded slab v0.4.9
  Downloaded devise_core v0.4.1
  Downloaded tokio-macros v2.2.0
  Downloaded thiserror v1.0.56
  Downloaded ref-cast-impl v1.0.22
  Downloaded rand_core v0.6.4
  Downloaded termcolor v1.4.1
  Downloaded tokio-native-tls v0.3.1
  Downloaded powerfmt v0.2.0
  Downloaded anstyle v1.0.5
  Downloaded futures-macro v0.3.30
  Downloaded proc-macro2-diagnostics v0.10.1
  Downloaded futures-task v0.3.30
  Downloaded prost-derive v0.12.3
  Downloaded rand_chacha v0.3.1
  Downloaded pkg-config v0.3.29
  Downloaded toml_datetime v0.6.5
  Downloaded serde_urlencoded v0.7.1
  Downloaded strsim v0.10.0
  Downloaded unicode-xid v0.2.4
  Downloaded lock_api v0.4.11
  Downloaded smallvec v1.13.1
  Downloaded tempfile v3.9.0
  Downloaded percent-encoding v2.3.1
  Downloaded stable-pattern v0.1.0
  Downloaded env_logger v0.10.2
  Downloaded block-buffer v0.10.4
  Downloaded once_cell v1.19.0
  Downloaded ubyte v0.10.4
  Downloaded time-macros v0.2.16
  Downloaded futures-io v0.3.30
  Downloaded multer v2.1.0
  Downloaded ref-cast v1.0.22
  Downloaded yansi v1.0.0-rc.1
  Downloaded quote v1.0.35
  Downloaded futures-channel v0.3.30
  Downloaded tokio-stream v0.1.14
  Downloaded ppv-lite86 v0.2.17
  Downloaded getrandom v0.2.12
  Downloaded spin v0.9.8
  Downloaded futures v0.3.30
  Downloaded anyhow v1.0.79
  Downloaded native-tls v0.2.11
  Downloaded state v0.6.0
  Downloaded socket2 v0.5.5
  Downloaded cc v1.0.83
  Downloaded cookie v0.18.0
  Downloaded tinyvec v1.6.0
  Downloaded async-trait v0.1.77
  Downloaded eyre v0.6.11
  Downloaded proc-macro2 v1.0.78
  Downloaded clap v4.4.18
  Downloaded typenum v1.17.0
  Downloaded serde_derive v1.0.196
  Downloaded indexmap v2.2.1
  Downloaded unicode-bidi v0.3.15
  Downloaded bytes v1.5.0
  Downloaded hashbrown v0.14.3
  Downloaded pin-project-lite v0.2.13
  Downloaded toml v0.8.8
  Downloaded base64 v0.21.7
  Downloaded unicode-ident v1.0.12
  Downloaded serde v1.0.196
  Downloaded tracing-core v0.1.32
  Downloaded memchr v2.7.1
  Downloaded mio v0.8.10
  Downloaded h2 v0.3.24
  Downloaded hyper v0.14.28
  Downloaded trust-dns-resolver v0.23.2
  Downloaded itertools v0.11.0
  Downloaded rand v0.8.5
  Downloaded rocket_http v0.5.0
  Downloaded rocket_codegen v0.5.0
  Downloaded tracing v0.1.40
  Downloaded tungstenite v0.20.1
  Downloaded figment v0.10.14
  Downloaded toml_edit v0.21.0
  Downloaded unicode-normalization v0.1.22
  Downloaded tokio-util v0.7.10
  Downloaded serde_json v1.0.113
  Downloaded zerocopy v0.7.32
  Downloaded futures-util v0.3.30
  Downloaded reqwest v0.11.23
  Downloaded openssl v0.10.63
  Downloaded winnow v0.5.35
  Downloaded rusqlite v0.30.0
  Downloaded rustix v0.38.30
  Downloaded regex v1.10.3
  Downloaded rocket v0.5.0
  Downloaded vcpkg v0.2.15
  Downloaded trust-dns-proto v0.23.2
  Downloaded tokio v1.35.1
  Downloaded regex-syntax v0.8.2
  Downloaded regex-automata v0.4.5
  Downloaded encoding_rs v0.8.33
  Downloaded libsqlite3-sys v0.27.0
  Downloaded linux-raw-sys v0.4.13
  Downloaded libc v0.2.152
  Downloaded syn v2.0.48
  Downloaded time v0.3.31
  Downloaded aho-corasick v1.1.2
  Downloaded clap_builder v4.4.18
  Downloaded idna v0.5.0
  Downloaded idna v0.4.0
  Downloaded allocator-api2 v0.2.16
  Downloaded bitflags v2.4.2
  Downloaded ryu v1.0.16
  Downloaded fastrand v2.0.1
  Downloaded ipnet v2.9.0
  Downloaded tracing-attributes v0.1.27
  Downloaded tokio-tungstenite v0.20.1
  Downloaded anstream v0.6.11
  Downloaded http v0.2.11
  Downloaded anstyle-parse v0.2.3
  Downloaded rocket_prometheus v0.10.0
  Downloaded clap_derive v4.4.7
  Downloaded log v0.4.20
  Downloaded version_check v0.9.4
  Downloaded enum-as-inner v0.6.0
  Downloaded ip_rfc v0.1.0
  Downloaded uncased v0.9.10
  Downloaded quick-error v1.2.3
  Downloaded fallible-iterator v0.3.0
  Downloaded inlinable_string v0.1.15
  Downloaded data-encoding v2.5.0
  Downloaded fallible-streaming-iterator v0.1.9
  Downloaded crypto-common v0.1.6
  Downloaded errno v0.3.8
  Downloaded deranged v0.3.11
  Downloaded pin-utils v0.1.0
  Downloaded generic-array v0.14.7
  Downloaded futures-sink v0.3.30
  Downloaded either v1.9.0
  Downloaded thiserror-impl v1.0.56
  Downloaded sha1 v0.10.6
  Downloaded signal-hook-registry v1.4.1
  Downloaded prometheus v0.13.3
  Downloaded directories v5.0.1
  Downloaded cpufeatures v0.2.12
  Downloaded async-stream v0.3.5
  Downloaded byteorder v1.5.0
  Downloaded autocfg v1.1.0
  Downloaded cfg-if v1.0.0
  Downloaded num_cpus v1.16.0
  Downloaded lru-cache v0.1.2
  Downloaded lazy_static v1.4.0
  Downloaded scopeguard v1.2.0
  Downloaded mime v0.3.17
  Downloaded linked-hash-map v0.5.6
  Downloaded itoa v1.0.10
  Downloaded ahash v0.8.7
  Downloaded 198 crates (19.7 MB) in 10.16s (largest was `libsqlite3-sys` at 4.9 MB)
   Compiling proc-macro2 v1.0.78
   Compiling unicode-ident v1.0.12
   Compiling version_check v0.9.4
   Compiling libc v0.2.152
   Compiling cfg-if v1.0.0
   Compiling once_cell v1.19.0
   Compiling autocfg v1.1.0
   Compiling quote v1.0.35
   Compiling pin-project-lite v0.2.13
   Compiling bytes v1.5.0
   Compiling syn v2.0.48
   Compiling memchr v2.7.1
   Compiling serde v1.0.196
   Compiling bitflags v2.4.2
   Compiling futures-core v0.3.30
   Compiling ahash v0.8.7
   Compiling httparse v1.8.0
   Compiling pkg-config v0.3.29
   Compiling vcpkg v0.2.15
   Compiling itoa v1.0.10
   Compiling num_cpus v1.16.0
   Compiling signal-hook-registry v1.4.1
   Compiling mio v0.8.10
   Compiling socket2 v0.5.5
   Compiling slab v0.4.9
   Compiling futures-sink v0.3.30
   Compiling zerocopy v0.7.32
   Compiling proc-macro2-diagnostics v0.10.1
   Compiling allocator-api2 v0.2.16
   Compiling futures-channel v0.3.30
   Compiling pin-utils v0.1.0
   Compiling futures-task v0.3.30
   Compiling hashbrown v0.14.3
   Compiling yansi v1.0.0-rc.1
   Compiling fnv v1.0.7
   Compiling futures-io v0.3.30
   Compiling cc v1.0.83
   Compiling tracing-core v0.1.32
   Compiling percent-encoding v2.3.1
   Compiling http v0.2.11
   Compiling equivalent v1.0.1
   Compiling rustix v0.38.30
   Compiling log v0.4.20
   Compiling time-core v0.1.2
   Compiling linux-raw-sys v0.4.13
   Compiling openssl-sys v0.9.99
   Compiling tinyvec_macros v0.1.1
   Compiling tinyvec v1.6.0
error: failed to run custom build command for `openssl-sys v0.9.99`

Caused by:
  process didn't exit successfully: `/tmp/cargo-install7FsjoL/release/build/openssl-sys-254a55304ea1238a/build-script-main` (exit status: 101)
  --- stdout
  cargo:rerun-if-env-changed=AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR
  AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
  OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR
  AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
  OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_DIR
  AARCH64_UNKNOWN_LINUX_GNU_OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_DIR
  OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG
  cargo:rerun-if-env-changed=PKG_CONFIG
  cargo:rerun-if-env-changed=OPENSSL_STATIC
  cargo:rerun-if-env-changed=OPENSSL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_STATIC
  cargo:rerun-if-env-changed=PKG_CONFIG_ALL_DYNAMIC
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_PATH
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_LIBDIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64-unknown-linux-gnu
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR_aarch64_unknown_linux_gnu
  cargo:rerun-if-env-changed=HOST_PKG_CONFIG_SYSROOT_DIR
  cargo:rerun-if-env-changed=PKG_CONFIG_SYSROOT_DIR
  run pkg_config fail:
  pkg-config exited with status code 1
  > PKG_CONFIG_ALLOW_SYSTEM_CFLAGS=1 pkg-config --libs --cflags openssl

  The system library `openssl` required by crate `openssl-sys` was not found.
  The file `openssl.pc` needs to be installed and the PKG_CONFIG_PATH environment variable must contain its parent directory.
  The PKG_CONFIG_PATH environment variable is not set.

  HINT: if you have installed the library, try setting PKG_CONFIG_PATH to the directory containing `openssl.pc`.

  --- stderr
  thread 'main' panicked at /opt/mollysocket/.cargo/registry/src/index.crates.io-6f17d22bba15001f/openssl-sys-0.9.99/build/find_normal.rs:190:5:

  Could not find directory of OpenSSL installation, and this `-sys` crate cannot
  proceed without this knowledge. If OpenSSL is installed and this crate had
  trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
  compilation process.

  Make sure you also have the development packages of openssl installed.
  For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.

  If you're in a situation where you think the directory *should* be found
  automatically, please open a bug at https://github.com/sfackler/rust-openssl
  and include information about your system as well as this message.

  $HOST = aarch64-unknown-linux-gnu
  $TARGET = aarch64-unknown-linux-gnu
  openssl-sys = 0.9.99

  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: failed to compile `mollysocket v1.2.0`, intermediate artifacts can be found at `/tmp/cargo-install7FsjoL`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

with another temp file every time. And I stuck there now, removing the temp files, reboot, reinstall of rustup did not help.

Would be really nice if someone could give me a hand here :D

cargo 1.75.0

p1gp1g commented 10 months ago

Cargo has its own doc: https://doc.rust-lang.org/cargo/getting-started/installation.html

You need these packages : libssl3 libsqlite3-0 ca-certificates

citizenserious commented 10 months ago

Thanks for tying to help me, but I am not an advanced user, I just don't get it. I have never heard of rust or cargo before

Where do I get this packages from you mentioned, I can't use apt-get because I do not know the password for the mollysocket user I tried this but I just created the folders I think.


`Rust is installed now. Great!

To get started you may need to restart your current shell.
This would reload your PATH environment variable to include
Cargo's bin directory ($HOME/.cargo/bin).
To configure your current shell, run:
source "$HOME/.cargo/env"
mollysocket@nextcloudpi:~ $ source "$HOME/.cargo/env"
mollysocket@nextcloudpi:~ $ cargo new libssl3
     Created binary (application) `libssl3` package
mollysocket@nextcloudpi:~ $ cargo new libsqlite3-0
     Created binary (application) `libsqlite3-0` package
mollysocket@nextcloudpi:~ $ cargo new ca-certificates
     Created binary (application) `ca-certificates` package
mollysocket@nextcloudpi:~ $ cargo new libssl3
error: destination `/opt/mollysocket/libssl3` already exists
Use `cargo init` to initialize the directory
mollysocket@nextcloudpi:~ $ cargo init
     Created binary (application) package
mollysocket@nextcloudpi:~ $ cargo install mollysocket`

and I get the same error as before. When I install rustup in my main user I can't use it with the mollysocket user.

p1gp1g commented 10 months ago

I assume you are using a debian based distribution. Those 3 packages have to be installed with your system package manager, as root.

apt install libssl3 libsqlite3-0 ca-certificates

citizenserious commented 10 months ago

Yes exactly, I use raspian, which is debian.

root@nextcloudpi:~# apt install libsqlite3-0
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
**libsqlite3-0 is already the newest version (3.34.1-3).**
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@nextcloudpi:~# apt install ca-certificates
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
**ca-certificates is already the newest version (20210119).**
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
root@nextcloudpi:~# apt install libssl3
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
**E: Unable to locate package libssl3**

I am unable to install libssl3

p1gp1g commented 10 months ago

try libssl-dev

citizenserious commented 10 months ago

That helped me move forward but unfortunately directly into the next error:

error: linking with `cc` failed: exit status: 1
  |
  = note: LC_ALL="C" PATH="/opt/mollysocket/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/bin:/opt/mollysocket/.cargo/bin:/usr/local/sbin:/usr/lo                                                cal/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "cc" "/tmp/rustcsDiSOc/symbols.o" "/tmp/cargo-installXCQJHE/release/deps/mollysocket-0389f912f61820c7.mollysocket.f096210fe59245f1-cgu.0                                                .rcgu.o" "-Wl,--as-needed" "-L" "/tmp/cargo-installXCQJHE/release/deps" "-L" "/opt/mollysocket/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib"                                                 "-Wl,-Bstatic" "/opt/mollysocket/.rustup/toolchains/stable-aarch64-unknown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib/libcompiler_builtins-3f410048cea510b6.rlib" "-Wl,-Bdynamic" "                                                -lssl" "-lcrypto" "-lsqlite3" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/opt/mollysocket/.rustup/toolchains/stable-aarch64-unk                                                nown-linux-gnu/lib/rustlib/aarch64-unknown-linux-gnu/lib" "-o" "/tmp/cargo-installXCQJHE/release/deps/mollysocket-0389f912f61820c7" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,--s                                                trip-all" "-nodefaultlibs"
  = note: /usr/bin/ld: cannot find -lsqlite3
          collect2: error: ld returned 1 exit status

error: could not compile `mollysocket` (bin "mollysocket") due to previous error
error: failed to compile `mollysocket v1.2.0`, intermediate artifacts can be found at `/tmp/cargo-installXCQJHE`.
To reuse those artifacts with a future compilation, set the environment variable `CARGO_TARGET_DIR` to that path.

I tried to install lsqlite3 as root as well but the package is also not found.

Edit: sudo apt install libsqlite3-dev did the trick.


Summarise for debian/raspian (NextCloudPi):

  1. install necessary packages as root: apt install libssl-dev libsqlite3-dev libsqlite3-0 ca-certificates

  2. create user "mollysocket" and switch to that user:

    sudo useradd mollysocket -m -d /opt/mollysocket
    sudo -su mollysocket
    cd
  3. install cargo which is included in rust as mollysocket user: curl https://sh.rustup.rs -sSf | sh

citizenserious commented 10 months ago

I know I'm annoying, but now "prod.toml" is not created and so I can't configure it.

Installed package `mollysocket v1.2.0` (executable `mollysocket`)
mollysocket@nextcloudpi:~ $ ln -s /opt/mollysocket/.cargo/bin/mollysocket /opt/mollysocket/ms
mollysocket@nextcloudpi:~ $ MOLLY_CONF=/opt/mollysocket/prod.toml /opt/mollysocket/ms c l
thread 'main' panicked at /opt/mollysocket/.cargo/registry/src/index.crates.io-6f17d22bba15001f/mollysocket-1.2.0/src/config.rs:131:13:
MOLLY_CONF=/opt/mollysocket/prod.toml, file not found.
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
mollysocket@nextcloudpi:~ $ ls -l
total 20
drwxr-xr-x 4 mollysocket mollysocket 4096 Jan 30 15:54 ca-certificates
-rw-r--r-- 1 mollysocket mollysocket  180 Jan 30 16:03 Cargo.toml
drwxr-xr-x 4 mollysocket mollysocket 4096 Jan 30 15:54 libsqlite3-0
drwxr-xr-x 4 mollysocket mollysocket 4096 Jan 30 15:54 libssl3
lrwxrwxrwx 1 mollysocket mollysocket   39 Jan 31 22:43 ms -> /opt/mollysocket/.cargo/bin/mollysocket
drwxr-xr-x 2 mollysocket mollysocket 4096 Jan 30 16:03 src
mollysocket@nextcloudpi:~ $ exit

If it works in the end I will write a short summary maybe someone else needs a step by step instruction as a ncp user too,

p1gp1g commented 9 months ago

Good catch, the file isn't created automatically since v1.2.0. If you want to use a config file, you have to create it manually.

I need to update INSTALL.md, you can open an issue for that if you want

p1gp1g commented 9 months ago

@citizenserious : I've updated the install doc

citizenserious commented 9 months ago

You are awesome will try that in a minute (:

citizenserious commented 9 months ago

Up and running! Thank you very much. I am very happy right now (: You could add this to the install doc as advice for an existing server like Nextcloud if you wish and think it could be helpfull (helped me):

Step-by-step guide to set up a reverse proxy

Step-by-step guide to set up a reverse proxy configuration in Apache to forward requests to your-domain.com/ms ( "/ms" is an example you could use whatever you want and isn't used yet by your instance) to while keeping the rest of the website content unchanged:

If you want to have both the original website (like Nextcloud) content on your-domain.com/ and the reverse proxy setup coexist, you can configure specific paths or subdomains to be proxied to mollysocket while leaving other paths or the root domain unchanged.

Here's a step-by-step guide to set up a reverse proxy configuration in Apache to forward requests to your-domain.com/ms to while keeping the rest of the website content unchanged:

  1. Open your Apache configuration file. This can typically be found at
  1. Add the following lines to set up the reverse proxy for the specific path /ms:

    <Location /ms>
       ProxyPass http://127.0.0.1:8020/
       ProxyPassReverse http://127.0.0.1:8020/
    </Location>
  2. Save the configuration file and restart Apache to apply the changes:

    sudo systemctl restart apache2

  3. Test the configuration by accessing your-domain.com/ms in a web browser. Requests to /ms should now be forwarded to the backend server running on 127.0.0.1:8020.

  4. Ensure that other paths on your website, such as /, continue to serve content from the original website without being proxied.

By following these steps, you can set up a reverse proxy configuration in Apache to forward requests to a specific path /ms to a backend server while maintaining the rest of the website content unchanged.