Change Directus 7 API url on the Dashboard in Docker - docker

I am trying to use Directus 7 in Docker and I have encountered the following problem:
I have not been able to change the API URL in the Dashboard (APP), no matter what I assign to the environment variable API_ENDPOINT or API_URL. Whenever I open the dashboard it tries to go to the url http://localhost:7000..../ping, and since the API is not found there, it fails.
Is there any way to change the API URL in the dashboard in Docker ? I am using the images: directus/api:latest and directus/app:latest
You can see the example i am using in: https://github.com/directus/docker/blob/master/examples/single-api/docker-compose.yml
Thank you for your help.

Try to clear the browser-cache or force a reload using shift+f5. had the same prob and it turned out, that the first time a fired up the container I forgot to set the desired endpoint. when reloading the browser did not update the locally cached .js file.

Related

How to enable caching in ArangoDB via Docker or arangojs?

I would like to enable caching in ArangoDB, automatically when my app start.
I'm using docker-compose to start the whole thing but apparently there's no simple parameter to enable caching in ArangoDB official image.
According to the doc, all the files in /docker-entrypoint-initdb.d/ are executed at container start. So I added a js file with that code:
require('#arangodb/aql/cache').properties({mode: 'on'});
It is indeed executed but caching doesn't seem to be enabled (from what I see with arangosh within the container).
My app is a JS app using arangojs, so if I can do it this way, I'd be happy too.
Thanks!
According to the performance and server config docs, you can enable caching in several ways.
Your method of adding require("#arangodb/aql/cache").properties({ mode: "on" }); to a .js file in the /docker-entrypoint-initdb.d/ directory should work, but keep an eye on the logs. You may need to redirect log output with a different driver (journals, syslog, etc.) to see what's going on. Make sure to run the command via arangosh to see if it works.
If that's a bust, you might want to see if there is a way to pass parameters at runtime (such as --query.cache-mode on). Unfortunately, I don't use Docker Compose, so I can't give you direct advice here, but try something like -e QUERY.CACHE-MODE=ON
If there isn't a way to pass params, then you could modify the config file: /etc/arangodb3/arangod.conf.
And don't forget about the REST API methods for system management. You can access AQL configuration (view and alter) in the Web UI by clicking on the Support -> Rest API -> AQL.
One thing to keep in mind - I'm not sure if the caching settings are global or tied to a specific database. View the configuration on multiple databases (including _system) to test the settings.

Add a URL path prefix to artifactory installation (Docker)

I'm running Artifactory CPP CE 7.7.3 and Traefik v2.2 using docker-compose. The service is only available over http://localhost/ui/. Now, what I need is an option which allows to add a URL path-prefix (e. g. http://localhost/artifactroy/ui).
My Setup
I used the described setup process from the Artifactory Docs suggest it.
My docker.compose.yaml is the official extracted from the jfrog-artifactory-cpp-ce-7.7.3-compose.tar.gz: ./templates/docker-compose.yaml.
I'm using a reverse proxy (traefik). For this, I've added the necessary traefik configuration lines to the docker-compose-file. Here is a small extract what I've added:
[...]
labels:
- "traefik.http.routers.artifactory.rule=Host(`localhost`) && PathPrefix(`/ui`)"
- "traefik.http.routers.artifactory.middlewares=artifactory-stripprefix"
- "traefik.http.middlewares.artifactory-stripprefix.stripprefix.prefixes=/"
- "traefik.http.services.artifactory.loadbalancer.server.port=8082"
With this I managed to access artifactory over http://localhost/ui/.
Problem:
I have multiple small services running on my server, each of this service is accusable via http://localhost/<service-name>. This is very convenient and want to make clear that this URL is related to this service on my production server.
Because of this, I want to have an URL like http://localhost/artifactroy/ui/... instead of http://localhost/ui/...
I struggled getting artifactory setup in that way. I already managed to get a redirection from typing e. g. http://localhost/artifactroy/ to http://localhost/ui/ but this is not what I want on my production server.
What I did
Went through the documentation in hope of finding an option which I just can passt to artifactroy to add a prefix (Not successful).
Tried configure traefik two full days, to alter headers to get the repose point to http://localhost/artifactroy/ui/... (Only partially successful, redirection didn’t work afterwards)
Tried finding the configuration which is responsible for configure artifactory in $JFROG_HOME/artifactory/var/etc (Not successful)
Is this even possible? Help is highly appreciated..
This example (even though not traefic example) gives you a direction to implement it. There are certain routes already used within the product. You need to add a context over and above it to ensure all comes via the new context path.
https://jfrog.com/knowledge-base/how-to-remove-artifactory-from-the-context-url-in-artifactory-7/

Issue trying to launch sample project che-ide-server-extension

With Eclipse Che, I've recently been able to deploy the docker container without any issue as provided in the instructions.
I'm at the point where am trying to learn a bit more about extension development for Che, and I'm going through the small introduction on "developing your first plugin" located on the following page:
https://www.eclipse.org/che/docs/che-in-che-quickstart.html
I'm stuck at the point where I can successfully build and deploy the sample project by executing the Traefik Start, Tomcat8-IDE Start, Deploy IDE and Deploy Workspace Agent commands.
But when it comes time to navigate to the newly created 2nd workspace by clicking on the link provided in the IDE to go to the newly created 2nd workplace instance...:
... I end up getting redirected to the following error page:
I suspect that there may be some kind of configuration problem with the sample plugin project, or configuration problem with keycloak, but I'm at the point where I don't really know how to proceed in terms of troubleshooting.
(Update: 2018/07/31)
At request of #kalrsson for more information, below is a screenshot of the che-public client configuration in my Keycloak instance.
(SOLUTION Update: 2018/08/01)
Thanks to #kalrsson for pointing me in the right direction.
At first I tried only adding the needed URL to the "Valid Redirect URIs" list. Doing so allowed me to get past the issue were I was receiving the error "Invalid parameter: redirect_uri". However, this only presented me with a blank page. On this blank page, when I inspect the web browser console, I noticed the following error:
From there, I also tried to add the needed URL to WebOrigins in KeyCloak as seen below.
Doing this finally allowed me to fully load and render the secondary workspace
Can you go to keycloak_ip:5050/auth, login as admin/admin, clients, che-public, and the IP you use to redirect urls and webOrigins?
So, you need to previewURL:port both to redirectURIs and webOrigins

How to configure Neo4j Browser to use a custom REST endpoint?

The server is running a custom REST endpoint configured using the following line
org.neo4j.server.webadmin.data.uri=/db/abc
in neo4j-server.properties. REST is then working fine using /db/abc, but then the browser client (http://$SERVERHOST:7474/browser) stops working and displays the Disconnected from Neo4j message. Packet sniffing indicates it is still trying to connect to db/data. Clearing local web caches doesn't help. Is there a way to point the browser client to use a custom endpoint?
Sources indicate that /db/data is possibly hardcoded into the browser as part of client "Settings" (see line 23). There is supposedly a way to reconfigure these settings using the :config command in the client, but the command bar is only available when the client is already connected to the server.
Is there a way to get this to work, or is it possibly a bug in the browser client?
Current option is to download source code of the browser and change what you need.
https://github.com/neo4j/neo4j/tree/2.3/community/browser

Twitteroauth with localhost

I currently have a website up and running that uses the Twitteroauth classes (abraham's) and the Twitter API. It is all working as it should, however, I want to also run the project on my localhost for debugging/coding purposes so that I am not in danger of messing up my live version.
I am wondering if it is possible to run Twitterouth on localhost. I know that there are ways to manipulate the callback URL of the application on Twitter's site, however I do not want to do that as my live version needs the callback URL.
I hope this makes sense and I hope there is a solution out there.
Thank you.
It is possible to run Twitteroauth in localhost. You should make a copy of your project files from your website and copy it to your localhost.
You might see a file "config.php" where you'll define the callback url.
define('OAUTH_CALLBACK', 'http://localhost/path_to_callback.php file');
It will redirect you to your callback.php file and it works in localhost.
For running Abramham William's twitteraouth locally , you can create another test application on twitter so that it don't disturb the live version . Then instead of using localhost/ in your address bar , you should use the IP address of your localhost , this mistake by me consumed a lot of time .
Example :
127.0.0.1/twittertest/index.php and not localhost/twittertest/index.php in your address bar .
You'll need to give the same oauth callback in your twitter application .

Resources