Adding sample folder for use with the README.md.
This commit is contained in:
		
							parent
							
								
									1b80f27d64
								
							
						
					
					
						commit
						5535fdd164
					
				| 
						 | 
					@ -0,0 +1,62 @@
 | 
				
			||||||
 | 
					# syntax=docker/dockerfile:1.4
 | 
				
			||||||
 | 
					FROM golang:1.20-alpine AS build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					apk --update add --no-cache git bash make alpine-sdk g++
 | 
				
			||||||
 | 
					git clone https://git.iratusmachina.com/iratusmachina/gocustomurls.git gurls
 | 
				
			||||||
 | 
					cd gurls
 | 
				
			||||||
 | 
					make build
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM alpine AS run
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG USERNAME
 | 
				
			||||||
 | 
					ARG UID
 | 
				
			||||||
 | 
					ARG GID
 | 
				
			||||||
 | 
					ARG PORT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					addgroup --gid ${GID} ${USERNAME}
 | 
				
			||||||
 | 
					adduser --uid ${UID} --ingroup ${USERNAME} --gecos "" --disabled-password --home "/home/$USERNAME" $USERNAME
 | 
				
			||||||
 | 
					chmod -R 755 /home/$USERNAME
 | 
				
			||||||
 | 
					chown -R ${UID}:${GID} /home/$USERNAME
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY --from=build /app/gurls/artifacts/gocustomurls /home/$USERNAME/gocustomurls
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					mkdir -p /var/lib/apptemp
 | 
				
			||||||
 | 
					cp /home/$USERNAME/gocustomurls /var/lib/apptemp/gocustomurls
 | 
				
			||||||
 | 
					chown -R ${UID}:${GID} /home/$USERNAME
 | 
				
			||||||
 | 
					chown -R ${UID}:${GID} /var/lib/apptemp
 | 
				
			||||||
 | 
					ls -lah /home/$USERNAME
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV HOME=/home/$USERNAME
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY <<EOF start.sh
 | 
				
			||||||
 | 
					    #!/usr/bin/env sh
 | 
				
			||||||
 | 
					    printenv
 | 
				
			||||||
 | 
					    cd "${HOME}"
 | 
				
			||||||
 | 
					    ls -lah .
 | 
				
			||||||
 | 
					    if [ ! -f "${HOME}/gocustomurls" ]
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
					        cp /var/lib/apptemp/gocustomurls ${HOME}/gocustomurls
 | 
				
			||||||
 | 
					        rm /var/lib/apptemp/gocustomurls
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    ${HOME}/gocustomurls -conf ${HOME}/config.json
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					chown ${UID}:${GID} start.sh
 | 
				
			||||||
 | 
					chmod u+x start.sh
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXPOSE $PORT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USER $USERNAME
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD ["sh", "-c", "./start.sh" ]
 | 
				
			||||||
							
								
								
									
										20
									
								
								README.md
								
								
								
								
							
							
						
						
									
										20
									
								
								README.md
								
								
								
								
							| 
						 | 
					@ -20,11 +20,23 @@ So I used golang for this project.
 | 
				
			||||||
```sh
 | 
					```sh
 | 
				
			||||||
$ ./artifacts/gocustomurls --conf <PATH_TO_CONF_FILE>
 | 
					$ ./artifacts/gocustomurls --conf <PATH_TO_CONF_FILE>
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
A sample config file is located [here](./sample/config.json)
 | 
					A sample config file is located [here](./sample/config.json) and a sample rules file is located [here](./sample/rules.json)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## SystemD
 | 
					## SystemD
 | 
				
			||||||
 | 
					
 | 
				
			||||||
A sample systemd file is located [here](./sample/gocustomurls.service)
 | 
					A sample systemd file is located [here](./sample/plain/gocustomurls.service). You should run this set of commands from [here](./sample/plain/commands.md)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## Docker
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					A sample Dockefile for use with systemd is [here](./sample/withDocker/Dockerfile.1). You should run this set of commands from [here](./sample/withDocker/commands.md).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					If you do not want to use systemd, you can run this instead:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					$ HOME=${PWD} docker build -t appimage/gocustomurls --build-arg UID=$(id -u) --build-arg GID=$(id -g) --build-arg USERNAME=$(whoami) --build-arg PORT=7070 --no-cache --progress=plain .
 | 
				
			||||||
 | 
					$ 
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Testing
 | 
					## Testing
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -52,9 +64,9 @@ jbowen.dev/cereal (download)
 | 
				
			||||||
* [x] ~~Figure how to use logrotate (a linux utility)~~
 | 
					* [x] ~~Figure how to use logrotate (a linux utility)~~
 | 
				
			||||||
* [x] Figure how to do log rotation as part of this app's function
 | 
					* [x] Figure how to do log rotation as part of this app's function
 | 
				
			||||||
* [x] Add tests
 | 
					* [x] Add tests
 | 
				
			||||||
* [ ] Add systemd.service and explanation
 | 
					* [x] Add systemd.service and explanation
 | 
				
			||||||
* [ ] Add Dockerfile and explanation
 | 
					* [ ] Add Dockerfile and explanation
 | 
				
			||||||
* [ ] Figure how to use `goreleaser` [here](https://nfpm.goreleaser.com/) to release deb and rpm packages (so basically split it, goreleaser for github and woodpecker for Woodpecker)
 | 
					 | 
				
			||||||
* [ ] Add mirror to Github
 | 
					* [ ] Add mirror to Github
 | 
				
			||||||
* [ ] Add Github action
 | 
					* [ ] Add Github action
 | 
				
			||||||
 | 
					* [ ] Figure how to use `goreleaser` [here](https://nfpm.goreleaser.com/) to release deb and rpm packages (so basically split it, goreleaser for github and woodpecker for Woodpecker)
 | 
				
			||||||
* [ ] Update README.md
 | 
					* [ ] Update README.md
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,6 +1,6 @@
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    "rulesPath":"HOME/rules.json",
 | 
					    "rulesPath":"/var/lib/$MYUSER/rules.json",
 | 
				
			||||||
    "logPath":"HOME/app.log",
 | 
					    "logPath":"/var/lib/$MYUSER/app.log",
 | 
				
			||||||
    "compress":false,
 | 
					    "compress":false,
 | 
				
			||||||
    "sizeToRotate":"1kB",
 | 
					    "sizeToRotate":"1kB",
 | 
				
			||||||
    "port":"9999"
 | 
					    "port":"9999"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,11 +0,0 @@
 | 
				
			||||||
[Unit]
 | 
					 | 
				
			||||||
Description=A custom url mapper for go packages!
 | 
					 | 
				
			||||||
After=network-online.target
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Service]
 | 
					 | 
				
			||||||
ExecStart=/opt/gocustomurls --conf $HOME/app.conf
 | 
					 | 
				
			||||||
Restart=always
 | 
					 | 
				
			||||||
SyslogIdentifier=gocustomurls
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
[Install]
 | 
					 | 
				
			||||||
WantedBy=multi-user.target
 | 
					 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,37 @@
 | 
				
			||||||
 | 
					# Set of commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Also found [here](https://iratusmachina.com/#production-go-systemd-attempt-four)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					$ cp <BINARY> /usr/local/bin
 | 
				
			||||||
 | 
					$ sudo mkdir -p /var/lib/<your user>
 | 
				
			||||||
 | 
					$ sed -i 's/$MYUSER/<your user>/g' gocustomurls.service
 | 
				
			||||||
 | 
					$ sed -i 's/$MYUSER/<your user>/g' config.json
 | 
				
			||||||
 | 
					$ sudo cp gocustomurls.service /etc/systemd/system/
 | 
				
			||||||
 | 
					$ sudo useradd --system --comment 'Go Custom Urls Service' --no-create-home <your user>
 | 
				
			||||||
 | 
					useradd: failed to reset the lastlog entry of UID 992: No such file or directory
 | 
				
			||||||
 | 
					$ sudo passwd -d <your user>
 | 
				
			||||||
 | 
					passwd: password changed.
 | 
				
			||||||
 | 
					$ getent passwd <your user>
 | 
				
			||||||
 | 
					<your user>:x:992:991:Go Custom Urls Service:/home/<your user>:/bin/bash
 | 
				
			||||||
 | 
					$ sudo cp config.json /var/lib/<your user>
 | 
				
			||||||
 | 
					$ sudo cp rules.json /var/lib/<your user>
 | 
				
			||||||
 | 
					$ sudo ls /var/lib/<your user>/
 | 
				
			||||||
 | 
					config.json  rules.json
 | 
				
			||||||
 | 
					$ sudo chmod -R 770 /var/lib/<your user>
 | 
				
			||||||
 | 
					$ sudo chown -R <your user>:<your user> /var/lib/<your user>
 | 
				
			||||||
 | 
					$ sudo systemctl daemon-reload
 | 
				
			||||||
 | 
					$ sudo systemctl start gocustomurls.service
 | 
				
			||||||
 | 
					$ sudo systemctl status gocustomurls.service
 | 
				
			||||||
 | 
					● gocustomurls.service - GocustomUrls. A custom url mapper for go packages!
 | 
				
			||||||
 | 
					     Loaded: loaded (/etc/systemd/system/gocustomurls.service; disabled; preset: disabled)
 | 
				
			||||||
 | 
					    Drop-In: /usr/lib/systemd/system/service.d
 | 
				
			||||||
 | 
					             └─10-timeout-abort.conf
 | 
				
			||||||
 | 
					     Active: active (running) since Sat 2024-07-20 06:52:09 UTC; 23s ago
 | 
				
			||||||
 | 
					   Main PID: 4020 (gocustomurls)
 | 
				
			||||||
 | 
					      Tasks: 6 (limit: 2319)
 | 
				
			||||||
 | 
					     Memory: 7.1M (peak: 7.5M)
 | 
				
			||||||
 | 
					        CPU: 14ms
 | 
				
			||||||
 | 
					     CGroup: /system.slice/gocustomurls.service
 | 
				
			||||||
 | 
					             └─4020 /usr/local/bin/gocustomurls -conf /var/lib/<your user>/config.json
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,15 @@
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=GocustomUrls. A custom url mapper for go packages!
 | 
				
			||||||
 | 
					After=network-online.target
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					WorkingDirectory=/var/lib/$MYUSER
 | 
				
			||||||
 | 
					Type=simple
 | 
				
			||||||
 | 
					User=$MYUSER
 | 
				
			||||||
 | 
					Group=$MYUSER
 | 
				
			||||||
 | 
					ExecStart=/usr/local/bin/gocustomurls -conf /var/lib/$MYUSER/config.json
 | 
				
			||||||
 | 
					SyslogIdentifier=gocustomurls
 | 
				
			||||||
 | 
					StandardError=journal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,14 @@
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    "mappings": [
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                    "vanity_url":"scale.dev/x/migrate",
 | 
				
			||||||
 | 
					                    "protocol":"git",
 | 
				
			||||||
 | 
					                    "real_url":"https://codeberg.org/Gusted/mCaptcha.git"
 | 
				
			||||||
 | 
					            },
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                    "vanity_url":"localhost:7070/x/touche",
 | 
				
			||||||
 | 
					                    "protocol":"git",
 | 
				
			||||||
 | 
					                    "real_url":"https://github.com/dariubs/GoBooks.git"
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					    ]
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,62 @@
 | 
				
			||||||
 | 
					# syntax=docker/dockerfile:1.4
 | 
				
			||||||
 | 
					FROM golang:1.20-alpine AS build
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WORKDIR /app
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					apk --update add --no-cache git bash make alpine-sdk g++
 | 
				
			||||||
 | 
					git clone https://git.iratusmachina.com/iratusmachina/gocustomurls.git gurls
 | 
				
			||||||
 | 
					cd gurls
 | 
				
			||||||
 | 
					make build
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FROM alpine AS run
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ARG USERNAME
 | 
				
			||||||
 | 
					ARG UID
 | 
				
			||||||
 | 
					ARG GID
 | 
				
			||||||
 | 
					ARG PORT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					addgroup --gid ${GID} ${USERNAME}
 | 
				
			||||||
 | 
					adduser --uid ${UID} --ingroup ${USERNAME} --gecos "" --disabled-password --home "/home/$USERNAME" $USERNAME
 | 
				
			||||||
 | 
					chmod -R 755 /home/$USERNAME
 | 
				
			||||||
 | 
					chown -R ${UID}:${GID} /home/$USERNAME
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY --from=build /app/gurls/artifacts/gocustomurls /home/$USERNAME/gocustomurls
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					mkdir -p /var/lib/apptemp
 | 
				
			||||||
 | 
					cp /home/$USERNAME/gocustomurls /var/lib/apptemp/gocustomurls
 | 
				
			||||||
 | 
					chown -R ${UID}:${GID} /home/$USERNAME
 | 
				
			||||||
 | 
					chown -R ${UID}:${GID} /var/lib/apptemp
 | 
				
			||||||
 | 
					ls -lah /home/$USERNAME
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ENV HOME=/home/$USERNAME
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					COPY <<EOF start.sh
 | 
				
			||||||
 | 
					    #!/usr/bin/env sh
 | 
				
			||||||
 | 
					    printenv
 | 
				
			||||||
 | 
					    cd "${HOME}"
 | 
				
			||||||
 | 
					    ls -lah .
 | 
				
			||||||
 | 
					    if [ ! -f "${HOME}/gocustomurls" ]
 | 
				
			||||||
 | 
					    then
 | 
				
			||||||
 | 
					        cp /var/lib/apptemp/gocustomurls ${HOME}/gocustomurls
 | 
				
			||||||
 | 
					        rm /var/lib/apptemp/gocustomurls
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    ${HOME}/gocustomurls -conf ${HOME}/config.json
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					RUN <<EOF
 | 
				
			||||||
 | 
					chown ${UID}:${GID} start.sh
 | 
				
			||||||
 | 
					chmod u+x start.sh
 | 
				
			||||||
 | 
					EOF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					EXPOSE $PORT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					USER $USERNAME
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CMD ["sh", "-c", "./start.sh" ]
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,44 @@
 | 
				
			||||||
 | 
					# Set of commands
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Also found [here](https://iratusmachina.com/#production-go-systemd-attempt-five)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```sh
 | 
				
			||||||
 | 
					$ sudo useradd --system --comment 'Go Custom Urls Service' --no-create-home <your user>
 | 
				
			||||||
 | 
					useradd: failed to reset the lastlog entry of UID 992: No such file or directory
 | 
				
			||||||
 | 
					$ sudo passwd -d <your user>
 | 
				
			||||||
 | 
					passwd: password changed.
 | 
				
			||||||
 | 
					$ getent passwd <your user>
 | 
				
			||||||
 | 
					<your user>:x:992:991:Go Custom Urls Service:/home/<your user>:/bin/bash
 | 
				
			||||||
 | 
					$ sudo mkdir -p /var/lib/<your user>/appfiles/otherfiles
 | 
				
			||||||
 | 
					$ sudo cp docker-compose.yml /var/lib/<your user>/appfiles/
 | 
				
			||||||
 | 
					$ sudo cp Dockerfile.1 /var/lib/<your user>/appfiles/Dockerfile
 | 
				
			||||||
 | 
					$ sed -i 's/$MYUSER/<your user>/g' gocustomurls.service
 | 
				
			||||||
 | 
					$ sed -i 's/$MYUSER/<your user>/g' config.json
 | 
				
			||||||
 | 
					$ sudo cp config.json /var/lib/<your user>/appfiles/othefiles
 | 
				
			||||||
 | 
					$ sudo cp rules.json /var/lib/<your user>/appfiles/otherfiles
 | 
				
			||||||
 | 
					$ sudo chmod -R 770 /var/lib/<your user>
 | 
				
			||||||
 | 
					$ sudo chown -R <your user>:<your user> /var/lib/<your user>
 | 
				
			||||||
 | 
					$ sudo cp gocustomurls.service /etc/systemd/system/
 | 
				
			||||||
 | 
					$ sudo systemctl daemon-reload
 | 
				
			||||||
 | 
					$ sudo systemctl start gocustomurls.service
 | 
				
			||||||
 | 
					● gocustomurls.service - GocustomUrls. A custom url mapper for go packages!
 | 
				
			||||||
 | 
					     Loaded: loaded (/etc/systemd/system/gocustomurls.service; disabled; preset: disabled)
 | 
				
			||||||
 | 
					    Drop-In: /usr/lib/systemd/system/service.d
 | 
				
			||||||
 | 
					             └─10-timeout-abort.conf
 | 
				
			||||||
 | 
					     Active: active (exited) since Sat 2024-08-03 18:08:46 UTC; 50s ago
 | 
				
			||||||
 | 
					    Process: 24117 ExecStart=/bin/bash -c HOME=/var/lib/<your user> USER_ID=$(id -u) GROUP_ID=$(id -g) USERNAME=$(whoami) docker compose --file /var/lib/<your user>/docker-compose.yml up --detach --force-recreate (code=exited, status=0/SUCCESS)
 | 
				
			||||||
 | 
					   Main PID: 24117 (code=exited, status=0/SUCCESS)
 | 
				
			||||||
 | 
					        CPU: 125ms
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Aug 03 18:08:45 fedoramachine gocustomurls[24132]: #17 DONE 0.0s
 | 
				
			||||||
 | 
					Aug 03 18:08:45 fedoramachine gocustomurls[24132]: #18 [app] resolving provenance for metadata file
 | 
				
			||||||
 | 
					Aug 03 18:08:45 fedoramachine gocustomurls[24132]: #18 DONE 0.0s
 | 
				
			||||||
 | 
					Aug 03 18:08:45 fedoramachine gocustomurls[24132]:  Network <your user>_default  Creating
 | 
				
			||||||
 | 
					Aug 03 18:08:45 fedoramachine gocustomurls[24132]:  Network <your user>_default  Created
 | 
				
			||||||
 | 
					Aug 03 18:08:45 fedoramachine gocustomurls[24132]:  Container gocustomurls_app  Creating
 | 
				
			||||||
 | 
					Aug 03 18:08:45 fedoramachine gocustomurls[24132]:  Container gocustomurls_app  Created
 | 
				
			||||||
 | 
					Aug 03 18:08:45 fedoramachine gocustomurls[24132]:  Container gocustomurls_app  Starting
 | 
				
			||||||
 | 
					Aug 03 18:08:46 fedoramachine gocustomurls[24132]:  Container gocustomurls_app  Started
 | 
				
			||||||
 | 
					Aug 03 18:08:46 fedoramachine systemd[1]: Finished gocustomurls.service - GocustomUrls. A custom url mapper for go packages!.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					```
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,21 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					services:
 | 
				
			||||||
 | 
					  app:
 | 
				
			||||||
 | 
					    build:
 | 
				
			||||||
 | 
					      context: .
 | 
				
			||||||
 | 
					      dockerfile: Dockerfile
 | 
				
			||||||
 | 
					      args:
 | 
				
			||||||
 | 
					        - USERNAME=${USERNAME}
 | 
				
			||||||
 | 
					        - UID=${USER_ID}
 | 
				
			||||||
 | 
					        - GID=${GROUP_ID}
 | 
				
			||||||
 | 
					        - PORT=${PORT:-7070}
 | 
				
			||||||
 | 
					      labels:
 | 
				
			||||||
 | 
					        - "maintainer=iratusmachina"
 | 
				
			||||||
 | 
					    image: appimage/gocustomurls
 | 
				
			||||||
 | 
					    logging:
 | 
				
			||||||
 | 
					      driver: journald
 | 
				
			||||||
 | 
					    container_name: gocustomurls_app
 | 
				
			||||||
 | 
					    ports:
 | 
				
			||||||
 | 
					      - "7070:7070"
 | 
				
			||||||
 | 
					    volumes:
 | 
				
			||||||
 | 
					      - ${PWD}/otherfiles:/home/${USERNAME}
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,18 @@
 | 
				
			||||||
 | 
					[Unit]
 | 
				
			||||||
 | 
					Description=GocustomUrls. A custom url mapper for go packages!
 | 
				
			||||||
 | 
					After=docker.service
 | 
				
			||||||
 | 
					PartOf=docker.service
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Service]
 | 
				
			||||||
 | 
					Type=oneshot
 | 
				
			||||||
 | 
					RemainAfterExit=yes
 | 
				
			||||||
 | 
					WorkingDirectory=/var/lib/$MYUSER
 | 
				
			||||||
 | 
					User=$MYUSER
 | 
				
			||||||
 | 
					Group=$MYUSER
 | 
				
			||||||
 | 
					ExecStart=/bin/bash -c "HOME=/var/lib/$MYUSER USER_ID=$(id -u) GROUP_ID=$(id -g) USERNAME=$(whoami) docker compose --file /var/lib/$MYUSER/docker-compose.yml up --detach --force-recreate"
 | 
				
			||||||
 | 
					ExecStop=/bin/bash -c "HOME=/var/lib/$MYUSER USER_ID=$(id -u) GROUP_ID=$(id -g) USERNAME=$(whoami) docker compose --file /var/lib/$MYUSER/docker-compose.yml down -v"
 | 
				
			||||||
 | 
					SyslogIdentifier=gocustomurls
 | 
				
			||||||
 | 
					StandardError=journal
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					[Install]
 | 
				
			||||||
 | 
					WantedBy=multi-user.target
 | 
				
			||||||
		Loading…
	
		Reference in New Issue