horphi Posted August 13, 2021 Share Posted August 13, 2021 On 4/1/2020 at 1:21 PM, PSYCHOPATHiO said: It is not so complicated to get it up & running, you just need to know where to start First thing you need to edit the homeserver.yaml located in /appdata/matrix Locate - port: 8008 tls: false type: http x_forwarded: true bind_addresses: ['::1', '127.0.0.1'] Change the bind address to your docker IP address or to 0.0.0.0, otherwise you wont be able to connect. Then start the docker, head to console & insert the following: cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1 Copy the result & back to homeserver.yaml locate these 2 lines enable_registration: False <-- True if you want users to register registration_shared_secret: "past the code here" apparently in the docker the registration shared secret is already generated but I advise you use your own. You can add your own ReCAPTCHA & TURN_uri server settings to the homeserver.yaml. Now restart the matrix docker & redirect your reverse proxy to the IP & port, you can test it https://app.element.io/ To register an admin account: register_new_matrix_user -c /data/homeserver.yaml http://0.0.0.0:8008 This can be HTTPS 8448 if you have the certs installed There is one more step that involves creating an SRV record in your DNS if you want to connect your server to the federation. _matrix._tcp.matrix.example.com the wight and priority is your choice as for the port if your behind a reverse proxy you can go with 443. Once the server up & running you can head back to homeserver.yaml read through the settings & adjust the server to what you need. Hi, my server is running. Thx for this instruction. Maybe i still have an error. I can't find any other rooms on other server. Failed to find any key to satisfy: _FetchKeyRequest(server_name='mymatrix.domain.de', minimum_valid_until_ts=1628883035126, key_ids=['ed25519:a_sdWF']) May my NginxProxy Manager and the homeserver.yaml not completely correct setup? https://federationtester.matrix.org/ Tells me.... Connection Errors Get "https://77.20.142.3:8448/_matrix/key/v2/server": context deadline exceeded (Client.Timeout exceeded while awaiting headers) Can you help me in this matter? Best regards, Phil My Quote Link to comment
plantsandbinary Posted August 14, 2021 Share Posted August 14, 2021 (edited) On 6/27/2021 at 7:34 PM, A75G said: https://hastebin.com/ibegatexej.yaml Thats my working config you can look if something is off but just know that i have postgres, redis and email enabled Could you please provide it again. It's expired and what container are you using to run synapse? Just the admin one of yours, that comes with actual synapse for making accounts that work via Matrix right? Edited August 14, 2021 by plantsandbinary Quote Link to comment
plantsandbinary Posted August 16, 2021 Share Posted August 16, 2021 Ok I figured out what the problem has been. So first of all, I was trying to install the synapse-admin container, thinking that it actually contained Matrix along with it. So naturally I couldn't add the admin user I wanted etc. I initially had some problems with the Matrix container also because it's missing so many things, like the config file etc. So how I installed Matrix was like this: 1. Download the official image from Docker Hub and run it with the generate argument to generate a config. 2. It'll make 3 files. Copy them to some DIR and add your matrix server URL etc. 3. Install A75G's Matrix container and make sure you set an extra "data" DIR like "/data/". I mapped it to "/appdata/matrix" 4. Dump the config files there. 5. Run the container and go to eg. 192.168.1.35:8010 and it'll tell you that Matrix is working You'll need to edit the config to eg. allow registration so you can actually register on your own server etc. After that you can install the synapse admin container. Make an admin account (on the previous Matrix instance) following the instructions in the container description and then use the WebUI to login and admin it. I blame Matrix for being pretty vague about the steps of getting synapse installed and the constant name changes they have made. It also could be clearer on A75G's side regarding the container descriptions like "synapse-admin - requires a running matrix server!" and so on. In any case, it's working for me now. There are additional steps to set up a federation but I don't care about that. Quote Link to comment
Ravenwood Posted August 16, 2021 Share Posted August 16, 2021 Hi guys. I'm getting the following error on my initial install of Moodle: Trying to connect to the database server grep: /opt/bitnami/moodle/config.php: No such file or directory Quote Link to comment
nealhead Posted August 18, 2021 Share Posted August 18, 2021 Appreciate the work. I am using the Cryptpad docker and it is working fine. I am trying to utilize some of the newer features but I don't see a way to update to a newer version. Any ideas? Quote Link to comment
Benjamin Picard Posted August 19, 2021 Share Posted August 19, 2021 Hi, Is there a way to edit the SMTP settings for Leantime? I can probably edit those in the docker directly but those changes would get overwrite after an update right? Thank you for your help, Quote Link to comment
ffhelllskjdje Posted August 20, 2021 Share Posted August 20, 2021 Getting an error on firefox sync on fresh install. Switching to PGID 100... Switching to PUID 99... Setting timezone to America/Los_Angeles... Checking prerequisites... Generating configuration... Fixing perms... [2021-08-20 03:35:18 +0000] [1] [INFO] Starting gunicorn 19.6.0 [2021-08-20 03:35:18 +0000] [1] [INFO] Listening at: http://0.0.0.0:5000 (1) [2021-08-20 03:35:18 +0000] [1] [INFO] Using worker: sync [2021-08-20 03:35:18 +0000] [19] [INFO] Booting worker with pid: 19 [2021-08-20 03:35:18 +0000] [19] [ERROR] Exception in worker process Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker worker.init_process() File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process self.load_wsgi() File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi self.wsgi = self.app.wsgi() File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 63, in load return self.load_pasteapp() File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 59, in load_pasteapp return load_pasteapp(self.cfgurl, self.relpath, global_conf=None) File "/usr/local/lib/python2.7/site-packages/gunicorn/app/pasterapp.py", line 69, in load_pasteapp global_conf=global_conf) File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 253, in loadapp return loadobj(APP, uri, name=name, **kw) File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 278, in loadobj return context.create() File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 715, in create return self.object_type.invoke(self) File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 152, in invoke return fix_call(context.object, context.global_conf, **context.local_conf) File "/usr/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call val = callable(*args, **kw) File "/app/syncserver/__init__.py", line 265, in main config = get_configurator(global_config, **settings) File "/app/syncserver/__init__.py", line 254, in get_configurator config = mozsvc.config.get_configurator(global_config, **settings) File "/usr/local/lib/python2.7/site-packages/mozsvc/config.py", line 65, in get_configurator load_into_settings(config_file, settings) File "/usr/local/lib/python2.7/site-packages/mozsvc/config.py", line 43, in load_into_settings for name, value in config.get_map(section).iteritems(): File "/usr/local/lib/python2.7/site-packages/konfig/__init__.py", line 118, in get_map return dict(self.items(section)) File "/usr/local/lib/python2.7/site-packages/backports/configparser/__init__.py", line 878, in items return [(option, value_getter(option)) for option in d.keys()] File "/usr/local/lib/python2.7/site-packages/backports/configparser/__init__.py", line 875, in <lambda> section, option, d[option], d) File "/usr/local/lib/python2.7/site-packages/konfig/__init__.py", line 35, in before_get defaults) File "/usr/local/lib/python2.7/site-packages/backports/configparser/__init__.py", line 445, in before_get self._interpolate_some(parser, option, L, value, section, defaults, 1) File "/usr/local/lib/python2.7/site-packages/backports/configparser/__init__.py", line 508, in _interpolate_some "found: %r" % (rest,)) InterpolationSyntaxError: '$' must be followed by '$' or '{', found: u'$rmUhvLWU9A4EL*vM!s' [2021-08-20 03:35:18 +0000] [19] [INFO] Worker exiting (pid: 19) [2021-08-20 03:35:18 +0000] [1] [INFO] Shutting down: Master [2021-08-20 03:35:18 +0000] [1] [INFO] Reason: Worker failed to boot. Quote Link to comment
A75G Posted August 20, 2021 Author Share Posted August 20, 2021 On 8/16/2021 at 1:33 PM, plantsandbinary said: Ok I figured out what the problem has been. So first of all, I was trying to install the synapse-admin container, thinking that it actually contained Matrix along with it. So naturally I couldn't add the admin user I wanted etc. I initially had some problems with the Matrix container also because it's missing so many things, like the config file etc. So how I installed Matrix was like this: 1. Download the official image from Docker Hub and run it with the generate argument to generate a config. 2. It'll make 3 files. Copy them to some DIR and add your matrix server URL etc. 3. Install A75G's Matrix container and make sure you set an extra "data" DIR like "/data/". I mapped it to "/appdata/matrix" 4. Dump the config files there. 5. Run the container and go to eg. 192.168.1.35:8010 and it'll tell you that Matrix is working You'll need to edit the config to eg. allow registration so you can actually register on your own server etc. After that you can install the synapse admin container. Make an admin account (on the previous Matrix instance) following the instructions in the container description and then use the WebUI to login and admin it. I blame Matrix for being pretty vague about the steps of getting synapse installed and the constant name changes they have made. It also could be clearer on A75G's side regarding the container descriptions like "synapse-admin - requires a running matrix server!" and so on. In any case, it's working for me now. There are additional steps to set up a federation but I don't care about that. You dont need synapse-admin to create admin user i linked to a guide On 8/16/2021 at 4:41 PM, Ravenwood said: Hi guys. I'm getting the following error on my initial install of Moodle: Trying to connect to the database server grep: /opt/bitnami/moodle/config.php: No such file or directory will check and revert back On 8/18/2021 at 8:06 AM, nealhead said: Appreciate the work. I am using the Cryptpad docker and it is working fine. I am trying to utilize some of the newer features but I don't see a way to update to a newer version. Any ideas? No idea but it getting updates on docker hub. 16 hours ago, Benjamin Picard said: Hi, Is there a way to edit the SMTP settings for Leantime? I can probably edit those in the docker directly but those changes would get overwrite after an update right? Thank you for your help, No idea this is all i can get from there docker compose https://github.com/Leantime/docker-leantime 52 minutes ago, ffhelllskjdje said: Getting an error on firefox sync on fresh install. Switching to PGID 100... Switching to PUID 99... Setting timezone to America/Los_Angeles... Checking prerequisites... Generating configuration... Fixing perms... [2021-08-20 03:35:18 +0000] [1] [INFO] Starting gunicorn 19.6.0 [2021-08-20 03:35:18 +0000] [1] [INFO] Listening at: http://0.0.0.0:5000 (1) [2021-08-20 03:35:18 +0000] [1] [INFO] Using worker: sync [2021-08-20 03:35:18 +0000] [19] [INFO] Booting worker with pid: 19 [2021-08-20 03:35:18 +0000] [19] [ERROR] Exception in worker process Traceback (most recent call last): File "/usr/local/lib/python2.7/site-packages/gunicorn/arbiter.py", line 557, in spawn_worker worker.init_process() File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 126, in init_process self.load_wsgi() File "/usr/local/lib/python2.7/site-packages/gunicorn/workers/base.py", line 136, in load_wsgi self.wsgi = self.app.wsgi() File "/usr/local/lib/python2.7/site-packages/gunicorn/app/base.py", line 67, in wsgi self.callable = self.load() File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 63, in load return self.load_pasteapp() File "/usr/local/lib/python2.7/site-packages/gunicorn/app/wsgiapp.py", line 59, in load_pasteapp return load_pasteapp(self.cfgurl, self.relpath, global_conf=None) File "/usr/local/lib/python2.7/site-packages/gunicorn/app/pasterapp.py", line 69, in load_pasteapp global_conf=global_conf) File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 253, in loadapp return loadobj(APP, uri, name=name, **kw) File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 278, in loadobj return context.create() File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 715, in create return self.object_type.invoke(self) File "/usr/local/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 152, in invoke return fix_call(context.object, context.global_conf, **context.local_conf) File "/usr/local/lib/python2.7/site-packages/paste/deploy/util.py", line 55, in fix_call val = callable(*args, **kw) File "/app/syncserver/__init__.py", line 265, in main config = get_configurator(global_config, **settings) File "/app/syncserver/__init__.py", line 254, in get_configurator config = mozsvc.config.get_configurator(global_config, **settings) File "/usr/local/lib/python2.7/site-packages/mozsvc/config.py", line 65, in get_configurator load_into_settings(config_file, settings) File "/usr/local/lib/python2.7/site-packages/mozsvc/config.py", line 43, in load_into_settings for name, value in config.get_map(section).iteritems(): File "/usr/local/lib/python2.7/site-packages/konfig/__init__.py", line 118, in get_map return dict(self.items(section)) File "/usr/local/lib/python2.7/site-packages/backports/configparser/__init__.py", line 878, in items return [(option, value_getter(option)) for option in d.keys()] File "/usr/local/lib/python2.7/site-packages/backports/configparser/__init__.py", line 875, in <lambda> section, option, d[option], d) File "/usr/local/lib/python2.7/site-packages/konfig/__init__.py", line 35, in before_get defaults) File "/usr/local/lib/python2.7/site-packages/backports/configparser/__init__.py", line 445, in before_get self._interpolate_some(parser, option, L, value, section, defaults, 1) File "/usr/local/lib/python2.7/site-packages/backports/configparser/__init__.py", line 508, in _interpolate_some "found: %r" % (rest,)) InterpolationSyntaxError: '$' must be followed by '$' or '{', found: u'$rmUhvLWU9A4EL*vM!s' [2021-08-20 03:35:18 +0000] [19] [INFO] Worker exiting (pid: 19) [2021-08-20 03:35:18 +0000] [1] [INFO] Shutting down: Master [2021-08-20 03:35:18 +0000] [1] [INFO] Reason: Worker failed to boot. I just installed it no issue make sure [IP] is changed to you unraid ip. Quote Link to comment
A75G Posted August 20, 2021 Author Share Posted August 20, 2021 On 8/16/2021 at 4:41 PM, Ravenwood said: Hi guys. I'm getting the following error on my initial install of Moodle: Trying to connect to the database server grep: /opt/bitnami/moodle/config.php: No such file or directory I checked don't know why but when removing the moodle path it work. I fixed few variables they changed for the databases nothing work unless removing the moodle path even though they have it in the docker compose https://github.com/bitnami/bitnami-docker-moodle/blob/master/docker-compose.yml Quote Link to comment
xl3b4n0nx Posted August 21, 2021 Share Posted August 21, 2021 How do I get the Mattermost container running? I tried setting up a database in MariaDB using mysql and I can't get the container to start. Is there a guide to getting it running and connected to a reverse proxy? Quote Link to comment
xl3b4n0nx Posted August 21, 2021 Share Posted August 21, 2021 On 4/30/2020 at 4:35 PM, Heciruam said: So I tried to get your leantime package up and running. But I have no idea why it's not working. I think I set up mariadb correctly since I've done it plenty of times with nextcloud, mattermost and others. I just don't know how to fill out this template. This is how I did it: What am I doing wrong? You said you were able to get mariadb working with mattermost. Could you post an example config of that? I created the DB the same way I did with Nextcloud. I tried to input everything in the same way it is stubbed out in the docker template, but the container won't start. Quote Link to comment
LTM Posted August 21, 2021 Share Posted August 21, 2021 For anyone that is having trouble with the new Vikunja containers, here are a couple of things I have found out: You need both containers. I would start the API container first. This is the container with the meat and potatoes. You can use 3 databases MySQL (mysql), SQLite (sqlite), and PostgreSQL (postgres). Make sure that you can see in the logs of the api container "⇨ http server started on [::]:3456" Now start the frontend container. When you get to the login page, in the main login form, you need to change the URL at the top. Even though it looks correct, it is set to "/api/V1". I had to include the full url so it was "http://xxx.xxx.xxx.xxx:3456/api/v1" before the register button would appear. I used the ip if the host and not the container ip. Registering the first user seems to just be a regular user. I am not sure if there is an administrator role but have not had time to really play with it just yet. I have not yet gotten to fiddle with a config file yet while having the application work, but I did have to mount it using the following container folder "/etc/vikunja". This is in the API container. And finally, the official documentation for this application is poor. I have only gotten to play with it for about 30 mins after spending about an hour and a half just trying to get it to work... 1 2 Quote Link to comment
horphi Posted August 22, 2021 Share Posted August 22, 2021 can somebody connect to other matrix server behind a nginx revers proxy manager? BR Phil Quote Link to comment
PSYCHOPATHiO Posted August 24, 2021 Share Posted August 24, 2021 (edited) On 8/13/2021 at 10:38 PM, horphi said: I can't find any other rooms on other server May my NginxProxy Manager and the homeserver.yaml not completely correct setup? Sorry for the late reply. The initial setup is a bit confusing and sort of headache, even if I wanted to start a new server I will make a mess in the beginning. Anyway, I set up my matrix server on the root domain itself, so my name will appear as "@psychopathio:domain.com" this is after I mastered rebuilding the server 30-40 times at least, here is my Nginx config https://img.sykorp.com/kUYo4/LoSuRoSi86.png you do not need to use port 8448 as this is mainly for communicating with the federation I use port 8008 on http also you need to set up the SRV DNS correctly so here is a link to my DNS https://img.sykorp.com/kUYo4/NaPuJomo19.png it has to point to port 443 for your matrix server to work without adding a port to the end. Here are a couple of links that helped me through the process. https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-dns.md https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/prerequisites.md I hope this helps. Edited August 24, 2021 by PSYCHOPATHiO added some links 1 Quote Link to comment
PSYCHOPATHiO Posted August 25, 2021 Share Posted August 25, 2021 On 8/22/2021 at 11:43 PM, horphi said: can somebody connect to other matrix server behind a nginx revers proxy manager? Yes, I'm connected to 2 servers. you can try connecting to mine sykorp.com my user is @psychopathio:sykorp.com Quote Link to comment
TristanP Posted August 25, 2021 Share Posted August 25, 2021 I have two questions about the vikunja-api container. Thanks to LTM I have the front end and API dockers working and talking to each other. The first is: how does one create an admin account? I can create normal users but not an admin account The second is: There's no config.yml anywhere in the api docker image. If I create a new one where does the docker image expect it to be? Quote Link to comment
Shesakillatwo Posted August 25, 2021 Share Posted August 25, 2021 I have installed the BlueIris Docker available through Community Apps. Have it fully operational but am having a memory consumption / spiking / leak issue described here: Unfortunately that thread seems to get little traffic but I am kinda stuck in trying to figure this out. BlueIris is the only Docker running and this issue does not appear to be present when it is stopped. Any help on fixing or troubleshooting would be greatly appreciated. Sorry, I am kinda a Newbie here! Quote Link to comment
LTM Posted August 25, 2021 Share Posted August 25, 2021 8 hours ago, TristanP said: The first is: how does one create an admin account? I can create normal users but not an admin account I still haven't figured out how to do this. The documentation is crappy but the only admin settings I can find is if you set up a team. Then you can make a team member an admin of the team. I can't find anything about a global admin if that makes sense. Quote The second is: There's no config.yml anywhere in the api docker image. If I create a new one where does the docker image expect it to be? You have to create your own and mount it. What I ended up doing is creating 2 folders on the host: .../vikunja/data .../vikunja/config I mounted the config as so: Host: .../vikunja/config/ Container: /etc/vikunja Config can be found here: https://kolaente.dev/vikunja/api/src/commit/dcddaab7b58ab2e03e0d0f3f0b771a1e6ec0dbce/config.yml.sample Name it "config.yml" and place it in .../vikunja/config on the host. 1 Quote Link to comment
correctomundo Posted August 26, 2021 Share Posted August 26, 2021 11 hours ago, LTM said: You have to create your own and mount it. What I ended up doing is creating 2 folders on the host: .../vikunja/data .../vikunja/config I mounted the config as so: Host: .../vikunja/config/ Container: /etc/vikunja Config can be found here: https://kolaente.dev/vikunja/api/src/commit/dcddaab7b58ab2e03e0d0f3f0b771a1e6ec0dbce/config.yml.sample Name it "config.yml" and place it in .../vikunja/config on the host. Was wondering how to disable account registrations. Documentation is indeed very poor. But this did the trick. Thanks! 1 Quote Link to comment
TristanP Posted August 26, 2021 Share Posted August 26, 2021 (edited) 19 hours ago, LTM said: You have to create your own and mount it. What I ended up doing is creating 2 folders on the host: .../vikunja/data .../vikunja/config I mounted the config as so: Host: .../vikunja/config/ Container: /etc/vikunja Config can be found here: https://kolaente.dev/vikunja/api/src/commit/dcddaab7b58ab2e03e0d0f3f0b771a1e6ec0dbce/config.yml.sample Name it "config.yml" and place it in .../vikunja/config on the host. You're not kidding that the documentation is crappy. But I did as you suggested. Now off to see if I can tweak the api docker. EDIT: Once I did this and restarted the API docker it created /app/vikunja/files/[config|data] directories and created the default config.yml file. Now I have two But which one gets precedence? I wonder if I can unmount /etc/vikunja and it'll use the files and directories it just created. Edited August 26, 2021 by TristanP Update after post Quote Link to comment
LTM Posted August 26, 2021 Share Posted August 26, 2021 3 hours ago, TristanP said: EDIT: Once I did this and restarted the API docker it created /app/vikunja/files/[config|data] directories and created the default config.yml file. Now I have two But which one gets precedence? I wonder if I can unmount /etc/vikunja and it'll use the files and directories it just created. Worth a shot, I guess. You should see something like this in the logs when you first start the container: "2021/08/26 17:22:34 Using config file: /etc/vikunja/config.yml" And the docs for possible file locations: https://vikunja.io/docs/config-options/#config-file-locations Quote Link to comment
Flemming Posted September 3, 2021 Share Posted September 3, 2021 Can anyone help me with pure-ftpd? I ge this when I login from WinSCP: My logs: Quote Link to comment
Flemming Posted September 3, 2021 Share Posted September 3, 2021 Testet ports from pfSense, 2100 works, but I get "Connection failed." for all passive ports 30000-30009. There is nothing blocking in pfsense, so it must be in the docker or in UnRAID? Quote Link to comment
zacc Posted September 14, 2021 Share Posted September 14, 2021 Hello, i have problems with my ngnix and psitransfer. my config in swag for a proxy reverse subfolder redirect me back to my root. location /psitransfer { rewrite ^/psitransfer/?(.*)$ /$1; proxy_set_header X-Forwarded-Proto $scheme; proxy_redirect off; set $upstream_app psitransfer; set $upstream_port 3000; set $upstream_proto http; proxy_pass $upstream_proto://$upstream_app:$upstream_port/psitransfer; } Quote Link to comment
erlipton Posted September 15, 2021 Share Posted September 15, 2021 (edited) Hi there, thank you for your work to add this to Community Applications. Experiencing something that raised my eyebrow. I googled, but I think the force is weak with me. In logs for homer, I have recurring entries from two entities, both of my desktops directly in front of me [hacked chromebox running windows, mac mini]. (edit: to clarify, the service appears to be running as intended, but I am not really comfortable with repetitive persistent logs like this --- if anything it would cause difficulty in isolating logs for other ailments.) Upon a docker-executed restart from the unraid UI: Interesting part is that the .140 windows box wasn't even trying to access the docker when it was spewing this. I did log out of Windows box, the error did not persist. I shut it down completely, upon starting the docker again, I noticed this: Interesting part being... the docker is configured to run on port 80, not port 8080. Appreciate any insight. Edited September 15, 2021 by erlipton clarification Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.